交通信號(hào)燈C語(yǔ)言源程序_第1頁(yè)
交通信號(hào)燈C語(yǔ)言源程序_第2頁(yè)
交通信號(hào)燈C語(yǔ)言源程序_第3頁(yè)
交通信號(hào)燈C語(yǔ)言源程序_第4頁(yè)
交通信號(hào)燈C語(yǔ)言源程序_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

交通信號(hào)燈C語(yǔ)言源程序#include"reg51.h"#include"absacc.h"sbitSN_LED_RED=P1^3;sbitSN_LED_GREEN=P1^5;sbitSN_LED_YELLOW=P1^4;sbitEW_LED_RED=P1^0;sbitEW_LED_GREEN=P1^2;sbitEW_LED_YELLOW=P1^1;unsignedcharcodedisptab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};unsignedcharcodebittab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};unsignedcharnum=0;//數(shù)碼管序號(hào)unsignedcharled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};charset_value[4]={60,4,40,4}; //設(shè)置數(shù)碼管在顯示值unsignedcharsign[4]={1,0,0,0}; { delay_ms(600); if(!P3^2) { delay_ms(500); if(P3^2) { if(key==1) { set_value[0]=set_value[0]+10; if(set_value[0]>99) { set_value[0]=set_value[0]%10; } disp_ew=set_value[0]; } if(key==2) { set_value[1]++; if(set_value[1]>9) { set_value[1]=0; } disp_ew=set_value[1]; } if(key==3) { set_value[2]=set_value[2]+10; if(set_value[2]>99) { set_value[2]=set_value[2]%10; } disp_sn=set_value[2]; } if(key==4) { set_value[3]++; if(set_value[3]>9) { set_value[3]=0; } disp_sn=set_value[3]; } } while(!P3^2) { if(key==1) { set_value[0]=set_value[0]+10; if(set_value[0]>99) { set_value[0]=set_value[0]%10; } disp_ew=set_value[0]; } if(key==2) { set_value[1]++; if(set_value[1]>9) { set_value[1]=0; } disp_ew=set_value[1]; } if(key==3) { set_value[2]=set_value[2]+10; if(set_value[2]>99) { set_value[2]=set_value[2]%10; } disp_sn=set_value[2]; } if(key==4) { set_value[3]++; if(set_value[3]>9) { set_value[3]=0; } disp_sn=set_value[3]; } delay_ms(1200); } } else { while(!P3^2); if(key==1) { set_value[0]++; if(set_value[0]>99) { set_value[0]=0; } disp_ew=set_value[0]; } if(key==2) { set_value[1]++; if(set_value[1]>9) { set_value[1]=0; } disp_ew=set_value[1]; } if(key==3) { set_value[2]++; if(set_value[2]>99) { set_value[2]=0; } disp_sn=set_value[2]; } if(key==4) { set_value[3]++; if(set_value[3]>9) { set_value[3]=0; } disp_sn=set_value[3]; } }}voidsub_process(){ delay_ms(600); if(!P3^3) { delay_ms(500); if(P3^3) { while(!P3^3); if(key==1) { set_value[0]=set_value[0]-10; if(set_value[0]<0) { set_value[0]=set_value[0]+100; } disp_ew=set_value[0]; } if(key==2) { set_value[1]--; if(set_value[1]<0) { set_value[1]=9; } disp_ew=set_value[1]; } if(key==3) { set_value[2]=set_value[2]-10; if(set_value[2]<0) { set_value[2]=set_value[2]+100; } disp_sn=set_value[2]; } if(key==4) { set_value[3]--; if(set_value[3]<0) { set_value[3]=9; } disp_sn=set_value[3]; } } while(!P3^3) { if(key==1) { set_value[0]=set_value[0]-10; if(set_value[0]<0) { set_value[0]=set_value[0]+100; } disp_ew=set_value[0]; } if(key==2) { set_value[1]--; if(set_value[1]<0) { set_value[1]=9; } disp_ew=set_value[1]; } if(key==3) { set_value[2]=set_value[2]-10; if(set_value[2]<0) { set_value[2]=set_value[2]+100; } disp_sn=set_value[2]; } if(key==4) { set_value[3]--; if(set_value[3]<0) { set_value[3]=9; } disp_sn=set_value[3]; } delay_ms(1200); } } else { while(!P3^3); if(key==1) { set_value[0]--; if(set_value[0]<0) { set_value[0]=99; } disp_ew=set_value[0]; } if(key==2) { set_value[1]--; if(set_value[1]<0) { set_value[1]=9; } disp_ew=set_value[1]; } if(key==3) { set_value[2]--; if(set_value[2]<0) { set_value[2]=99; } disp_sn=set_value[2]; } if(key==4) { set_value[3]--; if(set_value[3]<0) { set_value[3]=9; } disp_sn=set_value[3]; } }}voidset_process(){ while(!P3^0); ET1=0; TR1=0; key=key+1; falsh_sign=1; if(key>5) { key=1; } if(key==1) { disp_ew=set_value[0]; P1=0xfb; direction_sign=1; } if(key==2) { disp_ew=set_value[1]; P1=0xfd; direction_sign=1; } if(key==3) { disp_sn=set_value[2]; P1=0xdf; direction_sign=2; } if(key==4) { disp_sn=set_value[3]; P1=0xef; direction_sign=2; } if(key==5) { disp_sn=set_value[0]+set_value[1]; disp_ew=set_value[0]; P1=0xf3; falsh_sign=0; ET1=1; TR1=1; } }voidscan_key(){ while(P3^0&&P3^2&&P3^3); delay_ms(15); if(!P3^0) { set_process(); } if(!P3^2) { add_process(); } if(!P3^3) { sub_process(); } else return;}voiddisp_t0(void)interrupt1{ TR0=0; num++; num=(num%4); P2=0xff; P0=0xff; P2=bittab[num]; switch(num) { case0: P0=disptab[disp_sn%10]; break; case1: P0=disptab[disp_sn/10]; break; case2: P0=disptab[disp_ew%10]; break; case3: P0=disptab[disp_ew/10]; break; default: ; } TH0=0xD8;TL0=0xF0; TR0=1; }voiddisp_count_t1(void)interrupt3{ TH1=0x3C; TL1=0xB0; secnum++; if(secnum==20) { disp_sn--; disp_ew--; if(disp_ew==0&&sign[0]==1) { disp_ew=set_value[1]; EW_LED_GREEN=1; EW_LED_YELLOW=0; sign[1]=1; sign[0]=0; } if(disp_ew==0&&sign[1]==1) { disp_ew=set_value[2]+set_value[3]; disp_sn=set_value[2]; SN_LED_RED=1; EW_LED_YELLOW=1; EW_LED_RED=0; SN_LED_GREEN=0; sign[2]=1; sign[1]=0; } if(disp_sn==0&&sign[2]==1) { disp_sn=set_value[3]; SN_LED_GREEN=1; SN_LED_YELLOW=0; sign[3]

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論