资源描述:
《控制交通灯的程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、控制交通灯的程序设计#include unsigned char code dis_7[21]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1, 0x86,0x8e,0xbf,0x89,0x8c,0x00,0xff};//共阳数码管 段码 unsigned char data disbuf[6]={0x00,0x00,0x00,0x00,0x00,0x00};//显示缓冲区:时分秒使用 unsigned
2、char data count_timedx[]={2,10,5,10,25}; //东西方向倒计时时间 unsigned char data count_timenb[]={2,25,10,5,10}; //南北方向倒计时时间 unsigned char data Hour=14,Minite=06,Second=0,Halfsec=0; //定义时钟位 unsigned char xdata *ledaddr=0x2000; //锁存器选通地址 unsigned char data Ms=0,Lightcode=0,
3、Light_step,Led_step,Light_num; unsigned int data Fault_dx=0,Fault_nb=0,Fault_total=0,Countdx=0,Countnb=0; sbit p10=P1^0; //第0位数码管位控制端 sbit p11=P1^1; //第1位数码管位控制端 sbit p12=P1^2; //第2位数码管位控制端 sbit p13=P1^3; //第3位数码管位控制端 sbit p14=P1^4; //第4位数码管位控制端 sbit p15=P1^5;
4、//第5位数码管位控制端 sbit p16=P1^6; //发光二极管选通 sbit p17=P1^7; //按键选通 sbit p33=P3^3; //k1键 用于切换四种功能 /*****************************************************************************/ /****************************1毫秒延时函数*******************************/ void delay1ms(int t) { un
5、signed int i,j; for(i=0;i6、; unsigned char test=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; else test=(test<<1)+1; }
7、 return Yiwei; } else if(p17==0){} else {tim=0;} } /*****************************************************************************/ /************************六位LED数码管显示***********************************/ void displed(unsigned int hour_shi,unsigned int hour
8、_ge,unsigned int min_shi,unsigned int min_ge,unsigned int sec_shi,unsigned int sec_ge) { *ledaddr=dis_7[hour_shi]; //时的十位显示 p10=0; delay1m