數(shù)碼管顯示倒計時時間交通燈控制設(shè)計_第1頁
數(shù)碼管顯示倒計時時間交通燈控制設(shè)計_第2頁
數(shù)碼管顯示倒計時時間交通燈控制設(shè)計_第3頁
數(shù)碼管顯示倒計時時間交通燈控制設(shè)計_第4頁
數(shù)碼管顯示倒計時時間交通燈控制設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第 1 章總體設(shè)計方案1.1. 設(shè)計思路1.1.1 課程設(shè)計的目的(1).進一步熟悉和掌握單片機的結(jié)構(gòu)及工作原理。(2).掌握單片機的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。(3).通過課程設(shè)計,掌握以單片機核心的電路設(shè)計的基本方法和技術(shù)。(4).通過實際程序設(shè)計和調(diào)試,逐步掌握模塊化程序設(shè)計方法和調(diào)試技術(shù)。(5).通過完成一個包括電路設(shè)計和程序開發(fā)的完整過程,了解開發(fā)一單片機應(yīng)用系統(tǒng)的全 過程,為今后從事相應(yīng)開發(fā)打下基礎(chǔ)。1.1.2 設(shè)計任務(wù)和內(nèi)容1 設(shè)計任務(wù)單片機采用用 AT89C51芯片,使用LED (紅,黃,綠)代表各個路口的交通燈,用8段數(shù)碼管對轉(zhuǎn)換時間進行倒時(東西路口,南北路口

2、各 10秒,黃燈時間 3秒)。2 設(shè)計內(nèi)容( 1 )設(shè)計并繪制硬件電路圖。( 2)編寫程序并將調(diào)試好的程序在proteus 軟件中仿真。3 方案設(shè)計與論證顯示界面方案該系統(tǒng)要求完成倒計時、狀態(tài)燈等功能。按照任務(wù)要求采用數(shù)碼管和MAX7219驅(qū)動芯片設(shè)計方框圖整個設(shè)計以AT89C51單片機為核心,由數(shù)碼管顯示,LED數(shù)碼管顯示,MAX驅(qū)動芯片。硬件模塊入圖 2-1 。4交通管理的方案論證東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮 車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車

3、時間。指示燈燃亮的方案如 表2。255255S東西道紅燈亮紅燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮紅燈亮表2說明:(1)當(dāng)東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時間為5秒。(2)黃燈5秒,警示車輛和行人 紅、綠燈的狀態(tài)即將切換。(3)當(dāng)東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過, 行人通行。時間為 5秒。(4)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全 暢通的通行。5芯片簡介1)AT89C51單片機簡介FI.0pi. a37 卩 0.2PI.6P0.5KFSEE1*3. 010P3. I

4、|TlP3.2 Ij2P3.313P3.6M.l IT895 點(:閡 ALE T曲 F曲28 P2.7in27 PIS1926 I125 P2.42L PiO(2)各引腳功能說明Vcc:+5V電源電壓。Vss:電路接地端。P0.0P0.7:通道0 ,它是8位漏極開路的雙向I/O 通道?當(dāng)擴展外部存貯器時,這也 是低八位地址和數(shù)據(jù)總線?在編程和校驗期間?它輸入和輸出字節(jié)代碼,通道0吸收/發(fā)出二個TTL負載P1.0P1.7:通道1是8位擬雙向I/O 通道,在編程和校驗時,它發(fā) 出低8位地址。11通道1吸收/發(fā)出一個TTL負載。P2.0P2.7:通道2是8位擬雙向I/O 通道。當(dāng)訪問外部存貯器時,

5、用作高 8位地址 總線。通道2能吸收/發(fā)出一個TTL負載。P3.0P3.7:通道3準雙向I/O 通道。通道3能吸收/發(fā)出一個TTL負載,P3通道的 每一根線還有另一種功能:P3.0:RXD,串行輸入口。P3.1:TXD,串行輸出口。P32INT0,外部中斷0輸入口。P33INT1,外部中斷1輸入口。P34T0,定時器/計數(shù)器0外部事件脈沖輸入端。P3.5:T1 ,定時器 / 計數(shù)器 1 外部事件脈沖輸入端P3.6:WR,外部數(shù)據(jù)存貯器寫脈沖。P3.7:RD,外部數(shù)據(jù)存貯器讀脈沖。RST/VpD:引腳9,復(fù)位輸入信號,振蕩器工作時,該引腳上2個機器周期的高電平可以實現(xiàn)復(fù)位操作,在掉電情況下 Vc

6、c 降到操作允許限度以下后備電源加到此 引腳將只給片內(nèi) RAM 供電。ALE/PROG引腳30,地址鎖存有效信號,其主要作用是提供一個適當(dāng)?shù)亩〞r信號,在它的下降沿用于外部程序存儲器或外部數(shù)據(jù)存貯器的低 8 位地址鎖存 , 使總線 P0 輸 出/ 輸入口分時用作地址總線 , 低 8 位, 和數(shù)據(jù)總線 , 此信號每個機器出現(xiàn) 2 次, 只是 在訪問外部數(shù)據(jù)存儲器期間才不輸出 ALE。 所以,在任何不使用外部數(shù)據(jù)存貯器的系統(tǒng) 中,ALE以1/6振蕩頻率的固定速率輸出,因而它能用作外部時鐘或定時,8751內(nèi)的 EPROM編程時,此端輸編程脈沖信號。PSEN引腳29,程序選通有效信號,當(dāng)從外部程序存貯器

7、讀取指令時產(chǎn)生,低電平 時, 指令寄存器的內(nèi)容讀到數(shù)據(jù)總線上。EA/VPP:引腳31,當(dāng)保持TTL高電平時,如果指令計數(shù)器小于 40968051執(zhí)行內(nèi) 部ROM的指令,8751執(zhí)行內(nèi)部EPROM的指令,當(dāng)使TTL為低電平時,從外部程序 存貯器取出所有指令,在8751內(nèi)的EPROM編程時,此端為21V編程電源輸入端。XTAL1:引腳18,內(nèi)部振蕩器外接晶振的一個輸入端,HMOS芯片使用外部振蕩源時 , 此端必須接地。XTAL2:引腳19,內(nèi)部振蕩器外2)MAX7219 芯片簡介MAX7219/MAX7221 是一種集成化的串行輸入 /輸出共陰極顯示驅(qū)動器 ,它連接微處理器 與8位數(shù)字的7段數(shù)字L

8、ED顯示,也可以連接條線圖顯示器或者64個獨立的LED。其上包括一個片上的 B 型 BCD 編碼器、多路掃描回路,段字驅(qū)動器,而且還有一個 8*8 的靜態(tài) RAM 用來存儲每一個數(shù)據(jù)。 只有一個外部寄存器用來設(shè)置各個 LED 的段電流。 MAX7221 與 SPI?、 QSPI?以及 MICROWIRE ?相兼容,同時它有限制回轉(zhuǎn)電流的段驅(qū)動來減少EMI (電磁干擾) 。一個方便的四線串行接口可以聯(lián)接所有通用的微處理器。每個數(shù)據(jù)可以尋址在更新時不需要改寫所有的顯示。 MAX7219/MAX7221 同樣允許用戶對每一個數(shù)據(jù)選擇編碼或者不編碼。整個設(shè)備包含一個150卩A的低功耗關(guān)閉模式,模擬和數(shù)

9、字亮度控制,一個掃描限制寄存 器允許用戶顯示 1-8位數(shù)據(jù),還有一個讓所有 LED 發(fā)光的檢測模式電路模塊1.1.3驅(qū)動芯片和LED數(shù)碼管顯設(shè)計方框圖AT89C51MAX721LED倒計時顯示1.1.4設(shè)計原理分析對于一個交通路口來說,能在最短的時間內(nèi)達到最大的車流量,就算是達到了最佳的性能,我們稱在單位時間內(nèi)多能達到的最大車流為車流量,用公式:車流量=車流/時間來表示。先設(shè)定一些標(biāo)號如圖 2-1所示。罷-圖2-1標(biāo)號設(shè)定說明:此圖為直方圖,上邊為北路口燈,右邊為東路口燈,下邊為南路口燈,左邊為西路口燈。 圖2 2所示為一種紅綠燈規(guī)則的狀態(tài)圖,分別設(shè)定為S1、S2、S3、S4,交通燈以這四的狀

10、態(tài)為一個周期,循環(huán)執(zhí)行(見圖2 3)。2 la謝 2-lbS22-lc嘿羈牯駛狀黑詁J*l2-4d粥黜儆伏廳斜請注意圖2 1b和圖2 1d,它們在一個時間段中四個方向都可以通車,這種狀態(tài)能在一定 的時間內(nèi)達到較大的車流量,效率特別高。依據(jù)上述的車輛行駛的狀態(tài)圖, 可以列出各個路口燈的邏輯表, 由于相向的燈的狀態(tài)圖是一 樣的,所以只需寫出相鄰路口的燈的邏輯表;根據(jù)圖 2 3可以看出,相鄰路口的燈它們的狀態(tài)在相位上相差 180。因此最終只需寫出一組S1、S2、S3、S4的邏輯狀態(tài)表。如表2 1所示。外圈足北萬為itif進萬向的狀居術(shù)環(huán),內(nèi)是東力均前進方問的就蠡循上卜BH2-3盤通燈的鍬態(tài)洲!上1S

11、1的狀態(tài)ABCDEFGH邏輯直XVX4X:XX顯嚇時間從40秒開始到0秒S2的狀態(tài)BCDEFGHXVXXXVX顯可I吋間從30桿片始到0秋S3的狀態(tài)ABCDEFGH邏輸值XXXXXXV顯示時間M陽枕片始到犯哉*S4的狀態(tài)ABCDEFGH邏輯佰XXVXVX顯喬時間從30秒H始到0種表中的“X”代表是紅燈亮(也代表邏輯上的0), “V”是代表綠燈亮(也代表邏輯上的1),依上表,就可以向相應(yīng)的端口送邏輯值。1.1.4交通燈顯示時間的理論分析與計算東西和南北方向的放行時間的長短是依據(jù)路口的各個方向平時的車流量來設(shè)定,并且S1、S2、S3、S4各個狀態(tài)保持的時間之有嚴格的對應(yīng)關(guān)系,其公式如下示。T-S1

12、+T-S2=T-S3T-S2=T-S4T-S1=T-S3我們可以依據(jù)上述的標(biāo)準來改變車輛的放行時間。按照一般的規(guī)則,一個十字路口可分為主干道和次干道,主干道的放行時間大于次干道的放行時間,我們設(shè)定值時也應(yīng)以此為參考第2章仿真圖與設(shè)計程序2.1LED數(shù)碼管顯示模塊靜態(tài)顯示方式:靜態(tài)顯示方式是指當(dāng)顯示器顯示某一字符時,發(fā)光二極管的位選始終被選中。在這種顯示方式下,每一個LED數(shù)碼管顯示器都需要一個 8位的輸出口進行控制。由于單片 機本身提供的I/O 口有限,實際使用中,通常通過擴展I/O 口的形式解決輸出口數(shù)量不足的 問題。靜態(tài)顯示主要的優(yōu)點是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度

13、大,系統(tǒng)運行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了 CPU的時間,又提高了 CPU的工作效率。其不足之處是占用硬件資源較多,每個LED數(shù)碼管需要獨占8條輸出線。隨著顯示器位數(shù)的增加,需要的 I/O 口線也將增加。(2)動態(tài)顯示方式:動態(tài)顯示方式是指一位一位地輪流點亮每位顯示器(稱為掃描),即每個數(shù)碼管的位選被輪流選中,多個數(shù)碼管公用一組段選, 段選數(shù)據(jù)僅對位選選中的數(shù)碼管有效。對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也 與點亮?xí)r間和間隔時間的比例有關(guān)。通過調(diào)整電流和時間參數(shù),可以既保證亮度, 又保證顯示。若顯示器的位數(shù)不大于

14、8位,則顯示器的公共端只需一個8位I/O 口進行動態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個8位口(稱為段碼輸出)。示部分,電路圖如下2.1程序:倒計時子程序紅綠燈部分;MAX7219 子程序MAX7219:CLR P1.1;將LOAD信號拉低LCALL XH1; 一位字節(jié)送入 7219MOV A,R7 ;LCALLXH1 ;NOPNOPSETB P1.1 ;產(chǎn)生 LOAD 上升沿,鎖存數(shù)據(jù) RETXH1: MOV R2,#08H ; 總共有 8 位,移 8 次NEXT: CLR P1.2 ;將 CLK 拉低 RLC A ;A 中值左移入進位累加器 C 中 MOV P1.0,C

15、;給 DIN 口 NOPSETB P1.2 ;CLK 上升沿,移入數(shù)據(jù)NOPDJNZ R2,NEXT ;沒完成則繼續(xù)RETSHORT_DELAY:MOV 10H,#40 ;10msDEL: MOV 11H,#50DEL1: MOV 12H,#255DEL2:DJNZ12H,DEL2 ;125*2us=0.25msDJNZ11H,DEL1DJNZ10H,DEL;0.25ms*40=10msRETEND紅綠燈子程序LOOP: MOV R3,#26MOV P0,#1EHLCALL DISPRETLOOP1:MOV R3,#6MOV P0,#1DHLCALL DISPRETLOOP2: MOV R3,

16、#25MOV P0,#33HLCALL DISPRETLOOP3:MOV R3,#6MOV P0,#2BHLCALL DISPRET總程序 CLK EQU P1.2DIN EQU P1.0LOAD EQU P1.1ORG 0000HLJMP MAINORG 0090HMAIN :LCALL LOOPLCALL LOOP1LCALL LOOP2LCALL LOOP3 LJMP MAINLOOP: MOV R3,#26 MOV P0,#1EH LCALL DISP RETLOOP1:MOV R3,#6 MOV P0,#1DH LCALL DISP RETLOOP2: MOV R3,#25 MOV

17、P0,#33H LCALL DISP RETLOOP3:MOV R3,#6 MOV P0,#2BH LCALL DISP RETDISP:MOV A,#09H ;置譯碼器方式寄存器地址MOV R7,#0FFH ; 選擇譯碼方式LCALL MAX7219;寫入MOV A,#0AH ;置亮度寄存器地址MOV R7,#05H ;選擇占空比LCALL MAX7219;寫入MOV A,#0BH ;置 MAX7219 顯示掃描位數(shù)寄存器地址MOV R7,#07H ;選擇 8 位顯示方式LCALL MAX7219;寫入MOV A,#0CH;置關(guān)閉顯示寄存器地址MOV R7,#01H;選擇進入正常工作, 00

18、H 表示關(guān)閉LCALL MAX7219;寫入MOV 20H,R3DEC 20HMOV A,20HMOV B,#10DIV ABMOV 30H,AMOV 31H,BMOV R0,#30HCLR P1.1 ;MOV R1,#03H ;指向第 0 位 LEDMOV A,R0 ;取顯示緩沖區(qū)數(shù)據(jù)MOV R7,A ;顯示數(shù)MOV A,R1 ;LED 顯示的位地址給 A LCALL MAX7219 ;INC R0; 指向下一個顯示數(shù)據(jù)INC R1 ; 指向另一個數(shù)碼管MOV A,R0MOV R7,AMOV A,R1LCALL MAX7219MOV R0,#30HCLR P1.1 ;MOV R1,#07H ;指向第 0 位 LEDMOV A,R0 ;取顯示緩沖區(qū)數(shù)據(jù)MOV R7,A ;顯示數(shù)MOV A,R1 ;LED 顯示的位地址給 ALCALL MAX7219 ;INC R0; 指向下一個顯示數(shù)據(jù)INC R1 ; 指向另一個數(shù)碼管MOV A,R0MOV R7,AMOV A,R1LCALL MAX7219LCALL SHORT_D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論