《基于51单片机数码管显示十字路口红绿灯.pdf》由会员分享,可在线阅读,更多相关《基于51单片机数码管显示十字路口红绿灯.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.基于 51 单片机数码管显示十字路口红绿灯#include unsigned char count,d1,d2,c1,c2;unsigned char s=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;signed int time=10,time1=13,g=3,y=13;void delay(unsigned char i);/*子函数声明*/void sm();/*I/O 端口声明*/sbit P2_0=P20;/东西绿 sbit P2_1=P21;/东西红 sbit P2_2=P22;/东西黄 sbit P2_
2、3=P23;/南北绿 sbit P2_4=P24;/南北红 sbit P2_5=P25;/南北黄 sbit button=P26;sbit button1=P27;sbit button2=P30;sbit button3=P31;sbit button4=P32;sbit button5=P33;.sbit button6=P34;sbit button7=P35;sbit button8=P36;/*数 码 显 示*/void sm()d1=time/10;d2=time%10;/东西数码管 P1=0 x00;P0=sd1;delay(20);P1=0 x01;P0=sd2;delay(2
3、0);c1=time1/10;/南北数码管 c2=time1%10;P1=0 x02;P0=sc1;delay(20);.P1=0 x03;P0=sc2;delay(20);void main()/主函数 TMOD=0 x01;TH0=0 x3c;TL0=0 xb0;EA=1;ET0=1;TR0=1;while(1)sm();void int1()interrupt 1 count+;if(count=20).count=0;ts+;th+;time-;time1-;/*判断程序*/if(ts=0&th=0)/初始状态时间与亮灯颜色 time1=13;time=10;P2=0 xee;if(ts=11)/东西 10 秒转 3 秒 P2=0Xeb;.time=3;if(ts=15)/东西 3 秒转 13 秒 P2=0 xf5;time=13;if(ts=29)/东西 13 秒转 10 秒 ts=0;if(th=14)/南北 13 秒转 10 秒 P2=0 xf3;time1=10;if(th=25)/南北 10 秒转 3 秒 .P2=0 xdd;time1=3;if(th=29)/南北 3 秒转 10 秒 th=0;void delay(unsigned char i)/延时函数 unsigned char j,k;for(k=0;ki;k+)for(j=0;j10;j+);.