




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一流水灯控制、实验目的1学会使用 KeilC51 软件及 proteus7.8 仿真工具进行程序设计;2掌握利用 C 语言完成 80C51 单片机的开发设计,完成流水 LED 灯控制; 3熟练掌握在计算机上编辑、编译、连接及运行 C 程序的方法。、实验设备PC 微机;Windows 操作系统;KeilC51 软件及 proteus7.8 集成环境。三、实验步骤1 Proteus 下电路设计程序要求设计一个单片机控制流水灯程序,采用延时程序完成 8 个 LED 灯点亮效果(可 自行设计效果,程序仅供参考)。首先在 Proteus 环境下,建立以 AT89C52 单片机为核心的 LED 控制电
2、路,电路由时钟电路、复位电路及 LED 控制电路组成。2C 语言源程序的建立*Proteus 中的 AT89C52 单片机中。在 KeilC51 中设计 C 程序,首先新建工程名并保存,工程扩展名为 *.uv2 ,并在出现的对 话框中选择 AT89C52 单片机。然后在工程下新建文本文件,保存为 *.c 的源文件,将 *.c 文件 添加到工程中, 并配置好输出。 根据电路图要求设计 c 语言源程序并进行编译, 如程序设计无 误,则生成了扩展名为 *.hex 的文件,以便将该文件导入到 如编译未通过,则再次根据编译错误提示对源程序进行修改。3在 Proteus 中导入 *.hex 文件运行 Pr
3、oteus 软件,在电路图中双击 AT89C52 ,导入上面编译完成的 *.hex 文件。4程序的执行首先根据提供的程序进行验证,然后按预期在 KeilC 中自行修改程序,并导入 Proteus 中 进行验证。四、程序设计源程序(在 KeilC 中进行编译)/* 名称: 8 只 LED 左右来回点亮说明:程序利用循环移位函数.crol_和_cror_形成来回滚动的效果*/#include#include#defineucharunsignedchar#defineuintunsignedint/延时voidDelay(unsignedintt)while(-t);voidmain()/ 主程序
4、uchari; P0=0x01; while(1)for(i=0;i7;i+)的值向左循环移动的值向右循环移动P0=_crol_(P0,1);/P0Delay(20000);for(i=0;i7;i+)P0=_cror_(P0,1);/P0Delay(20000);五、实验总结XXXXXXXXXXX实验二按键控制完成按键控制; C 程序的方法。PC 微机;Windows 操作系统;KeilC51 软件及 proteus7.8 集成环境。、实验步骤1 Proteus 下电路设计程序要求开关 S1 和 S2 分别控制 LED1 和 LED2 。 先在 Proteus 环境下,建立以 AT89C52
5、 单片机为核心的 位电路及 LED 控制电路组成。2C 语言源程序的建立在 KeilC51 中设计 C 程序,首先新建工程名并保存,、实验目的1 学会使用 KeilC51 软件及 proteus7.8 仿真工具进行程序设计; 2掌握利用 C 语言完成 80C51 单片机的开发设计, 3熟练掌握在计算机上编辑、编译、连接及运行、实验设备可自行设计效果, 程序仅供参考) ;首LED 控制电路,电路由时钟电路、复工程扩展名为 *.uv2 ,并在出现的对 话框中选择 AT89C52 单片机。然后在工程下新建文本文件,保存为 *.c 的源文件,将 *.c 文件 添加到工程中, 并配置好输出。 根据电路图
6、要求设计 c 语言源程序并进行编译, 如程序设计无 误,则生成了扩展名为 *.hex 的文件,以便将该文件导入到 Proteus 中的 AT89C52 单片机中。 如编译未通过,则再次根据编译错误提示对源程序进行修改。3在 Proteus 中导入 *.hex 文件运行 Proteus 软件,在电路图中双击 AT89C52 ,导入上面编译完成的 *.hex 文件。 4程序的执行首先根据提供的程序进行验证,然后按预期在 KeilC 中自行修改程序,并导入 Proteus 中 进行验证。四、程序设计/*名称:开关控制 LED说明:开关S1和S2分别控制LED1和LED2 。*/#includesbi
7、tS仁 PUO; sbitS2=Pir; sbitLED仁 PiO;sbitLED2=PO 人1;/主程序voidmain()while(1)if(!S1)/ 如果检测到低电平,说明按键按下LED1=O;elseLED1=1;if(!S2)/ 如果检测到低电平,说明按键按下LED2=0;elseLED2=1;五、实验总结XXXXXXXXXXX实验三直流电机控制、实验目的1 学会使用 KeilC51 软件及 proteus7.8 仿真工具进行程序设计; 2掌握利用 C 语言完成 8OC51 单片机的开发设计,完成直流电机控制; 3熟练掌握在计算机上编辑、编译、连接及运行C 程序的方法。、实验设备
8、PC 微机;Windows 操作系统;KeilC51 软件及 proteus7.8 集成环境。、实验步骤1 Proteus 下电路设计可自行设计效果,程序LED 控制电路,电路由程序要求开关S1、S2和S3分别控制电动机正转、反转和停止。 仅供参考);首先在 Proteus 环境下,建立以 AT89C52 单片机为核心的 时钟电路、复位电路及 LED 控制电路组成。*.uv2 ,并在出现的对 *.c 的源文件,将 *.c 文件 如程序设计无 Proteus 中的 AT89C52 单片机中。2C 语言源程序的建立 在 KeilC51 中设计 C 程序,首先新建工程名并保存,工程扩展名为 话框中选
9、择 AT89C52 单片机。然后在工程下新建文本文件,保存为 添加到工程中, 并配置好输出。 根据电路图要求设计 c 语言源程序并进行编译, 误,则生成了扩展名为 *.hex 的文件,以便将该文件导入到 如编译未通过,则再次根据编译错误提示对源程序进行修改。3在 Proteus 中导入 *.hex 文件运行 Proteus 软件,在电路图中双击 AT89C52 ,导入上面编译完成的 *.hex 文件。 4程序的执行首先根据提供的程序进行验证,然后按预期在 KeilC 中自行修改程序,并导入 Proteus 中 进行验证。四、程序设计/* 名称:开关控制直流电机说明:S1、S2和S3分别控制电动
10、机正转、反转和停止。*/五、实验总结XXXXXXXXXXX实验四步进电机控制、实验目的1 学会使用 KeilC51 软件及单片机开发板进行程序设计;2掌握利用 C 语言完成 80C51 单片机的开发设计,完成步进电机控制; 3熟练掌握在计算机上编辑、编译、连接及运行C 程序的方法。、实验设备PC 微机;Windows 操作系统;KeilC51 软件及单片机开发板。三、实验步骤1 步进电机控制电路程序要求控制步进电机工作,原理图见上。2硬件连接方法3程序的执行 首先根据提供的程序进行验证, 然后按预期在 KeilC 中自行修改程序, 并导入单片机开发 板中进行验证。四、程序设计/* 名称:步进电
11、机控制*/*内容:本程序用于测试 4 相步进电机常规驱动使用 1 相励磁*/#includesbitA仁PUO;/定义步进电机连接端口sbitB1= Pir;sbitC1= P1A2;相通电, 相通电, 相通电, 相通电, 全部断电其他相断电 其他相断电 其他相断电 其他相断电sbitD仁 P1A3;#defineCoil_A1A1=1;B1=O;C1=O;D1=O;/A#defineCoil_B1A1=O;B1=1;C1=O;D1=O;/B#defineCoil_C1A1=O;B1=O;C1=1;D1=O;/C#defineCoil_D1A1=O;B1=O;C1=O;D1=1;/D#defi
12、neCoil_OFFA1=O;B1=O;C1=O;D1=O;/unsignedcharSpeed;/*uS延时函数,含有输入参数unsignedchart,无返回值un sig nedchar是定义无符号字符变量,其值的范围是O255 这里使用晶振 12M ,精确延时请使用汇编 ,大致延时 长度如下 T=tx2+5uS*/voidDelayUs2x(unsignedchart)while(-t);/*mS延时函数,含有输入参数unsignedchart,无返回值unsignedchar 是定义无符号字符变量,其值的范围是 0255这里使用晶振 12M ,精确延时请使用汇编 */voidDelayMs(unsignedchart)while(t-)/大致延时 1mSDelayUs2x(245);DelayUs2x(245);/*主函数*/main()/unsignedinti=64*16;/ 转 2 周停止Sp e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论