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

下載本文檔

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

文檔簡(jiǎn)介

第1章總體設(shè)計(jì)方案1.1.設(shè)計(jì)思路1.1.1課程設(shè)計(jì)的目的(1).進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理。(2).掌握單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。(3).通過課程設(shè)計(jì),掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù)。(4).通過實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。(5).通過完成一個(gè)包括電路設(shè)計(jì)和程序開發(fā)的完整過程,了解開發(fā)一單片機(jī)應(yīng)用系統(tǒng)的全過程,為今后從事相應(yīng)開發(fā)打下基礎(chǔ)。1.1.2設(shè)計(jì)任務(wù)和內(nèi)容1設(shè)計(jì)任務(wù)單片機(jī)采用用AT89C51芯片,使用LED(紅,黃,綠)代表各個(gè)路口的交通燈,用8段數(shù)碼管對(duì)轉(zhuǎn)換時(shí)間進(jìn)行倒時(shí)(東西路口,南北路口各10秒,黃燈時(shí)間3秒)。2設(shè)計(jì)內(nèi)容(1)設(shè)計(jì)并繪制硬件電路圖。(2)編寫程序并將調(diào)試好的程序在proteu軟件中仿真O3方案設(shè)計(jì)與論證顯示界面方案該系統(tǒng)要求完成倒計(jì)時(shí)、狀態(tài)燈等功能。按照任務(wù)要求采用數(shù)碼管和MAX7219驅(qū)動(dòng)芯片設(shè)計(jì)方框圖整個(gè)設(shè)計(jì)以AT89C51單片機(jī)為核心,由數(shù)碼管顯示,LED數(shù)碼管顯示,MAX驅(qū)動(dòng)芯片。硬件模塊入圖2-1o4交通管理的方案論證東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。指示燈燃亮的方案如表2。255255S東西道紅燈亮紅燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮紅燈亮表2說明:(1)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時(shí)間為5秒。(2)黃燈5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。(3)當(dāng)東西方向?yàn)榫G燈,此匕道車輛通行;南北方向?yàn)榧t燈,南北道車輛禁止通過,行人通行。時(shí)間為5秒。(4)這樣如上表的時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。5芯片簡(jiǎn)介1)AT89C51單片機(jī)簡(jiǎn)介

AXIAL早1旭403937AXIAL早1旭403937363舛:為_33_323130的2827土251踞NIVss:電路接地端。P0.0~P0.7:通道0,它是8位漏極開路的雙向I/O通道當(dāng)擴(kuò)展外部存貯器時(shí),這也是低八位地址和數(shù)據(jù)總線在編程和校驗(yàn)期間它輸入和輸出字節(jié)代碼,通道0吸收/發(fā)出二個(gè)TTL負(fù)載P1.0~P1.7:通道1是8位擬雙向I/O通道,在編程和校驗(yàn)時(shí),它發(fā)出低8位地址。11通道1吸收/發(fā)出一個(gè)TTL負(fù)載。P2.0~P2.7:通道2是8位擬雙向I/O通道。當(dāng)訪問外部存貯器時(shí),用作高8位地址總線。通道2能吸收/發(fā)出一個(gè)TTL負(fù)載。P3.0~P3.7:通道3準(zhǔn)雙向I/O通道。通道3能吸收/發(fā)出一個(gè)TTL負(fù)載,P3通道的每一根線還有另一種功能:P3.0:RXD,串行輸入口。P3.1:TXD,串行輸出口。P3.2:INT0,外部中斷0輸入口。P3.3:INT1,外部中斷1輸入口。P3.4:T0,定時(shí)器/計(jì)數(shù)器0外部事件脈沖輸入端。P3.5:T1,定時(shí)器/計(jì)數(shù)器1外部事件脈沖輸入端P3.6:WR,外部數(shù)據(jù)存貯器寫脈沖。P3.7:RD,外部數(shù)據(jù)存貯器讀脈沖。RST/VpD:引腳9,復(fù)位輸入信號(hào),振蕩器工作時(shí),該引腳上2個(gè)機(jī)器周期的高電平可以實(shí)現(xiàn)復(fù)位操作,在掉電情況下Vcc降到操作允許限度以下后備電源加到此引腳將只給片內(nèi)RAM供電。ALE/PROG:引腳30,地址鎖存有效信號(hào),其主要作用是提供一個(gè)適當(dāng)?shù)亩〞r(shí)信號(hào)在它的下降沿用于外部程序存儲(chǔ)器或外部數(shù)據(jù)存貯器的低8位地址鎖存,使總線P0輸出/輸入口分時(shí)用作地址總線,低8位,和數(shù)據(jù)總線,此信號(hào)每個(gè)機(jī)器出現(xiàn)2次,只是在訪問外部數(shù)據(jù)存儲(chǔ)器期間才不輸出ALE。所以,在任何不使用外部數(shù)據(jù)存貯器的系統(tǒng)中,ALE以1/6振蕩頻率的固定速率輸出,因而它能用作外部時(shí)鐘或定時(shí),8751內(nèi)的EPROM編程時(shí),此端輸編程脈沖信號(hào)。PSEN:引腳29,程序選通有效信號(hào),當(dāng)從外部程序存貯器讀取指令時(shí)產(chǎn)生,低電平時(shí),指令寄存器的內(nèi)容讀到數(shù)據(jù)總線上。EA/VPP:引腳31,當(dāng)保持TTL高電平時(shí),如果指令計(jì)數(shù)器小于4096~8051執(zhí)行內(nèi)部ROM的指令,8751執(zhí)行內(nèi)部EPROM的指令,當(dāng)使TTL為低電平時(shí),從外部程序存貯器取出所有指令,在8751內(nèi)的EPROM編程時(shí),此端為21V編程電源輸入端。XTAL1:引腳18,內(nèi)部振蕩器外接晶振的一個(gè)輸入端,HMOS芯片使用外部振蕩源時(shí),,此端必須接地。XTAL2:引腳19,內(nèi)部振蕩器外2)MAX7219芯片簡(jiǎn)介MAX7219/MAX7221是一種集成化的串行輸入瀚出共陰極顯示驅(qū)動(dòng)器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。其上包括一個(gè)片上的B型BCD編碼器、多路掃描回路,段字驅(qū)動(dòng)器,而且還有一個(gè)8*8的靜態(tài)RAM用來存儲(chǔ)每一個(gè)數(shù)據(jù)。只有一個(gè)外部寄存器用來設(shè)置各個(gè)LED的段電流。MAX7221與SPI、QSPI以及MICROWIRE相兼容,同時(shí)它有限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來減少EMI(電磁干擾)。一個(gè)方便的四線串行接口可以聯(lián)接所有通用的微處理器。每個(gè)數(shù)據(jù)可以尋址在更新時(shí)不需要改寫所有的顯示。MAX7219/MAX7221同樣允許用戶對(duì)每一個(gè)數(shù)據(jù)選擇編碼或者不編碼。整個(gè)設(shè)備包含一個(gè)150〃A的低功耗關(guān)閉模式,模擬和數(shù)字亮度控制,一個(gè)掃描限制寄存器允許用戶顯示1-8位數(shù)據(jù),還有一個(gè)讓所有LED發(fā)光的檢測(cè)模式電路模塊1.1.3驅(qū)動(dòng)芯片和LED數(shù)碼管顯設(shè)計(jì)方框圖LED倒計(jì)時(shí)顯示LED倒計(jì)時(shí)顯示1.1.4殳計(jì)原理分析對(duì)于一個(gè)交通路口來說,能在最短的時(shí)間內(nèi)達(dá)到最大的車流量,就算是達(dá)到了最佳的性能,我們稱在單位時(shí)間內(nèi)多能達(dá)到的最大車流為車流量,用公式:車流量=車流/時(shí)間來表示。先設(shè)定一些標(biāo)號(hào)如圖2-1所示。

說明:此圖為直方圖,上邊為北路口燈,右邊為東路口燈,下邊為南路口燈,左邊為西路口燈。圖2-2所示為一種紅綠燈規(guī)則的狀態(tài)圖,分別設(shè)定為S1、S2、S3、S4,交通燈以這四的狀態(tài)為一個(gè)周期,循環(huán)執(zhí)行(見圖2-3)。圖2-1請(qǐng)注意圖2-1b和圖2-1d,它們?cè)谝粋€(gè)時(shí)間段中四個(gè)方向都可以通車,這種狀態(tài)能在一定的時(shí)間內(nèi)達(dá)到較大的車流量,效率特別高。依據(jù)上述的車輛行駛的狀態(tài)圖,可以列出各個(gè)路口燈的邏輯表,由于相向的燈的狀態(tài)圖是一樣的,所以只需寫出相鄰路口的燈的邏輯表;根據(jù)圖2-3可以看出,相鄰路口的燈它們的

狀態(tài)在相位上相差180°。因此最終只需寫出一組S1、S2、S3、S4的邏輯狀態(tài)表。如表2-1所示。(s>句2-3文逋燈:T:JM態(tài)。舟、為次備ABCDEFGH邏輯值X7XVXXXX顯不時(shí)間從4。"|:始i"秒S2的狀態(tài)ABCDEFGH邏輯值VXXXXVX顯示時(shí)"最3。秒汗始氏。杪S3的1K恣ABCDEFGH邏輯值XXXXXVX顯不時(shí)間從網(wǎng)利":,始直3。丑S4*:引::冬ABCDEFGHMTEXb=TAlH表中的“X”,代表是土紅燈亮H乜代表邏左宇上的0)“/”是,代表綠燈燈((也代表邏輯上的1),依上表,新可以向相應(yīng)的端口送邏輯值。乩對(duì)秒■訐始吭°秒1.1.4交通燈顯示時(shí)間的理論分析與計(jì)算東西和南北方向的放行時(shí)間的長(zhǎng)短是依據(jù)路口的各個(gè)方向平時(shí)的車流量來設(shè)定,并且S1、S2、S3、S4各個(gè)狀態(tài)保持的時(shí)間之有嚴(yán)格的對(duì)應(yīng)關(guān)系,其公式如下示。T-S1+T-S2=T-S3T-S2=T-S4T-S1=T-S3我們可以依據(jù)上述的標(biāo)準(zhǔn)來改變車輛的放行時(shí)間。按照一般的規(guī)則,一個(gè)十字路口可分為主干道和次干道,主干道的放行時(shí)間大于次干道的放行時(shí)間,我們?cè)O(shè)定值時(shí)也應(yīng)以此為參考

第2章仿真圖與設(shè)計(jì)程序2.1LED數(shù)碼管顯示模塊靜態(tài)顯示方式:靜態(tài)顯示方式是指當(dāng)顯示器顯示某一字符時(shí),發(fā)光二極管的位選始終被選中。在這種顯示方式下,每一個(gè)LED數(shù)碼管顯示器都需要一個(gè)8位的輸出口進(jìn)行控制。由于單片機(jī)本身提供的I/O口有限,實(shí)際使用中,通常通過擴(kuò)展I/O口的形式解決輸出口數(shù)量不足的問題。靜態(tài)顯示主要的優(yōu)點(diǎn)是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度大,系統(tǒng)運(yùn)行過程中,在需要更新顯示內(nèi)容時(shí),CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時(shí)間,又提高了CPU的工作效率。其不足之處是占用硬件資源較多,每個(gè)LED數(shù)碼管需要獨(dú)占8條輸出線。隨著顯示器位數(shù)的增加,需要的I/O口線也將增加。(2)動(dòng)態(tài)顯示方式:動(dòng)態(tài)顯示方式是指一位一位地輪流點(diǎn)亮每位顯示器(稱為掃描),即每個(gè)數(shù)碼管的位選被輪流選中,多個(gè)數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對(duì)位選選中的數(shù)碼管有效。對(duì)于每一位顯示器來說,每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。通過調(diào)整電流和時(shí)間參數(shù),可以既保證亮度,又保證顯示。若顯示器的位數(shù)不大于8位,則顯示器的公共端只需一個(gè)8位I/O口進(jìn)行動(dòng)態(tài)掃描(稱為掃描口),控制每位顯示器所顯示的字形也需一個(gè)8位口(稱為段碼輸出)。示部分,電路圖如下2.1程序:ABCDEFGDP1234L<lG1G2G3L4?GtiG7DlDlDlDlDlDlDlDIU21B□INLOADCLK12>13B18BISET□OUT24"\.IW:7219kTEwT::-倒計(jì)時(shí)子程序紅綠燈部分;MAX7219子程序MAX7219:CLRP1.1將LOAD信號(hào)拉低LCALLXH1;一位字節(jié)送入7219MOVA,R7;LCALLXH1;NOPNOPSETBP1.1產(chǎn)生LOAD上升沿,鎖存數(shù)據(jù)RETXH1:MOVR2,#08H總共有8位,移8次NEXT:CLRP1.2將CLK拉低RLCA;A中值左移入進(jìn)位累加器C中MOVP1.0,C給DIN口NOPSETBP1.2;CLK上升沿,移入數(shù)據(jù)NOPDJNZR2,NEXT;沒完成則繼續(xù)RETSHORT_DELAY:MOV10H,#40;10msDEL:MOV11H,#50DEL1:MOV12H,#255DEL2:DJNZ12H,DEL2;125*2us=0.25msDJNZ11H,DEL1DJNZ10H,DEL;0.25ms*40=10msRETEND紅綠燈子程序LOOP:MOVR3,#26MOVP0,#1EHLCALLDISPRETLOOP1:MOVR3,#6MOVP0,#1DHLCALLDISPRETLOOP2:MOVR3,#25MOVP0,#33HLCALLDISPRETLOOP3:MOVR3,#6MOVP0,#2BHLCALLDISPRET總程序CLKEQUP1.2DINEQUP1.0LOADEQUP1.1ORG0000HLJMPMAINORG0090HMAIN:LCALLLOOPLCALLLOOP1LCALLLOOP2LCALLLOOP3LJMPMAINLOOP:MOVR3,#26MOVP0,#1EHLCALLDISPRETLOOP1:MOVR3,#6MOVP0,#1DHLCALLDISPRETLOOP2:MOVR3,#25MOVP0,#33HLCALLDISPRETLOOP3:MOVR3,#6MOVP0,#2BHLCALLDISPRETDISP:MOVA,#09H;置譯碼器方式寄存器地址MOVR7,#0FFH;選擇譯碼方式LCALLMAX7219;寫入MOVA,#0AH;置亮度寄存器地址MOVR7,#05H選擇占空比LCALLMAX7219;寫入MOVA,#0BH;置MAX7219顯示掃描位數(shù)寄存器地址MOVR7,#07H;選擇8位顯示方式LCALLMAX7219;寫入MOVA,#0CH;置關(guān)閉顯示寄存器地址MOVR7,#01H;選擇進(jìn)入正常工作,00H表示關(guān)閉LCALLMAX7219;寫入MOV20H,R3DEC20HMOVA,20HMOVB,#10DIVABMOV30H,AMOV31H,BMOVR0,#30HCLRP1.1;MOVR1,#03H指向第0位LEDMOVA,@R0;取顯示緩沖區(qū)數(shù)據(jù)MOVR7,A;顯示數(shù)MOVA,R1;LED顯示的位地址給ALCALLMAX7219;INCR0;指向下一個(gè)顯示數(shù)據(jù)INCR1指向另一個(gè)數(shù)碼管MOVA,@R0MOVR7,AMOVA,R1LCALLMAX7219MOVR0,#30HCLRP1.1;MOVR1,#07H指向第0位LEDMOVA,@R0;取顯示緩沖區(qū)數(shù)據(jù)MOVR7,A;顯示數(shù)MOVA,R1;LED顯示的位地址給ALCALLMAX7219INCR0;指向下一個(gè)顯示數(shù)據(jù)INCR1指向另一個(gè)數(shù)碼管MOVA,@R0MOVR7,AMOVA,R1LCALLMAX7219LCALLSHORT_DELAYDJNZR3,DISPRET;MAX7219子程序MAX7219:CLRP1.1將LOAD信號(hào)拉低LCALLXH1一位字節(jié)送入7219MOVA,R7;LCALLXH1;NOPNOPSETBP1.1產(chǎn)生LOAD上升沿,鎖存數(shù)據(jù)RETXH1:MOVR2,#08H總共有8位,移8次NEXT:CLRP1.2將CLK拉低RLCA;A中值左移入進(jìn)位累加器C中MOVP1.0,C給DIN口NOPSETBP1.2;CLK上升沿,移入數(shù)據(jù)NOPDJNZR2,NEXT;沒完成則繼續(xù)RE

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論