资源描述:
《基于51单片机控制交通灯的程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、#includeunsignedcharcodedis_7[21]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0x89,0x8c,0x00,0xff};//共阳数码管段码unsignedchardatadisbuf[6]={0x00,0x00,0x00,0x00,0x00,0x00};//显示缓冲区:时分秒使用unsignedchardatacount_timedx[]={2,10,5,10,25};//东西方
2、向倒计时时间unsignedchardatacount_timenb[]={2,25,10,5,10};//南北方向倒计时时间unsignedchardataHour=14,Minite=06,Second=0,Halfsec=0;//定义时钟位unsignedcharxdata*ledaddr=0x2000;//锁存器选通地址unsignedchardataMs=0,Lightcode=0,Light_step,Led_step,Light_num;unsignedintdataFault_dx=0,Fault_nb=0,Fault_total=0,Co
3、untdx=0,Countnb=0;sbitp10=P1^0;//第0位数码管位控制端sbitp11=P1^1;//第1位数码管位控制端sbitp12=P1^2;//第2位数码管位控制端sbitp13=P1^3;//第3位数码管位控制端sbitp14=P1^4;//第4位数码管位控制端sbitp15=P1^5;//第5位数码管位控制端sbitp16=P1^6;//发光二极管选通sbitp17=P1^7;//按键选通sbitp33=P3^3;//k1键用于切换四种功能/*********************************************
4、********************************//****************************1毫秒延时函数*******************************/voiddelay1ms(intt){unsignedinti,j;for(i=0;i5、***************************************/unsignedchargetkey(void){unsignedcharYiwei;unsignedchartest=0x00,tim;*ledaddr=test;if(p17==0&&tim==0)//判断是否有按键按下{p17=1;tim=1;test=0xfe;delay1ms(5);for(Yiwei=0;Yiwei<8;Yiwei++)//处理按键{*ledaddr=test;if(p17==0)break;elsetest=(test<<1)+1;}returnY
6、iwei;}elseif(p17==0){}else{tim=0;}}/*****************************************************************************//************************六位LED数码管显示***********************************/voiddispled(unsignedinthour_shi,unsignedinthour_ge,unsignedintmin_shi,unsignedintmin_ge,unsigned
7、intsec_shi,unsignedintsec_ge){*ledaddr=dis_7[hour_shi];//时的十位显示p10=0;delay1ms(1);p10=1;*ledaddr=dis_7[hour_ge];//时的个位显示p11=0;delay1ms(1);p11=1;*ledaddr=dis_7[min_shi];//分的十位显示p12=0;delay1ms(1);p12=1;*ledaddr=dis_7[min_ge];//分的个位显示p13=0;delay1ms(1);p13=1;*ledaddr=dis_7[sec_shi];//秒
8、的十位显示p14=0;delay1ms(1);p14=1;*led