基于MCS-51单片机的交通灯设计设计一个基于单片机的交通灯信号控制器
已知东、西、南、北四个方向各有红黄绿色三个灯,在东西方向有两个数码管,在南北方向也有两个数码管
要求交通灯按照表1进行显示和定时切换,并要求在数码管上分别倒计时显示东西、南北方向各状态的剩余时间
表1交通灯的状态切换表警告:不同单片机的动态扫描显示不一样,即下面黄底红字是让数码管显示函数,如果单片机不一样,只需改显示函数即可,其他的不要动
2:程序设计(仅供参考的C语言源程序)#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#defineucharunsignedchar#defineuintunsignedint#defineulangunsignedlangstaticunsignedcharcount;codeunsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管0-9ucharsmg[8];//定义缓冲区uintwe,ns,h,j;//ns代表南北,we代表东西intaaa();//东西红灯亮,南北绿灯,黄灯亮intbbb();//南北红灯亮,东西绿灯,黄灯亮inteee();//第一次完成显示,继续第二次初始化voiddelay(unsignedintcnt){while(--cnt);}voiddisplay(){//取每一位的数字smg[0]=tab[we/10];smg[1]=tab[we%10];smg[2]=0x00;smg[3]=0x00;smg[4]=0x00;smg[5]=0x00;smg[6]=tab[ns/10];smg[7]=tab[ns%10];}voidmain(){uchari;TMOD|=0x01;//定时器010m