基于51單片機(jī)交通燈程序完整版_第1頁(yè)
基于51單片機(jī)交通燈程序完整版_第2頁(yè)
基于51單片機(jī)交通燈程序完整版_第3頁(yè)
基于51單片機(jī)交通燈程序完整版_第4頁(yè)
基于51單片機(jī)交通燈程序完整版_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

1、#include<reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intbitFlag_SN_Yellow; /SN 黃燈標(biāo)志位bitFlag_EW_Yellow;/EW 黃燈標(biāo)志位uchar Time_EW;/ 東西方向倒計(jì)時(shí)單元uchar Time_SN;/ 南北方向倒計(jì)時(shí)單元uchar EW=15,SN=10,EWL=19,SNL=19; 程/序初始化賦值,正常模式uchar EW1=60,SN1=40,EWL1=19,SNL1=19用;/于存放修改值的變量u

2、charFlag_Moden=1;南北 4 禁止東西南北ucharFlag_key=0;uchartable10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/1 sbit HC164_Data =P0 八0;sbit HC164_Clk =P0 八1;sbitEW_green =P0 八2; sbitEW_yellow =P 0八3;sbitEW_red =P 0八4;sbitSN_red =P 0八5; sbitSN_gree n =P0 八7;sbitSN_yellow =P 0八6;/模式變量 1 正常模式 2 禁止南北通東西 3

3、 禁止東西通code段9 選碼5 夜間模式sbitSN_RXD_red =P 2八7; sbitSN_RXD_gree n =P 2八6; sbitEW_RXD_red =P 2八5; sbitEW_RXD_green =P 2八4; sbit FMQ = P1八0;sbit key1 = P3八3;sbit key2 = P 3八4;/ 東西數(shù)碼管第一位 / 東西數(shù)碼管第二位 / 南北數(shù)碼管第一位 / 南北數(shù)碼管第二位sbit key3 = P 3八5;sbit WEI1 =P 2八3;sbit WEI2 =P 2八2;sbit WEI3 =P 2八1;sbit WEI4 =P 2八0;/u

4、charew=40;sn=35;/ 函數(shù) delay(uchar z)/ 功能能 延時(shí) void Delay(uchar z) uchara,b;for(a=z;a>0;a-)for(b=200;b>0;b-);void HC_164_Set_byte(ucharduan)uchar i;for(i=0;i<8;i+)HC164_Data =duan& 0x80;HC164_Clk =0;HC164_Clk =1;duan =duan<<1;void display_smg(ucharwei,ucharnum) switch(wei)1;WEI4=1;HC

5、_164_Set_byte(tablenum);break;1;WEI4=1;HC_164_Set_byte(tablenum);break;0;WEI4=1;HC_164_Set_byte(tablenum);break;1;WEI4=0;HC_164_Set_byte(tablenum);break;case 1: WEI1=0;WEI2=1;WEI3case 2: WEI1=1;WEI2=0;WEI3case 3: WEI1=1;WEI2=1;WEI3case 4: WEI1=1;WEI2=1;WEI3 default: break;void Display(void)ucharh,l;

6、 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);void Key() 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_

7、Moden=4; if(Flag_key=4) Flag_Moden=5;FMQ=1;TR0=1;if(Flag_key=5) Flag_EW_Yellow=0; /SN 關(guān)黃燈信號(hào)位Flag_SN_Yellow=0; /SN 關(guān)黃燈信號(hào)位 FMQ=1;Flag_Moden=1;TR0=1;/ 啟動(dòng)定時(shí) Flag_key=0;if(key2=0) while(!key2);Flag_Moden=2;if(key3=0) while(!key3);Flag_Moden=3;void timer0(void)interrupt 1 using 1 static uchar count;TH0=(6

8、5536-50000)/256; TL0=(65536-50000)%6; count+;if(count=10)if(Flag_SN_Yellow=1) / 測(cè)/ 試南北黃燈標(biāo)志位 SN_yellow=SN_yellow;if(Flag_EW_Yellow=1) /測(cè)/ 試東西黃燈標(biāo)志位 EW_yellow=EW_yellow;if(count=20)if(Flag_Moden=1)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_

9、yellow=EW_yellow;count=0;/ 模式 1void Zc_moshi()/*S0 狀態(tài)*EW_RXD_red=0; /EW 人行道禁止EW_RXD_green=1;/EW 人行道禁止SN_RXD_red=1; /EW 人行道通行SN_RXD_green=O;/S 人行道通行Flag_EW_Yellow=0; /EW 關(guān)黃燈顯示信號(hào) /SN 關(guān)黃燈顯示信 /EW=45;SN=4O;Flag_SN_Yellow=0; 號(hào) Time_EW=EW; Time_SN=SN;SN_green =0; /SN 燈 SN_red =1;EW_red =0;EW_green =1;通行, E

10、W 紅while(Time_EW>5)if(key1=0 | key2=0|key3=0)/Flag_Moden=1;TR0=0;/ 啟動(dòng)定時(shí) break;Display();SN_yellow=0; /SN 黃燈亮開始閃爍 5 秒 SN_green =1;/滅/*/*S1 狀態(tài) Time_SN=5; while(Time_EW<=5) if(key1=0 | key2=0|key3=0) /Flag_Moden=1;TR0=0;/ 啟動(dòng)定時(shí) break; Flag_SN_Yellow=1; /SN 開黃燈信號(hào)位 Display(); /*S2 狀態(tài)*Flag_SN_Yellow=

11、0; /SN 關(guān)黃燈顯示信號(hào) SN_yellow=1;EW_RXD_red=1; /EW 人行道通行SN_RXD_green=1;/S 人行道禁止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=0 | key2=0|key3=0) /Flag_Moden=1;TR0=0;/啟動(dòng)定時(shí) break;東西

12、通行 Display();*/*S3 狀態(tài)EW_green=1;EW_yellow=0;Time_EW=5; while(Time_SN<=5) if(key1=0 | key2=0|key3=0) TR0=0;/ 啟動(dòng)定時(shí)break;Flag_EW_Yellow=1; /SN 開黃燈信號(hào)位Display();Flag_EW_Yellow=0;EW_yellow=1;/ 模式 2 禁止南北 通東西蜂鳴器響void Jsn()EW_green =0;EW_yellow =1;EW_red =1;SN_red =0;SN_green =1;SN_yellow =1;SN_RXD_red =0

13、;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 禁止東西 通南北蜂鳴器響void Jew()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=

14、1;/ 模式 4 禁止東西南北 蜂鳴器響 void JEwSn()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 夜間模式,東西南北黃燈閃爍 void Yejian()EW_green =1;/EW_yellow =1;EW_red =1;SN_red =1;SN_green

15、=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 開黃燈信號(hào)位Flag_SN_Yellow=1; /SN 開黃燈信號(hào) 位 void main ()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 負(fù)跳變觸發(fā)TMOD=0x01;/ 定時(shí)器工作于方式 1 TH0=(65536-50000)/256;/ 定時(shí)器賦初值 TL0=(

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論