Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 其他文档 > 基于51单片机交通灯程序完整版

基于51单片机交通灯程序完整版

收藏

本作品内容为基于51单片机交通灯程序完整版,格式为 doc ,大小 43008 KB ,页数为 11页

基于51单片机交通灯程序完整版


('.#include#include#defineucharunsignedchar#defineuintunsignedintbitFlag_SN_Yellow;//SN黄灯标志位bitFlag_EW_Yellow;//EW黄灯标志位ucharTime_EW;//东西方向倒计时单元ucharTime_SN;//南北方向倒计时单元ucharEW=15,SN=10,EWL=19,SNL=19;//程序初始化赋值,正常模式ucharEW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量ucharFlag_Moden=1;//模式变量1正常模式2禁止南北通东西3禁止东西通南北4禁止东西南北5夜间模式ucharFlag_key=0;ucharcodetable[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段选码sbitHC164_Data=P0^0;sbitHC164_Clk=P0^1;sbitEW_green=P0^2;sbitEW_yellow=P0^3;sbitEW_red=P0^4;sbitSN_red=P0^5;sbitSN_green=P0^7;sbitSN_yellow=P0^6;sbitSN_RXD_red=P2^7;sbitSN_RXD_green=P2^6;sbitEW_RXD_red=P2^5;sbitEW_RXD_green=P2^4;sbitFMQ=P1^0;sbitkey1=P3^3;sbitkey2=P3^4;sbitkey3=P3^5;..sbitWEI1=P2^3;//东西数码管第一位sbitWEI2=P2^2;//东西数码管第二位sbitWEI3=P2^1;//南北数码管第一位sbitWEI4=P2^0;//南北数码管第二位//ucharew=40;sn=35;//函数delay(ucharz)//功能能延时voidDelay(ucharz){uchara,b;for(a=z;a>0;a--)for(b=200;b>0;b--);}voidHC_164_Set_byte(ucharduan){uchari;for(i=0;i<8;i++){HC164_Data=duan&0x80;HC164_Clk=0;HC164_Clk=1;duan=duan<<1;}}voiddisplay_smg(ucharwei,ucharnum){switch(wei){case1:WEI1=0;WEI2=1;WEI3=1;WEI4=1;HC_164_Set_byte(table[num]);break;case2:WEI1=1;WEI2=0;WEI3=1;WEI4=1;HC_164_Set_byte(table[num]);break;case3:WEI1=1;WEI2=1;WEI3=0;WEI4=1;HC_164_Set_byte(table[num]);break;case4:WEI1=1;WEI2=1;WEI3=1;WEI4=0;HC_164_Set_byte(table[num]);break;..default:break;}}voidDisplay(void){ucharh,l;h=Time_EW/10;l=Time_EW;display_smg(1,h);Delay(8);display_smg(2,l);Delay(8);h=Time_SN/10;l=Time_SN;display_smg(3,h);Delay(8);display_smg(4,l);Delay(8);}voidKey(){if(key1==0){Delay(10);if(key1==0){while(!key1);Flag_key++;if(Flag_key==1){Flag_Moden=2;}if(Flag_key==2){Flag_Moden=3;}if(Flag_key==3){Flag_Moden=4;}if(Flag_key==4){Flag_Moden=5;FMQ=1;..TR0=1;}if(Flag_key==5){Flag_EW_Yellow=0;//SN关黄灯信号位Flag_SN_Yellow=0;//SN关黄灯信号位FMQ=1;Flag_Moden=1;TR0=1;//启动定时Flag_key=0;}}}if(key2==0){while(!key2);Flag_Moden=2;}if(key3==0){while(!key3);Flag_Moden=3;}}voidtimer0(void)interrupt1using1{staticucharcount;TH0=(65536-50000)/256;TL0=(65536-50000)%6;count++;if(count==10){if(Flag_SN_Yellow==1)//测试南北黄灯标志位{SN_yellow=~SN_yellow;}if(Flag_EW_Yellow==1)//测试东西黄灯标志位{EW_yellow=~EW_yellow;}}if(count==20)..{if(Flag_Moden==1){Time_EW--;Time_SN--;}if(Flag_SN_Yellow==1)//测试南北黄灯标志位{SN_yellow=~SN_yellow;}if(Flag_EW_Yellow==1)//测试东西黄灯标志位{EW_yellow=~EW_yellow;}count=0;}}//模式1voidZc_moshi(){//S0状态EW_RXD_red=0;//EW人行道禁止EW_RXD_green=1;//EW人行道禁止SN_RXD_red=1;//EW人行道通行SN_RXD_green=0;//SN人行道通行Flag_EW_Yellow=0;//EW关黄灯显示信号Flag_SN_Yellow=0;//SN关黄灯显示信号Time_EW=EW;//EW=45;SN=40;Time_SN=SN;SN_green=0;//SN通行,EW红灯SN_red=1;EW_red=0;EW_green=1;while(Time_EW>5){..if(key1==0key2==0key3==0){//Flag_Moden=1;TR0=0;//启动定时break;}Display();}SN_yellow=0;//SN黄灯亮开始闪烁5秒SN_green=1;//灭//S1状态Time_SN=5;while(Time_EW<=5){if(key1==0key2==0key3==0){//Flag_Moden=1;TR0=0;//启动定时break;}Flag_SN_Yellow=1;//SN开黄灯信号位Display();}//S2状态Flag_SN_Yellow=0;//SN关黄灯显示信号SN_yellow=1;EW_RXD_red=1;//EW人行道通行SN_RXD_green=1;//SN人行道禁止EW_RXD_green=0;//EW人行道通行SN_RXD_red=0;//SN人行道禁止Time_EW=SN;//EW=45;SN=40;Time_SN=EW;..SN_green=1;//南北绿灯禁止东西通行SN_red=0;//亮EW_red=1;EW_green=0;//亮while(Time_SN>5){if(key1==0key2==0key3==0){//Flag_Moden=1;TR0=0;//启动定时break;}Display();}//S3状态EW_green=1;EW_yellow=0;Time_EW=5;while(Time_SN<=5){if(key1==0key2==0key3==0){TR0=0;//启动定时break;}Flag_EW_Yellow=1;//SN开黄灯信号位Display();}Flag_EW_Yellow=0;EW_yellow=1;}////模式2禁止南北通东西蜂鸣器响voidJsn(){EW_green=0;..EW_yellow=1;EW_red=1;SN_red=0;SN_green=1;SN_yellow=1;SN_RXD_red=0;SN_RXD_green=1;EW_RXD_red=1;EW_RXD_green=0;FMQ=~FMQ;Delay(10);WEI1=1;WEI2=1;WEI3=1;WEI4=1;}////模式3禁止东西通南北蜂鸣器响voidJew(){EW_green=1;EW_yellow=1;EW_red=0;SN_red=1;SN_green=0;SN_yellow=1;SN_RXD_red=1;SN_RXD_green=0;EW_RXD_red=0;EW_RXD_green=1;FMQ=~FMQ;Delay(10);WEI1=1;WEI2=1;WEI3=1;WEI4=1;}//模式4禁止东西南北蜂鸣器响voidJEwSn(){EW_green=1;EW_yellow=1;EW_red=0;SN_red=0;SN_green=1;SN_yellow=1;SN_RXD_red=0;SN_RXD_green=1;..EW_RXD_red=0;EW_RXD_green=1;FMQ=~FMQ;Delay(10);WEI1=1;WEI2=1;WEI3=1;WEI4=1;}//模式5夜间模式,东西南北黄灯闪烁voidYejian(){EW_green=1;//EW_yellow=1;EW_red=1;SN_red=1;SN_green=1;//SN_yellow=1;SN_RXD_red=1;SN_RXD_green=1;EW_RXD_red=1;EW_RXD_green=1;Flag_EW_Yellow=1;//SN开黄灯信号位Flag_SN_Yellow=1;//SN开黄灯信号位}voidmain(){P1=0xff;P2=0xff;P3=0xff;P0=0xff;EW_green=1;EW_yellow=1;EW_red=1;SN_red=1;SN_green=1;SN_yellow=1;SN_RXD_red=1;SN_RXD_green=1;EW_RXD_red=1;EW_RXD_green=1;..WEI1=1;WEI2=1;WEI3=1;WEI4=1;IT0=1;//INT0负跳变触发TMOD=0x01;//定时器工作于方式1TH0=(65536-50000)/256;//定时器赋初值TL0=(65536-50000)%6;EA=1;//CPU开中断总允许ET0=1;//开定时中断//EX0=1;//开外部INTO中断TR0=1;//启动定时while(1){switch(Flag_Moden){case1:Zc_moshi();break;case2:Jsn();break;case3:Jew();break;case4:JEwSn();break;case5:Yejian();break;default:break;}Key();}}...',)


  • 编号:1700742253
  • 分类:其他文档
  • 软件: wps,office word
  • 大小:11页
  • 格式:docx
  • 风格:商务
  • PPT页数:43008 KB
  • 标签:

广告位推荐

相关其他文档更多>