【正文】
SETB IT0 CLR IT1 SETB PT0 (2) 中斷服務(wù)子程序 ORG 000BH ZHD2: MOV TL0,0F0H 。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。 4. 軟件設(shè)計 、每秒鐘的設(shè)定 延時方法可以有兩種一中是利用 AT89C51內(nèi)部定時 器才生溢出中斷來確定 1秒的時間,另一種是采用軟延時的方法。南北 方向黃燈 3秒,且黃燈以 40ms 的速度閃爍。 ( 9)當(dāng) 南北 方向綠燈 35秒倒計時完。進入第四階段, 東西 方向紅燈 38 秒 。南北 方向紅燈 2秒。 ( 7)當(dāng) 東西 方向黃燈 3秒倒計時完。進入下一階段, 東西 方向黃燈 3秒,且黃燈以 40ms 的速度閃爍 。 ( 5)初始狀態(tài) 東西 方向綠燈 60 秒 南北 方向紅燈 65 秒。當(dāng) ,時間顯示以 240ms的速度進行減 1。 (2) 由 AT89C51單片機每秒鐘通過 P0、 P2口向 74LS47的數(shù)據(jù)口送信息,由P1口顯示紅 、綠、黃燈的燃亮情況;由 7SEGMPX2CA顯示每個燈的燃亮?xí)r間。 在原理圖中,譯碼器與數(shù)碼管的連接如圖 4: 圖 4 : 、交通燈硬件線路圖: 74LS47 七段驅(qū)動器數(shù)據(jù)口 數(shù)碼管顯示 CD方向時 間 89C51系 統(tǒng) 處 理 鍵盤設(shè)置時間參數(shù) 東西 和 CD方向紅綠黃三種燈的顯示情況 74LS47 七 段驅(qū)動器數(shù)據(jù)口 數(shù)碼管顯示 東西 方向時 間 B1B2B3A1A2A3CO NF IRMA1A2A3B1B2B3SETUPD O W NCO NF IRMT1設(shè)置增加減少確定應(yīng)急CO NF IRMD O W NUPSETT1212211122122111211122122SETUPD O W NA1 A2 A3A1 A2 A3B3B2B1 B1B2B3X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1R81k23456781R P 2RE S P A C K 7A7QA13B1QB12C2QC11D6QD10B I/RB O4QE9RB I5QF15LT3QG14U27 4 L S 4 7A7QA13B1QB12C2QC11D6QD10B I/RB O4QE9RB I5QF15LT3QG14U37 4 L S 4 723456781R P 1RE S P A C K 723456781R P 3RE S P A C K 7C32 0 uC12 2 p FC22 2 p FX1CR Y S T A LD1L E D G RE E ND2L E D Y E L L O WD3L E D R E DD4L E D R E DD5L E D Y E L L O WD6L E D G RE E ND7L E D G RE E ND8L E D Y E L L O WD9L E D R E DD 1 0L E D R E DD 1 1L E D Y E L L O WD 1 2L E D G RE E N十字路口交通燈東西南北 、系統(tǒng)工作原理 ( 1)開關(guān)鍵盤 a、改變數(shù)碼管顯示的時間 。設(shè)置滅零輸入端的目的是為了能將不希望顯示的 0 熄滅,例如一個四位數(shù)碼顯示電路,整數(shù)部分兩位,小數(shù)部分兩位,在顯示 ,將出現(xiàn) ,如果將前、后多余的 0熄滅,顯示的結(jié)果更醒目一些 。譯碼器要正常譯碼,必須 LT 輸入無效電平。 LT 為測試輸入端,低電平有效,用于檢查數(shù)碼管的七段是否正常發(fā)光。 圖 1 單片機的復(fù)位及初始化如圖 2: 圖 2 74LS47 芯片簡介 74LS47 的端子功能圖如下圖 3: 圖 3 74LS47 的主要功能端如下: BI為熄滅輸入端,低電平有效,當(dāng) BI=0時,無論其他輸入端狀態(tài)如何,譯碼器輸出七段同時熄滅 。 如 EA 端為高電平(接 Vcc端), CPU 則執(zhí)行內(nèi)部程序存儲器的指令。 EA/VPP—— 外部訪問允許,欲使 CPU 僅訪問外部程序存儲器(地址為0000HFFFFH), EA 端必須保持低電平(接地)。對 FLASH 存儲器編程期間,該引腳還用于輸入編程脈沖( PROG)。一般情況下, ALE 仍以時鐘振蕩頻率的 1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。當(dāng)振蕩器工作時 , RST 引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。此時,被外部拉低的 P3 口將用上拉電阻輸出電流。 P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口 P2 寫 “1” ,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 。在 flash 編程和校驗時, P1 口接收低 8位地址字節(jié)。作為輸入使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL)。 P1 口: P1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 I/O 口, P1 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。對 P0 端口寫 “1” 時,引腳用作高阻抗輸入 端用 。 MCS51的引腳說明: MCS51 系列單片機中的 803 8051 及 8751 均采用 40Pin 封裝的雙列直接DIP 結(jié)構(gòu),右圖是它們的引腳配置, 40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根, 4組 8位共 32 個 I/O 口,中斷口線與 P3口線復(fù)用 經(jīng)綜合對本系統(tǒng)的分析,選用 AT89C51 單片機就非常合適, AT89C51 有 P0,P1,P2,P3 四個外部接口,介紹如下: P0 口: P0 口是一個 8 位漏極開路的雙向I/O 口。 3 系統(tǒng)硬件設(shè)計 選用設(shè)備: AT89C51 單 片機一片, 74LS47 芯片二片,電阻排 RESPACK7 三個,共陰極的七段數(shù)碼管 7SEGMPX2CA 兩個,紅、黃、綠交通燈各四個,開關(guān)鍵盤、連線、電阻、電容若干。 通過延時時間送顯,可以在原有的交通信號燈系統(tǒng)的基礎(chǔ)上,增添其倒人行道 人行道 人行道 人行道 計時間的顯示功能,實現(xiàn)其功能的擴展。 通過編寫程序,實現(xiàn)對發(fā)光二極管的控制,來模擬交通信號燈的管理。中間可通過中斷按鈕產(chǎn)生中斷,跳入中斷程序執(zhí)行中斷。過一段時間后轉(zhuǎn)狀態(tài) 4,黃