单片机整套实验及程序(交通灯_跑马灯等).doc

单片机整套实验及程序(交通灯_跑马灯等).doc

ID:48537320

大小:941.67 KB

页数:92页

时间:2020-01-27

单片机整套实验及程序(交通灯_跑马灯等).doc_第1页
单片机整套实验及程序(交通灯_跑马灯等).doc_第2页
单片机整套实验及程序(交通灯_跑马灯等).doc_第3页
单片机整套实验及程序(交通灯_跑马灯等).doc_第4页
单片机整套实验及程序(交通灯_跑马灯等).doc_第5页
资源描述:

《单片机整套实验及程序(交通灯_跑马灯等).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验1跑马灯实验一、实验目的l初步学会ProteusISIS和uVision2单片机集成开发环境的使用;l初步掌握采用汇编语言与C语言开发单片机系统的程序结构;l掌握80C51单片机通用I/O口的使用;l掌握单片机内部定时/计数器的使用及编程方法以及中断处理程序的编写方法。二、实验设备及器件l硬件:PC机,HNIST-1型单片机实验系统l软件:ProteusISIS单片机仿真环境,uVision2单片机集成开发环境三、实验内容l编写一段程序,采用P1口作为控制端口,使与P1口相接的四个发光二极管(D1、D2、D3、D4)按照一定的方式点亮。如点亮方式为:先点

2、亮D1,延时一段时间,再顺序点亮D2……D4,然后又是D4……D1,同时只能有一个灯亮;然后每隔一段时间一次使相邻两个灯亮,三个灯亮,四个灯亮,最后闪烁三次,接着循环变化。l基于ProteusISIS仿真环境完成上述功能的仿真。l基于uVision2单片机集成开发环境与硬件平台完成程序的脱机运行。四、实验原理图图3.1跑马灯实验电路原理图91电路原理图如上图3.1所示,AT89S52的P1.0~P1.3控制4个发光二极管,发光二极管按照一定次序发光,相邻发光二极管的发光时间间隔可以通过定时器控制,还可以通过软件延时实现。五、软件流程图与参考程序l主程序流程图

3、如下:开始初始化(定时器、中断、标志位设置)Flag=1?流水灯操作结束YNl参考程序#include#include#defineucharunsignedchar#defineuintunsignedintucharaa,num,speed,flag;ucharcodetable[]={0x0e,0x0d,0x0b,0x07};ucharcodetable1[]={0x0a,0x05,0x09,0x06};ucharcodetable2[]={0x0c,0x09,0x03,0x08,0x01,0x0e,0x0c,0

4、x08,0x00};voiddelay(uintz)//延时函数{uintx;uchary;for(x=z;x>0;x--)for(y=200;y>0;y--);}voidinit()//条件初始化函数{flag=0;speed=10;//控制跑马灯流水速度TMOD=0x01;//中断方式91TH0=(65535-50000)/256;TL0=(65536-50000)%256;//初值EA=1;//打开总中断ET0=1;//打开外中断0TR0=1;}voidmain(){init();//调用初始化函数while(1){if(flag){delay(200

5、0);//调用延时函数for(num=0;num<4;num++)//从左至右间隔一个依次闪烁{P1=table[num];delay(2000);}for(num=3;num>0;num--)//从左至右间隔一个依次闪烁{P1=table[num];delay(2000);}for(num=0;num<4;num++)//从左至右间隔两个依次闪烁{P1=table1[num];delay(2000);}for(num=3;num>0;num--)//从左至右间隔两个依次闪烁{P1=table1[num];delay(2000);}for(num=0;num

6、<6;num++)//两个,三个,四个跑马灯依次闪烁{P1=table2[num];delay(2000);91}for(num=0;num<5;num++)//闪烁5次{P1=0xff;//全暗delay(2000);P1=0X00;//全亮delay(2000);}speed=speed-3;//变速if(speed==4){speed=10;}}}}voidtimer0()interrupt1//中断函数{TH0=(65535-50000)/256;TL0=(65536-50000)%256;aa++;if(aa==speed){aa=0;flag=1

7、;}}六、实验思考题l请用汇编指令完成本实验内容,深刻理解汇编语言程序设计结构。l在本实验中,I/O口作为输出口使用,如果把I/O口的某些口线作为输入口使用时,如何获得输入引脚状态?请举例说明。l在画软件流图时,各种不同形式方框意义是否相同?请举例示之。l请简要叙述中断服务程序功能并画出其流程图。l在采用I/O口作为输出口时要考虑哪些因素?如果负载变化,如何设计单片机与负载之间的接口电路?91实验2交通灯实验一、实验目的l进一步掌握ProteusISIS和uVision2单片机集成开发环境的使用;l进一步掌握单片机内部定时/计数器的使用及编程方法以及中断处理

8、程序的编写方法l掌握单片机的I/O口编程使用。二、实

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

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

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