1 / 92
文档名称:

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

格式:doc   大小:798KB   页数:92页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:593951664 2019/3/22 文件大小:798 KB

下载得到文件列表

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

文档介绍

文档介绍:实验1跑马灯实验一、实验目的初步学会ProteusISIS和uVision2单片机集成开发环境的使用;初步掌握采用汇编语言与C语言开发单片机系统的程序结构;掌握80C51单片机通用I/O口的使用;掌握单片机内部定时/计数器的使用及编程方法以及中断处理程序的编写方法。二、实验设备及器件硬件:PC机,HNIST-1型单片机实验系统软件:ProteusISIS单片机仿真环境,uVision2单片机集成开发环境三、实验内容编写一段程序,采用P1口作为控制端口,使与P1口相接的四个发光二极管(D1、D2、D3、D4)按照一定的方式点亮。如点亮方式为:先点亮D1,延时一段时间,再顺序点亮D2……D4,然后又是D4……D1,同时只能有一个灯亮;然后每隔一段时间一次使相邻两个灯亮,三个灯亮,四个灯亮,最后闪烁三次,接着循环变化。基于ProteusISIS仿真环境完成上述功能的仿真。基于uVision2单片机集成开发环境与硬件平台完成程序的脱机运行。四、,~,发光二极管按照一定次序发光,相邻发光二极管的发光时间间隔可以通过定时器控制,还可以通过软件延时实现。五、软件流程图与参考程序主程序流程图如下:开始初始化(定时器、中断、标志位设置)Flag=1?流水灯操作结束YN参考程序#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,0x08,0x00};voiddelay(uintz)//延时函数{ uintx; uchary; for(x=z;x>0;x--) for(y=200;y>0;y--);}voidinit()//条件初始化函数{ flag=0; speed=10;//控制跑马灯流水速度 TMOD=0x01;//中断方式 TH0=(65535-50000)/256; TL0=(65536-50000)%256;//初值 EA=1;//打开总中断 ET0=1;//打开外中断0 TR0=1;}voidmain(){ init();//调用初始化函数 while(1) { if(flag) { delay(2000);//调用延时函数 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;num++)//两个,三个,四个跑马灯依次闪烁{ P1=table2[num]; delay(2000); } 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; } }六、实验思考题请用汇编指令完成本实验内容,深刻理解汇编语言程序设计结构。在本实验中,I/O口作为输出口使用,如果把I/O口的某些口线作为输入口使用时,如何获得输入引脚状态?请举例说明。在画软件流图时,各种不同形式方框意义是否相同?请举例示之。请简要叙述中断服务程序功能并画出其流程图。在采用I/O口作为输出口时要考虑哪些因素?如果负载变化,如何设计单片机与负载之间的接口电路?实验2交通灯实验一、实验目的进一步掌握ProteusISIS和uVision2单片机集成开发环境的使用;进一步掌握单片机内部定时/计数器的使用及编程方法以及