精選單片機(jī)8255交通燈程序_第1頁
精選單片機(jī)8255交通燈程序_第2頁
精選單片機(jī)8255交通燈程序_第3頁
精選單片機(jī)8255交通燈程序_第4頁
精選單片機(jī)8255交通燈程序_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)8255交通燈程序交通燈程序/* 十字路口交通燈控制 C 程序*/#include #defineucharunsigned char#defineuintunsigned int/*定義控制位*/sbit Time_Show_LED2=P25; /Time_Show_LED2(直行時(shí)間顯示)控制位sbit Time_Show_LED1=P24; /Time_Show_LED1(直行時(shí)間顯示)控制位sbit EW_LED2=P23; /EW_LED2控制位sbit EW_LED1=P22; /EW_LED1控制位sbit SN_LED2=P21; /SN_LED2控制位sbit SN_L

2、ED1=P20; /SN_LED1控制位sbit SN_Yellow=P16; /SN黃燈sbit EW_Yellow=P12; /EW黃燈sbit EW_ManGreen=P30; /EW人行道綠燈sbit SN_ManGreen=P31; /SN人行道綠燈sbit Special_LED=P26; /交通特殊指示燈sbit Busy_LED=P27; /交通繁忙指示燈sbit Nomor_Button=P35; /交通正常按鍵sbit Busy_Btton=P36; /交通繁忙按鍵sbit Special_Btton=P37; /交通特殊按鍵 sbit EW_ManRed=P33; /EW

3、人行道紅燈sbit SN_ManRed=P34; /SN人行道紅燈bit Flag_SN_Yellow; /SN黃燈標(biāo)志位bit Flag_EW_Yellow; /EW黃燈標(biāo)志位char Time_EW; /東西方向倒計(jì)時(shí)單元char Time_SN; /南北方向倒計(jì)時(shí)單元uchar EW=60,SN=40,EWL=19,SNL=19; /程序初始化賦值,正常模式uchar EW1=60,SN1=40,EWL1=19,SNL1=19; /用于存放修改值的變量uchar code table10=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0

4、x7F,0 x6F; /0-9段選碼uchar code S8=0 x28,0 x48,0 x18,0 x48,0 x82,0 x84,0 x81,0 x84; /交通信號(hào)燈控制代碼/*延時(shí)子程序*/void Delay(uchar a)uchari;i=a;while(i-);/*顯示子函數(shù)*/void Display(void)uchar h,l;h=Time_EW/10;l=Time_EW%10; P0=tablel; EW_LED2=1; /點(diǎn)亮EW_LED2Delay(2);EW_LED2=0; /熄滅EW_LED2P0=tableh;EW_LED1=1; /點(diǎn)亮EW_LED1Del

5、ay(2);EW_LED1=0;h=Time_SN/10;l=Time_SN%10;P0=tablel;SN_LED2=1; /點(diǎn)亮SN_LED2Delay(2);SN_LED2=0;P0=tableh;SN_LED1=1; /點(diǎn)亮SN_LED1Delay(2);SN_LED1=0;h= EW1/10;l= EW1%10;P0=tablel;Time_Show_LED1=1; /點(diǎn)亮Time_Show_LED1Delay(2); Time_Show_LED1=0;P0=tableh;Time_Show_LED2=1;/點(diǎn)亮Time_Show_LED2Delay(2);Time_Show_LED

6、2=0; /*外部0中斷效勞程序*/void INT0_srv(void)interrupt 0 using 1 EX0=0; /關(guān)中斷 if(Nomor_Button=0) /測(cè)試按鍵是否按下,按下為正常狀態(tài) EW1=60;SN1=40;EWL1=19;SNL1=19;Busy_LED=0; /關(guān)繁忙信號(hào)燈Special_LED =0; /關(guān)特殊信號(hào)燈 if(Busy_Btton=0) /測(cè)試按鍵是否按下,按下為繁忙狀態(tài) EW1=45;SN1=30;EWL1=14;SNL1=14;Special_LED=0; /關(guān)特殊信號(hào)燈Busy_LED=1; /開繁忙信號(hào)燈 if(Special_Btt

7、on=0)/測(cè)試按鍵是否按下,按下為特殊狀態(tài) EW1=75;SN1=55;EWL1=19;SNL1=19;Busy_LED=0; /關(guān)繁忙信號(hào)燈Special_LED =1;/開特殊信號(hào)燈 EX0=1; /開中斷/*T0中斷效勞程序*/void timer0(void)interrupt 1 using 1static uchar count;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=10) if(Flag_SN_Yellow=1) /測(cè)試南北黃燈標(biāo)志位 SN_Yellow=SN_Yellow; if(Flag_EW

8、_Yellow=1) /測(cè)試東西黃燈標(biāo)志位 EW_Yellow=EW_Yellow; if(count=20) Time_EW-; Time_SN-; if(Flag_SN_Yellow=1) /測(cè)試南北黃燈標(biāo)志位 SN_Yellow=SN_Yellow; if(Flag_EW_Yellow=1) /測(cè)試東西黃燈標(biāo)志位 EW_Yellow=EW_Yellow; count=0;/*主程序開始*/voidmain(void) Busy_LED=0;Special_LED=0;IT0=1; /INT0負(fù)跳變觸發(fā)TMOD=0 x01; /定時(shí)器工作于方式1TH0=(65536-50000)/256;

9、 /定時(shí)器賦初值TL0=(65536-50000)%256;EA=1; /CPU開中斷總允許ET0=1; /開定時(shí)中斷EX0=1; /開外部INTO中斷TR0=1; /啟動(dòng)定時(shí) while(1) /*S0狀態(tài)*/SN_ManRed=0;SN_ManGreen=1; /SN人行道通行EW_ManRed=1;/EW人行道禁止EW_ManGreen=0;Flag_EW_Yellow=0; /EW關(guān)黃燈顯示信號(hào)Time_EW=EW;Time_SN=SN;while(Time_SN=5) P1=S0;/SN綠燈,EW紅燈 Display();/*S1狀態(tài)*/P1=0 x00;while(Time_SN=

10、0)Flag_SN_Yellow=1; /SN開黃燈信號(hào)位P1=P1|0 x08; /保持EW紅燈Display();/*S2狀態(tài)*/SN_ManRed=1; /SN人行道禁止SN_ManGreen=0;EW_ManRed=1; /EW人行道禁止EW_ManGreen=0;Flag_SN_Yellow=0; /SN關(guān)黃燈顯示信號(hào)Time_SN=SNL;while(Time_SN=5)P1=S2; /SN左拐綠燈亮,EW紅燈Display();/*S3狀態(tài)*/P1=0 x00;while(Time_SN=0)Flag_SN_Yellow=1;/SN開黃燈信號(hào)位P1=P1|0 x08; /保持EW

11、紅燈Display();/*賦值*/EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;/*S4狀態(tài)*/SN_ManRed=1; /SN人行道禁止SN_ManGreen=0;EW_ManRed=0;EW_ManGreen=1; /EW人行道通行Flag_SN_Yellow=0; /SN關(guān)黃燈顯示信號(hào)Time_EW=SN;Time_SN=EW;while(Time_EW=5) P1=S4; /EW通行,SN紅燈Display();/*S5狀態(tài)*/P1=0X00;while(Time_EW=0)Flag_EW_Yellow=1;/EW開黃燈信號(hào)位P1=P1|0 x80; /保持SN紅燈Display();/*S6狀態(tài)*/SN_ManRed=1; /SN人行道禁止SN_ManGreen=0;EW_ManRed=1; /EW人行道禁止EW_ManGreen=0;Flag_EW_Yellow=0;/EW關(guān)黃燈顯示信號(hào)Time_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論