基于A(yíng)T89C51單片機無(wú)線(xiàn)收發(fā)控制的交通信號燈模型
ALE/PROG:當訪(fǎng)問(wèn)外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當用作外部數據存儲器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個(gè)機器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數據存儲器時(shí),這兩次有效的/PSEN信號將不出現。 /EA/VPP:當/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時(shí),/EA將內部鎖定為RESET;當/EA端保持高電平時(shí),此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。
3、系統模擬以下交通情況
(1)正常情況下,A、B道(A、B道交叉組成十字路口,A是主道,B是支道)輪流放行,A道放行60秒(兩個(gè)數碼管從60秒開(kāi)始倒數,其中5秒用于警告),B道放行30秒(兩個(gè)數碼管從30秒開(kāi)始倒數,其中5秒用于警告)。
(2)一道有車(chē)而另一道無(wú)車(chē)(用按鍵開(kāi)關(guān)S1、S2模擬)時(shí),使有車(chē)車(chē)道放行。
(3)有緊急車(chē)輛通過(guò)(用按鍵開(kāi)關(guān)S0模擬)時(shí),A、B道均為紅燈(兩個(gè)數碼管顯示00)。
4、設計思路
(1)正常情況下運行主程序,采用0.5秒延時(shí)子程序的反復調用來(lái)實(shí)現各種定時(shí)時(shí)間;
(2)一道有車(chē)而另一道無(wú)車(chē)時(shí),采用外部中斷1方式進(jìn)入與其相適應的中斷服務(wù)程序,并設置該中斷為低 優(yōu)先級中斷;
(3)有緊急車(chē)輛通過(guò)時(shí),采用外部中斷0方式進(jìn)入與其相適應的中斷服務(wù)程序,并設置該中斷為高優(yōu)先級中斷,實(shí)現中斷嵌套。
5、硬件設計
如圖3

用數碼管模擬交通燈上的數字顯示板。數碼管的七段由AT89C51的P0(P0.0-P0.6)口控制,兩個(gè)數碼管由P2(P2.0-P2.1)口選通,中間由PNP三極管作為推動(dòng)管。
分別以S1、S2模擬A、B道的車(chē)檢測信號,當S1、S2為高電平(不按按鍵)時(shí),表示有車(chē);當S1、S2為低電平(按下按鍵)時(shí),表示無(wú)車(chē)。當S1、S2屬不同值時(shí),表示一道有車(chē)一道無(wú)車(chē),信號經(jīng)74LS04,74LS86后,輸入到P3.3口,觸發(fā)外部中斷1,AT89C51單片機經(jīng)查詢(xún)后,對有車(chē)的車(chē)道放行,綠燈亮;對無(wú)車(chē)的車(chē)道禁止放行,紅燈亮。當S0為低電平(按下按鍵)時(shí),觸發(fā)外部中斷0,單片機經(jīng)查詢(xún)后,對兩車(chē)道都禁止放行,全顯示紅燈,數碼管顯示00,對緊急車(chē)輛放行。
二、電源電路
從圖3可知,無(wú)論是AT89C51單片機工作電源、二極管還是數碼管的驅動(dòng),都要用到+5V的直流電源,所以,一個(gè)穩定的、持續的+5V直流電源對本系統十分重要。本系統運用橋式整流電路,將交流轉換為直流,為各部分電路提供恒定的+5V直流。模擬部分和數字部分分別采用一個(gè)獨立的穩壓管供電,保證電路的穩定性和抗干擾,其電路如圖4。
1、 主要元器件介紹
DB為全波整流電橋,其內部結構如圖5
其工作原理如下:
51單片機相關(guān)文章:51單片機教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
存儲器相關(guān)文章:存儲器原理
評論