|
功能介紹:十字路口的交通燈,對向方向兩兩輪流放行,并通過數碼管顯示倒計時
特點:不使用鎖存器控制數碼管,通過對P3口發送16進制數值對其整體控制,但是共陰數碼管用單片機直驅時亮度并不高
主要硬件介紹:STC89C52RC單片機,晶振11.0592MHz
/* 函數定義 */
void delay(uint z); //毫秒級延時函數
void EW_Straight(void); //東西直行函數
void EW_LeftTurn(void); //東西左轉函數
void SN_Straight(void); //南北直行函數
void SN_LeftTurn(void); //南北左轉函數
void EW_YellowBling(void); //東西黃燈函數
void SN_YellowBling(void); //南北黃燈函數
void EWSN_YellowBling(void); //東西南北黃燈函數
/* 數碼管段選表 */
uchar code Digitron_Data[] = {
0x6F, //"0"
0x0A, //"1"
0xF6, //"2"
0xCE, //"3"
0x9B, //"4"
0xCD, //"5"
0xED, //"6"
0x0E, //"7"
0xEF, //"8"
0xCF, //"9"
};
部分代碼預覽2:
for(t=31;t>0;t--) //東西直行 31s
{
EW_Straight(); //東西直行函數
de= t / 10; //求模
un = t % 10; //求余
for (i = 100; i > 0; i--)
{ //數碼管動態循環顯示 每次10ms共100次
P1 = Digitron_Data[de];
P3 = 0x04;
delay(5); //數碼管十位顯示
P1 = Digitron_Data[un];
P3 = 0x08;
delay(5); //數碼管十位顯示
}
}
部分代碼預覽3:
for(t=3;t>0;t--) //東西黃燈 3s
{
P1 = Digitron_Data[t];
P3 = 0x08; //數碼管倒計時顯示
EW_YellowBling(); //東西黃燈函數
delay(1000); //每次循環延時一秒鐘
}
Keil工程及代碼:
Traffic Light原理圖及PCB圖.7z
(782.8 KB, 下載次數: 14)
2019-8-14 18:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
AD14工程(原理圖及PCB):
Traffic Light程序.7z
(18.96 KB, 下載次數: 10)
2019-8-14 18:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
-
0.jpg
(83.88 KB, 下載次數: 101)
下載附件
2019-8-15 16:30 上傳
-
0.jpg
(86.07 KB, 下載次數: 106)
下載附件
2019-8-15 16:30 上傳
評分
-
查看全部評分
|