单片机实验流水灯报告

单片机实验流水灯报告

ID:10927991

大小:456.50 KB

页数:7页

时间:2018-07-09

单片机实验流水灯报告_第1页
单片机实验流水灯报告_第2页
单片机实验流水灯报告_第3页
单片机实验流水灯报告_第4页
单片机实验流水灯报告_第5页
资源描述:

《单片机实验流水灯报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、精品资料实验七LED流水灯程序姓名XXXX学号106032010128学院光电学院班级电子信息工程四班实验目的1、掌握单片机IO工作原理;2、掌握单片机IO驱动工作方式实验环境PC机一台和HC6800单片机实验箱一台及KEIL程序设计调试软件、仿真软件等。内容与步骤内容:驱动LED闪烁,闪烁节奏和方式可自定义。原理分析:本实验采用P0口来进行输出来控制LED等的亮与暗(通过高低电平来控制);采用左移的指令来控制“流水”状态。采用延时函数功能进行延时,实现“流水”的控制。采用中断进行同时亮同时暗的控制。步骤:1、打开

2、KEIL,新建工程:Project/NewProject,输入工程名128,并保存;2、选项选择器件:Atmel的AT89C52;3、新建程序文本,并另存为该文件为.C格式:(1)“File/New”,(2)File/SaveAs/键入欲使用的文件名及后缀名,即“文件名.C”。并“保存”;4、添加该文件该工程:回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,单击“AddFiletoGroup‘SourceGroup1’”选择刚才新建的.C文件;5、在KEIL的文件

3、中各自输入相应的程序代码,并编译,调试。(1)写完代码后单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或者使用快捷键F7),编译成功后(0个errors),(每次修改程序后都要重新编译下,才能生效)。(2)再单击“Debug”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),点击RUN进行运行,或者按F11进行单步运行;6、观察运行结果:在KEIL的view/memorywindow窗口中输入相应地址查看运行结果是否正确,查看变量

4、i和P0的变化情况;7、反复编译和调试程序,直到无错误为止(程序能实现相应的功能);精品资料1、使用ISIS软件进行仿真或单片机实验箱或是单片机开发板来进行程序功能的验证,即能实现“流水”的功能。过程分析本实验主要是采用延时程序来控制“流水”的功能,同时采用中断进行亮与暗闪烁的效果,使用C52的P0口进行对LED的控制。过程的主要分析如下:#include#includeunsignedinti=0;//定义变量i;unsignedchardatax=0xfe;//定义初值;

5、voiddelay()//延时函数;{inta,j;for(a=0;a<1000;a++){for(j=0;j<100;j++);}}//主函数;voidmain(){P0=x;delay();for(;i<=8;i++){P0=_crol_(x,i);//左移,实现流水功能;delay();}TH0=(65536-50000)/256;//赋初值;TL0=(65536-50000)%256;EA=1;//开CPU中断;ET0=1;//开T0中断;TR0=1;//开始计数;}voidtimer0()interrup

6、t1//中断函数;{intk=0;for(;k<=3;k++){P0=0;delay();P0=0xff;精品资料delay();}main();//返回主函数;}在KEIL上运行如下:本实验功能的验证是采用仿真来进行:验证电路图及功能效果如下:精品资料精品资料所以实验程序的设计功能可以实现。对于在进行实验的设计时,可能存在的错误,主要是C语言的一些使用规则的错误和对中断控制等代码的错误。等发生错误时,就应从代码的开始部分进行检查和分析,对于错误的地方进行修改,直到程序无错误为止。对于验证其功能时,应画对仿真电路图

7、,正确运用仿真软件等。结果总结通过本次对流水灯程序的设计,初步了解了单片机I/O口的基本原理和驱动的工作方式等,认识了HC6800单片机实验箱的基本应用。本次实验既采用延时程序进行控制,又采用了中断功能进行控制,效果很明显,且再次熟悉了有关中断方面的知识等。思考题:采用中断进行“流水”的控制程序代码如下:#include#includeunsignedinti;unsignedchardatax=0xfe;voidmain(){TH0=(65536-50000)/256;TL

8、0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1){P0=x;}}精品资料voidtime0()interrupt1{i++;if(i==20){i=0;P0=_crol_(x,1);}TH0=(65536-50000)/256;TL0=(65536-50000)%256;}附录源程序代码:#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。