单片机应用技术实验报告 (1).doc_第1页
单片机应用技术实验报告 (1).doc_第2页
单片机应用技术实验报告 (1).doc_第3页
单片机应用技术实验报告 (1).doc_第4页
单片机应用技术实验报告 (1).doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

9实验一 流水灯控制一、实验目的1学会使用KeilC51软件及proteus7.8仿真工具进行程序设计; 2掌握利用C语言完成80C51单片机的开发设计,完成流水LED灯控制;3熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。二、实验设备PC微机;Windows 操作系统;KeilC51软件及proteus7.8集成环境。三、实验步骤1Proteus下电路设计程序要求设计一个单片机控制流水灯程序,采用延时程序完成8个LED灯点亮效果(可自行设计效果,程序仅供参考)。首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。2C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为*.uv2,并在出现的对话框中选择AT89C52单片机。然后在工程下新建文本文件,保存为*.c的源文件,将*.c文件添加到工程中,并配置好输出。根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.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;i7;i+)P0=_crol_(P0,1); /P0的值向左循环移动Delay(20000);for(i=0;i7;i+)P0=_cror_(P0,1); /P0的值向右循环移动Delay(20000);五、实验总结XXXXXXXXXXX实验二 按键控制一、实验目的1学会使用KeilC51软件及proteus7.8仿真工具进行程序设计; 2掌握利用C语言完成80C51单片机的开发设计,完成按键控制;3熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。二、实验设备PC微机;Windows 操作系统;KeilC51软件及proteus7.8集成环境。三、实验步骤1Proteus下电路设计程序要求开关S1和S2分别控制LED1和LED2。(可自行设计效果,程序仅供参考);首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。2C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为*.uv2,并在出现的对话框中选择AT89C52单片机。然后在工程下新建文本文件,保存为*.c的源文件,将*.c文件添加到工程中,并配置好输出。根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。如编译未通过,则再次根据编译错误提示对源程序进行修改。3在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。4程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。四、程序设计/*名称:开关控制LED说明:开关S1和S2分别控制LED1和LED2。*/#includesbit S1=P10;sbit S2=P11;sbit LED1=P00;sbit LED2=P01;/主程序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集成环境。三、实验步骤1Proteus下电路设计程序要求开关S1、S2和S3分别控制电动机正转、反转和停止。(可自行设计效果,程序仅供参考);首先在Proteus环境下,建立以AT89C52单片机为核心的LED控制电路,电路由时钟电路、复位电路及LED控制电路组成。2C语言源程序的建立在KeilC51中设计C程序,首先新建工程名并保存,工程扩展名为*.uv2,并在出现的对话框中选择AT89C52单片机。然后在工程下新建文本文件,保存为*.c的源文件,将*.c文件添加到工程中,并配置好输出。根据电路图要求设计c语言源程序并进行编译,如程序设计无误,则生成了扩展名为*.hex的文件,以便将该文件导入到Proteus中的AT89C52单片机中。如编译未通过,则再次根据编译错误提示对源程序进行修改。3在Proteus中导入*.hex文件运行Proteus软件,在电路图中双击AT89C52,导入上面编译完成的*.hex文件。4程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入Proteus中进行验证。四、程序设计/*名称:开关控制直流电机说明:S1、S2和S3分别控制电动机正转、反转和停止。*/五、实验总结XXXXXXXXXXX实验四 步进电机控制一、实验目的1学会使用KeilC51软件及单片机开发板进行程序设计; 2掌握利用C语言完成80C51单片机的开发设计,完成步进电机控制;3熟练掌握在计算机上编辑、编译、连接及运行C程序的方法。二、实验设备PC微机;Windows 操作系统;KeilC51软件及单片机开发板。三、实验步骤1步进电机控制电路程序要求控制步进电机工作,原理图见上。2硬件连接方法3程序的执行首先根据提供的程序进行验证,然后按预期在KeilC中自行修改程序,并导入单片机开发板中进行验证。四、程序设计/*名称:步进电机控制*/*- 内容:本程序用于测试4相步进电机常规驱动 使用1相励磁 -*/#include sbit A1=P10; /定义步进电机连接端口sbit B1=P11;sbit C1=P12;sbit D1=P13;#define Coil_A1 A1=1;B1=0;C1=0;D1=0;/A相通电,其他相断电#define Coil_B1 A1=0;B1=1;C1=0;D1=0;/B相通电,其他相断电#define Coil_C1 A1=0;B1=0;C1=1;D1=0;/C相通电,其他相断电#define Coil_D1 A1=0;B1=0;C1=0;D1=1;/D相通电,其他相断电#define Coil_OFF A1=0;B1=0;C1=0;D1=0;/全部断电unsigned char Speed;/*- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编,大致延时 长度如下 T=tx2+5 uS -*/void DelayUs2x(unsigned char t) while(-t);/*- mS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是定义无符号字符变量,其值的范围是 0255 这里使用晶振12M,精确延时请使用汇编-*/void DelayMs(unsigned char t) while(t-) /大致延时1mS DelayUs2x(245); DelayUs2x(245); /*- 主函数-*/main() /unsigned int i=64*16; /转2周停止 Speed=5; /调整速度 while

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论