新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用C語言編寫的交通燈程序

用C語言編寫的交通燈程序

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
用四盞雙色燈模擬,P1口控制;南北紅燈亮30秒,同時東西綠燈亮25秒,綠燈閃爍3次(間隔為1秒),然后黃燈亮2秒;然后東西與南北互換一下;重復(fù);
#include "reg51.h" //#define uint unsigned int#define uchar unsigned char#define ON 0 //0的時候燈亮#define OFF 1 //1的時候燈亮//管腳定義//南北道 黃燈亮3秒 紅燈亮 30秒 黃燈3秒 綠燈38秒//東西道 黃燈亮3秒 綠燈亮 28秒 黃燈3秒 紅燈40秒sbit PortDX_Yellow = P1^0; //東西方向黃燈sbit PortDX_Red = P1^1; //東西方向紅燈sbit PortDX_Green = P1^2; //東西方向綠燈sbit PortNB_Yellow = P1^3; //南北方向黃燈sbit PortNB_Red = P1^4; //南北方向紅燈sbit PortNB_Green = P1^5; //南北方向綠燈void delay(uint ms) // 毫秒級延時(AT89C52 @ 11.0592MHz){uint ti;while(ms--){for(ti=0;ti<112;ti++){}//112}}/*==================== 主函數(shù) ====================*/void main(void){delay(400); //開機延時400mswhile(1){PortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;//南北黃燈亮3秒PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_Green = OFF;//東西黃燈亮3秒delay(3000);PortNB_Yellow = OFF;PortNB_Red = ON ;PortNB_Green = OFF;//南北紅燈亮28秒PortDX_Yellow = OFF;PortDX_Red = OFF;PortDX_Green = ON ;//東西綠燈亮28秒delay(28000);PortNB_Yellow = OFF;PortNB_Red = ON ;PortNB_Green = OFF;//南北紅燈亮2秒PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_Green = OFF;//東西黃燈亮2秒delay(2000);PortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;//南北黃燈亮1秒PortDX_Yellow = ON ;PortDX_Red = OFF;PortDX_Green = OFF;//東西黃燈亮1秒delay(1000);PortNB_Yellow = ON ;PortNB_Red = OFF;PortNB_Green = OFF;//南北黃燈亮2秒PortDX_Yellow = OFF;PortDX_Red = ON ;PortDX_Green = OFF;//東西紅燈亮2秒delay(2000);PortNB_Yellow = OFF;PortNB_Red = OFF;PortNB_Green = ON ;//南北綠燈亮38秒PortDX_Yellow = OFF;PortDX_Red = ON ;PortDX_Green = OFF;//東西紅燈亮38秒delay(3800);}}1.當(dāng)為黃燈時南北、東西兩道同時為黃燈;以提示行人或車輛下一個燈色即將到來時間 3秒。2.當(dāng)南北為紅燈,南北道車輛禁止通行,時間30秒;南北道為綠燈,南北道車輛通過時間38秒 。3.當(dāng)東西道綠燈,東西道車輛通行,時間為28秒;東西道為紅燈,東西道車輛禁止通過時間為40秒。4.這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。 


關(guān)鍵詞: C語言交通

評論


技術(shù)專區(qū)

關(guān)閉