实验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单片机集成开发环境与硬件平台完成程序的脱机运行
四、实验原理图图3
1跑马灯实验电路原理图电路原理图如上图3
1所示,AT89S52的P1
3控制4个发光二极管,发光二极管按照一定次序发光,相邻发光二极管的发光时间间隔可以通过定时器控制,开始初始化(定时器、中断、标志位设置)Flag=1
流水灯操作结束YN还可以通过软件延时实现
五、软件流程图与参考程序主程序流程图如下:参考程序#include#include#defineucharunsignedchar#defineuintunsignedintucharaa,num,speed,flag;ucharcodetable[]={0x0e,0x0d,0x0b,0x07};ucharcodetable1[]={0x0a,0x05,0x09,0x06};ucharcodetable2[]={0x0c,0x09,0x