這個仿真圖都畫了好久,這個交通燈里面可以設置時間,還帶人行通道的顯示的,還可以讓任意兩邊強行通過。
交通燈的仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):
QQ圖片20170519164337.png (53.33 KB, 下載次數: 150)
下載附件
666的交通燈
2017-5-19 16:46 上傳
0.png (41.94 KB, 下載次數: 139)
下載附件
2017-5-19 17:00 上傳
資料包:
0.png (67.4 KB, 下載次數: 128)
下載附件
2017-5-19 16:55 上傳
單片機源程序如下(一共2個文件一個主程序 一個頭文件):
- #include <reg52.h>
- #ifndef TRAFFIC_H
- #define TRAFFIC_H 1
- #ifndef TRAFFIC_GLOBAL
- #define TRAFFIC_EXT extern
- #else
- #define TRAFFIC_EXT
- #endif
- #define uchar unsigned char
- #define uint unsigned int
- /*****定義控制位**********************/
- sbit Time_Show_LED2=P2^5; //Time_Show_LED2控制位
- sbit Time_Show_LED1=P2^4; //Time_Show_LED1控制位
- 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 SN_Yellow=P1^6; //SN黃燈
- sbit EW_Yellow=P1^2; //EW黃燈
- sbit EW_Red=P1^3; //EW紅燈
- sbit SN_Red=P1^7; //SN紅燈
- sbit QZ_SN_LED=P3^0; //SN方向強制直行指示燈
- sbit QZ_EW_LED=P3^1; //EW方向強制直行指示燈
- sbit Add_Button=P3^4; //時間加
- sbit Reduces_Button=P3^5; //時間減
- sbit QZ_EW_Btton=P3^6; //EW方向強制直行按鍵
- sbit QZ_SN_Btton=P3^7; //SN方向強制直行按鍵
- bit Flag_SN_Yellow; //SN黃燈標志位
- bit Flag_EW_Yellow; //EW黃燈標志位
- bit QZ_EW;
- bit QZ_SN;
- char Time_EW; //東西方向倒計時單元
- char Time_SN; //南北方向倒計時單元
- uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化賦值,正常模式
- uchar EW1=60,SN1=40,EWL1=19,SNL1=19;
- //用于存放修改值的變量
- uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
- //1~~~~9段選碼
- uchar code LIGHT[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};
- //交通信號燈控制
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
智能交通.rar
(39.27 KB, 下載次數: 206)
2017-5-19 16:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|