|
該交通燈能夠?qū)崿F(xiàn)對(duì)復(fù)雜路口交通燈的控制,每個(gè)方向都包括直行、左轉(zhuǎn)、右轉(zhuǎn)方向以及人行橫道紅、黃、綠三色指示燈,每個(gè)方向均設(shè)有兩位數(shù)數(shù)碼管顯示倒計(jì)時(shí)的功能。通過中斷設(shè)置有四個(gè)按鍵,分別行使時(shí)間加、時(shí)間減、東西方向強(qiáng)制通行、南北方向強(qiáng)制通行的功能。
交通燈截圖2.PNG (153.5 KB, 下載次數(shù): 54)
下載附件
電路仿真截圖1
2019-1-6 17:21 上傳
交通燈截圖.PNG (146 KB, 下載次數(shù): 66)
下載附件
電路仿真截圖2
2019-1-6 17:20 上傳
部分單片機(jī)源程序:- /***************************************************
- 項(xiàng)目:復(fù)雜路口交通燈
- 功能:本程序能夠?qū)崿F(xiàn)對(duì)復(fù)雜路口交通燈的控制,每個(gè)方向
- 都包括直行、左轉(zhuǎn)、右轉(zhuǎn)方向以及人行橫道紅、黃、
- 綠三色指示燈,每個(gè)方向均設(shè)有兩位數(shù)數(shù)碼管顯示倒
- 計(jì)時(shí)的功能。通過中斷設(shè)置有四個(gè)按鍵,分別行使時(shí)
- 間加、時(shí)間減、東西方向強(qiáng)制通行、南北方向強(qiáng)制通
- 行的功能。
- 姓名:醉清風(fēng)
- 注意:各端口意義詳見注釋!
- ***************************************************/
- #include <reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
-
- /*****定義控制位**********************/
- sbit EW_LED2=P2^3; //EW_LED2控制位
- sbit EW_LED1=P2^2; //EW_LED1控制位
- sbit SN_LED2=P2^1; //SN_LED2控制位
- sbit SN_LED1=P2^0; //SN_LED1控制位
- sbit SNstraight_Green=P1^3; //南北直行綠燈
- sbit EWstraight_Green=P1^0; //東西直行綠燈
- sbit SNstraight_Yellow=P1^4; //南北直行黃燈
- sbit EWstraight_Yellow=P1^1; //東西直行黃燈
- sbit SNstraight_Red=P1^5; //南北直行紅燈
- sbit EWstraight_Red=P1^2; //東西直行紅燈
- sbit SNright_Green=P2^7; //南北右拐綠燈
- sbit EWright_Green=P1^6; //東西右拐綠燈
- sbit SNright_Red=P3^4; //南北右拐紅燈
- sbit EWright_Red=P2^4; //東西右拐紅燈
- sbit SNleft_Green=P3^5; //南北左拐綠燈
- sbit EWleft_Green=P2^5; //東西左拐綠燈
- sbit SNleft_Red=P3^7; //南北左拐紅燈
- sbit EWleft_Red=P2^6; //東西左拐紅燈
- sbit SNturn_Yellow=P3^6; //南北轉(zhuǎn)向黃燈
- sbit EWturn_Yellow=P1^7; //東西轉(zhuǎn)向黃燈
-
- sbit Time_Button=P3^0; //時(shí)間加減按鈕判斷輸入端
- sbit QZ_Button=P3^1; //強(qiáng)制通行方向判斷輸入端
- bit Flag_SNstraight_Yellow; //SN直行黃燈標(biāo)志位
- bit Flag_EWstraight_Yellow; //EW直行黃燈標(biāo)志位
- bit Flag_SNturn_Yellow; //SN轉(zhuǎn)向黃燈標(biāo)志位
- bit Flag_EWturn_Yellow; //EW轉(zhuǎn)向黃燈標(biāo)志位
- bit QZ_EW; //EW強(qiáng)制通行標(biāo)志
- bit QZ_SN; //SN強(qiáng)制通行標(biāo)志
- bit QZ_flag; //數(shù)碼管強(qiáng)制標(biāo)志
- char Time_EW; //東西方向倒計(jì)時(shí)單元
- char Time_SN; //南北方向倒計(jì)時(shí)單元
- uchar EW=30,SN=30,EWL=60,SNL=60; //倒計(jì)時(shí)時(shí)長</div><div>uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//0~~~~9段選碼
- /*********************延時(shí)函數(shù)**********************/
- void Delay(uchar a)
- {
- while(a--);
- }
- /*******************顯示函數(shù),顯示倒計(jì)時(shí)的值**********************/
- void Display(void)
- {
- char h,l;
- h=Time_EW/10; //EW方向計(jì)時(shí)的十位數(shù)
- l=Time_EW%10; //EW方向計(jì)時(shí)的個(gè)位數(shù)
- P0=table[l]; //顯示EW計(jì)時(shí)時(shí)間的低位
- EW_LED2=1;
- Delay(2);
- EW_LED2=0;
- P0=table[h]; //顯示EW計(jì)時(shí)時(shí)間的高位
- EW_LED1=1;
- Delay(2);
- EW_LED1=0;</div><div> h=Time_SN/10; //SN方向計(jì)時(shí)的十位數(shù)
- l=Time_SN%10; //SN方向計(jì)時(shí)的個(gè)位數(shù)
- P0=table[l]; //顯示SN計(jì)時(shí)時(shí)間的低位
- SN_LED2=1;
- Delay(2);
- SN_LED2=0;
- P0=table[h]; //顯示SN計(jì)時(shí)時(shí)間的高位
- SN_LED1=1;
- Delay(2);
- SN_LED1=0;
-
- }
- /*******************顯示函數(shù),強(qiáng)制通行的值**********************/
- void Display1(void)
- {
- P0=table[8];
- if(QZ_flag==1)
- {
- EW_LED2=1;
- EW_LED1=1;
- SN_LED2=1;
- SN_LED1=1;
-
- }
- else
- {
- EW_LED2=0;
- EW_LED1=0;
- SN_LED2=0;
- SN_LED1=0;
- }
-
-
復(fù)制代碼
0.png (36.53 KB, 下載次數(shù): 86)
下載附件
2019-1-6 19:58 上傳
全部資料51hei下載地址:
復(fù)雜路口交通燈設(shè)計(jì).zip
(100.61 KB, 下載次數(shù): 141)
2019-1-6 17:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|