C51代码 交通灯 Proteus原理图.doc

C51代码 交通灯 Proteus原理图.doc

ID:57686757

大小:156.00 KB

页数:15页

时间:2020-09-01

C51代码 交通灯 Proteus原理图.doc_第1页
C51代码 交通灯 Proteus原理图.doc_第2页
C51代码 交通灯 Proteus原理图.doc_第3页
C51代码 交通灯 Proteus原理图.doc_第4页
C51代码 交通灯 Proteus原理图.doc_第5页
资源描述:

《C51代码 交通灯 Proteus原理图.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、吉首大学单片机交通灯设计原理图局部放大程序代码#include#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={//共阴极数码管码表0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0xC9,0xFF,0x40};//设置码,测试码,不计时码voiddelay(uintx);//延时函数voiddisplay(uchar,uchar,uchar,uchar);//数码管显示函数voidm

2、keys();//键盘函数voidtraffic();//交通灯函数ucharnum,num1,num2,//1南北2东西shi1,ge1,shi2,ge2,value1,value2,//南北绿灯时间黄灯时间value3,value4,//东西绿灯时间黄灯时间count1,count2,flag1,flag2;//南北标记东西标记voidmain(){TMOD=0x01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;ET0=1;TR0=1;/*初状态*/value1=15;//南北黄绿灯默认值value2=5;value3=10;//东

3、西黄绿灯默认值value4=5;num1=value1;//南北数码管先绿灯时间num2=value2+value1;//东西红灯时间shi1=num1/10;ge1=num1%10;shi2=num2/10;ge2=num2%10;P1=0x41;//初始状态:东西红灯南北绿灯2015while(1){if(num==20)//定时器1s{num=0;num1--;num2--;traffic();shi1=num1/10;ge1=num1%10;shi2=num2/10;ge2=num2%10;}mkeys();display(shi1,ge1,shi2,ge2);}}voidtraf

4、fic()//红绿灯主控制程序{if(num1==0){count1++;if(count1==1){P1=0x42;//东西红灯南北黄灯55num1=value2;}if(count1==2){num1=value3+value4;//东西绿灯南北红灯1015P1=0x14;}if(count1==3){P1=0x41;//东西黄灯南北红灯55num1=value4;count1=0;}}if(num2==0){count2++;if(count2==1){//P1=0x14;//东西绿灯南北红灯num2=value3;}if(count2==2){P1=0x24;//东西黄灯南北红灯n

5、um2=value4;}if(count2==3){num2=value1+value2;//东西红灯南北绿灯num1=value1;count2=0;}}}voiddisplay(ucharshi1,ucharge1,ucharshi2,ucharge2)//数码管显示子函数{uchartemp;temp=P2;P2=0xfe;P0=table[shi1];delay(5);P2=0xfd;P0=table[ge1];delay(5);P2=0xfb;P0=table[shi2];delay(5);P2=0xf7;P0=table[ge2];delay(5);}voiddelay(uin

6、tx)//延时子函数{uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voidmkeys()//4*4矩阵键盘功能子函数{uchartemp,key;P3=0xfe;//第一行线temp=P3;temp=temp&0xf0;if(temp!=0xf0){delay(10);temp=P3;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case0xee:key=0;break;case0xde:key=1;break;case0xbe:key=2;break;case0x7e:key=3;brea

7、k;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}if(key==0){//按键1:暂停TR0=~TR0;//定时器取反flag1=~flag1;//南北能够设置标志0有效flag2=~flag2;//东西能够设置标志}if(key==1&&flag1==0){//按键2:设置时间按钮TR0=0;P1=0x44;//禁止东南西北车辆全为红灯可以设置shi1=ge1=shi2=ge2

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

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

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