基于AT89C51單片機(jī)無線收發(fā)控制的交通信號燈模型
ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。
3、系統(tǒng)模擬以下交通情況
(1)正常情況下,A、B道(A、B道交叉組成十字路口,A是主道,B是支道)輪流放行,A道放行60秒(兩個數(shù)碼管從60秒開始倒數(shù),其中5秒用于警告),B道放行30秒(兩個數(shù)碼管從30秒開始倒數(shù),其中5秒用于警告)。
(2)一道有車而另一道無車(用按鍵開關(guān)S1、S2模擬)時,使有車車道放行。
(3)有緊急車輛通過(用按鍵開關(guān)S0模擬)時,A、B道均為紅燈(兩個數(shù)碼管顯示00)。
4、設(shè)計(jì)思路
(1)正常情況下運(yùn)行主程序,采用0.5秒延時子程序的反復(fù)調(diào)用來實(shí)現(xiàn)各種定時時間;
(2)一道有車而另一道無車時,采用外部中斷1方式進(jìn)入與其相適應(yīng)的中斷服務(wù)程序,并設(shè)置該中斷為低 優(yōu)先級中斷;
(3)有緊急車輛通過時,采用外部中斷0方式進(jìn)入與其相適應(yīng)的中斷服務(wù)程序,并設(shè)置該中斷為高優(yōu)先級中斷,實(shí)現(xiàn)中斷嵌套。
5、硬件設(shè)計(jì)
如圖3
本文引用地址:http://www.ex-cimer.com/article/173731.htm
用數(shù)碼管模擬交通燈上的數(shù)字顯示板。數(shù)碼管的七段由AT89C51的P0(P0.0-P0.6)口控制,兩個數(shù)碼管由P2(P2.0-P2.1)口選通,中間由PNP三極管作為推動管。
分別以S1、S2模擬A、B道的車檢測信號,當(dāng)S1、S2為高電平(不按按鍵)時,表示有車;當(dāng)S1、S2為低電平(按下按鍵)時,表示無車。當(dāng)S1、S2屬不同值時,表示一道有車一道無車,信號經(jīng)74LS04,74LS86后,輸入到P3.3口,觸發(fā)外部中斷1,AT89C51單片機(jī)經(jīng)查詢后,對有車的車道放行,綠燈亮;對無車的車道禁止放行,紅燈亮。當(dāng)S0為低電平(按下按鍵)時,觸發(fā)外部中斷0,單片機(jī)經(jīng)查詢后,對兩車道都禁止放行,全顯示紅燈,數(shù)碼管顯示00,對緊急車輛放行。
二、電源電路
從圖3可知,無論是AT89C51單片機(jī)工作電源、二極管還是數(shù)碼管的驅(qū)動,都要用到+5V的直流電源,所以,一個穩(wěn)定的、持續(xù)的+5V直流電源對本系統(tǒng)十分重要。本系統(tǒng)運(yùn)用橋式整流電路,將交流轉(zhuǎn)換為直流,為各部分電路提供恒定的+5V直流。模擬部分和數(shù)字部分分別采用一個獨(dú)立的穩(wěn)壓管供電,保證電路的穩(wěn)定性和抗干擾,其電路如圖4。
1、 主要元器件介紹
DB為全波整流電橋,其內(nèi)部結(jié)構(gòu)如圖5
其工作原理如下:
51單片機(jī)相關(guān)文章:51單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
存儲器相關(guān)文章:存儲器原理
評論