单片机应用技术实验报告1

单片机应用技术实验报告1
单片机应用技术实验报告1

实验一流水灯控制

一、实验目的

1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;

2.掌握利用C语言完成80C51单片机的开发设计,完成流水LED灯控制;

3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备

PC微机;

Windows 操作系统;

KeilC51软件及proteus7.8集成环境。

三、实验步骤

1.Proteus下电路设计

LED

2.

在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。然后在工程下新建文本文件,保存为*.c的源文件,将*.c文件添加到工程中,并配置好输出。根据电路图要求设计c语言源程序并进行编译,如程序设计

DOC格式.

无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件

运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行

首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus 中进行验证。

四、程序设计

源程序(在KeilC中进行编译)

/* 名称:8只LED左右来回点亮

说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/

#include

#include

#define uchar unsigned char

#define uint unsigned int

//延时

void Delay(unsigned int t)

{

while(--t);

}

void main()//主程序

{

uchar i;

P0=0x01;

while(1)

{

for(i=0;i<7;i++)

{

P0=_crol_(P0,1); //P0的值向左循环移动

Delay(20000);

}

for(i=0;i<7;i++)

{

P0=_cror_(P0,1); //P0的值向右循环移动

Delay(20000);

}

}

}

五、实验总结

XXXXXXXXXXX

实验二按键控制

一、实验目的

1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;

2.掌握利用C语言完成80C51单片机的开发设计,完成按键控制;

3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备

PC微机;

Windows 操作系统;

KeilC51软件及proteus7.8集成环境。

三、实验步骤

1.Proteus下电路设计

DOC格式.

程序要求开关S1和S2分别控制LED1和LED2。(可自行设计效果,程序仅供参考);首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。

2.C语言源程序的建立

在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。然后在工程下新建文本文件,保存为*.c的源文件,将*.c文件添加到工程中,并配置好输出。根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件

运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行

首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus 中进行验证。

四、程序设计

/* 名称:开关控制LED

说明:开关S1和S2分别控制LED1和LED2。

*/

#include

sbit S1=P1^0;

sbit S2=P1^1;

sbit LED1=P0^0;

sbit LED2=P0^1;

//主程序

void main()

{

while(1)

{

if(!S1) //如果检测到低电平,说明按键按下

LED1=0;

else

LED1=1;

if(!S2) //如果检测到低电平,说明按键按下

LED2=0;

else

LED2=1;

}

}

五、实验总结

XXXXXXXXXXX

实验三直流电机控制

一、实验目的

1.学会使用KeilC51软件及proteus7.8仿真工具进行程序设计;

2.掌握利用C语言完成80C51单片机的开发设计,完成直流电机控制;

3.熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。

二、实验设备

PC微机;

Windows 操作系统;

KeilC51软件及proteus7.8集成环境。

三、实验步骤

1.Proteus下电路设计

DOC格式.

程序要求开关S1、S2和S3分别控制电动机正转、反转和停止。(可自行设计效果,程序仅供参考);首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。

2.C语言源程序的建立

在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为**.uv2,并在出现的对话框中选择AT89C52单片机。然后在工程下新建文本文件,保存为*.c的源文件,将*.c文件添加到工程中,并配置好输出。根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。如编译未通过,则再次根据编译错误提示对源程序进行修改。

3.在Proteus中导入*.hex文件

运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。

4.程序的执行

首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus 中进行验证。

四、程序设计

/* 名称:开关控制直流电机

说明:S1、S2和S3分别控制电动机正转、反转和停止。

*/

DOC格式.

相关主题
相关文档
最新文档