基于單片機(jī)的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)說明_第1頁(yè)
基于單片機(jī)的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)說明_第2頁(yè)
基于單片機(jī)的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)說明_第3頁(yè)
基于單片機(jī)的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)說明_第4頁(yè)
基于單片機(jī)的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)說明_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 大學(xué)網(wǎng)絡(luò)教育學(xué)院畢業(yè)設(shè)計(jì)(論文)題目 基于單片機(jī)的交通信號(hào)燈控制系統(tǒng)設(shè)計(jì)學(xué)生所在校外學(xué)習(xí)中心 校外學(xué)習(xí)中心 批次 層次 專業(yè) 092 ??破瘘c(diǎn)本科 電氣工程與其自動(dòng)化學(xué) 號(hào) W09205801學(xué) 生 鄧力指 導(dǎo) 教 師 黃艷玲起止日期2011年9月 1 日起至2011年 11 月30日止摘 要隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問題越來越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。隨著當(dāng)今社會(huì)的迅速發(fā)展,汽車的銷售量有了很大的提

2、高。大量汽車的出售,給我們的生活帶了很大的便利。但是,它也給城市的交通提出了更加嚴(yán)峻的考驗(yàn)。在這種情況下,我們除了要修建更加好的道路外,還需要設(shè)計(jì)出更多更好的交通信號(hào)燈控制系統(tǒng)。 在現(xiàn)代,利用單片機(jī)來實(shí)現(xiàn)交通信號(hào)燈的控制成了我們調(diào)控交通的主流。運(yùn)用單片機(jī)控制交通信號(hào)燈方便,性能高,易于控制。所以,我們很必要對(duì)這一課題進(jìn)行一次系統(tǒng)的研究學(xué)習(xí)。在本次畢業(yè)設(shè)計(jì)中,我的主要設(shè)計(jì)任務(wù)是在一個(gè)十字路口設(shè)計(jì)一個(gè)交通信號(hào)燈,并用單片機(jī)進(jìn)行合理的控制。本系統(tǒng)由AT89C51單片機(jī)、鍵盤、LED顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以與基本的交通信號(hào)燈的功能。系統(tǒng)除基本交通信號(hào)燈功能外,還具有倒計(jì)

3、時(shí)、時(shí)間設(shè)置、緊急情況處理、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間以與根據(jù)具體情況手動(dòng)控制等功能。關(guān)鍵詞:?jiǎn)纹瑱C(jī),交通信號(hào)燈34 / 41目錄中文摘要······································

4、83;·················································

5、83;············1. 引言····································

6、3;·················································

7、3;·················12. 設(shè)計(jì)任務(wù)與思路·······························

8、;··················································

9、;·······13. 單片機(jī)·········································

10、3;·················································

11、3;·········33.1 單片機(jī)簡(jiǎn)介·······································

12、··················································

13、····33.2 單片機(jī)基本結(jié)構(gòu) ············································

14、;·········································3 3.3 單片機(jī)硬件特性 ······

15、83;·················································

16、83;····························34. 芯片的選擇····················

17、··················································

18、························44.1 74LS373以與74LS07芯片簡(jiǎn)介······················

19、·············································44.2 8255芯片···&

20、#183;·················································&

21、#183;·········································54.2.1 8255可編程并行接口芯片簡(jiǎn)介····

22、83;·················································

23、83;········54.2.2 8255可編程并行接口芯片方式控制字格式說明····································

24、3;····54.3 晶閘管············································&#

25、183;·················································&#

26、183;····75. 交通燈控制原理分析與方案論證··········································&#

27、183;······················86. 系統(tǒng)硬件設(shè)計(jì)·························

28、3;·················································

29、3;···············96.1 總體設(shè)計(jì)·································&

30、#183;·················································&

31、#183;············96.2 單片機(jī)最小系統(tǒng)···································&

32、#183;·················································&

33、#183;96.2.1 振蕩電路···············································&#

34、183;·············································96.2.2 復(fù)位電路··

35、83;·················································

36、83;······································106.3 顯示與其驅(qū)動(dòng)模塊·········&

37、#183;·················································&

38、#183;·····················116.3.1 鍵盤與狀態(tài)顯示功能·························&#

39、183;·················································11

40、6.3.2 倒計(jì)時(shí)計(jì)數(shù)功能················································

41、;·································117. 系統(tǒng)軟件設(shè)計(jì)···············

42、··················································

43、························127.1 延時(shí)程序設(shè)計(jì)························

44、··················································

45、··············127.1.1 計(jì)數(shù)器硬件延時(shí)·································

46、83;···············································127.1.2 軟件延時(shí)

47、83;·················································

48、83;········································137.2 時(shí)間與信號(hào)燈的顯示·······

49、··················································

50、·····················147.2.1 8031并行口的擴(kuò)展··························

51、··················································

52、·147.2.2 顯示原理···············································

53、············································157.2.3 8255輸出信號(hào)的放大···

54、;··················································

55、;·····················157.2.4 8255輸出信號(hào)與信號(hào)燈的連接·························

56、····································157.2.5 8255與8031的連接··········

57、3;·················································

58、3;···············167.3 程序設(shè)計(jì)·································

59、··················································

60、···········167.3.1 流程圖·····································&

61、#183;·················································&

62、#183;······167.3.2 源程序代碼·········································

63、···············································197.4 調(diào)試運(yùn)行·&#

64、183;·················································&#

65、183;··········································23設(shè)計(jì)總結(jié)······&#

66、183;·················································&#

67、183;············································24參考文獻(xiàn)····&#

68、183;·················································&#

69、183;··············································25致···

70、;··················································

71、;··················································

72、;····26附錄1·············································

73、··················································

74、··········27附錄2·······································&

75、#183;·················································&

76、#183;···············281引言當(dāng)今,交通信號(hào)燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段,這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩種旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“

77、注意”。1869年1月2日,煤氣燈爆炸,造成人員傷亡,遂被取消。電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年開始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,另一種是用擴(kuò)音器來啟動(dòng)紅綠燈。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右

78、轉(zhuǎn)彎車輛都必須讓合法地正在路口行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口?;趩纹瑱C(jī)構(gòu)成的城市交通信號(hào)燈控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率。但利用單片機(jī)控制交通信號(hào)燈涉與到一些現(xiàn)實(shí)問題,諸如信號(hào)的驅(qū)動(dòng)、車輛到達(dá)的感知等。為此,我們采用模擬方式進(jìn)行說明。所謂模擬,就是用綠、黃、紅色三只共四組發(fā)光二極管代替交通信號(hào)燈。目前,城市交通信號(hào)燈控制系統(tǒng)應(yīng)用廣泛,因此,開發(fā)這種系統(tǒng)非常實(shí)用。2設(shè)計(jì)任務(wù)與思路設(shè)計(jì)一個(gè)能夠控制

79、十二盞交通信號(hào)燈的模擬系統(tǒng)。通過交通信號(hào)燈控制系統(tǒng)的設(shè)計(jì)。系統(tǒng)工作受開關(guān)控制,起動(dòng)開關(guān) ON 則系統(tǒng)工作;起動(dòng)開關(guān) OFF 則系統(tǒng)停止工作??刂茖?duì)象如下:東西方向紅燈兩個(gè) , 南北方向紅燈兩個(gè),東西方向黃燈兩個(gè) , 南北方向黃燈兩個(gè),東西方向綠燈兩個(gè) , 南北方向綠燈兩個(gè),圖1 交通信號(hào)示意十字路口東西方向和南北方向各裝有直行(包括右拐彎)控制紅、黃、綠交通信號(hào)燈(如圖1所示)。還有倒計(jì)時(shí)顯示器,顯示器用于顯示相應(yīng)方向直行控制當(dāng)前點(diǎn)亮信號(hào)燈還要持續(xù)的時(shí)間(即剩余時(shí)間)。系統(tǒng)中有兩個(gè)按鈕啟動(dòng)和停止,啟動(dòng)按鈕按下后信號(hào)燈系統(tǒng)開始工作,并周而復(fù)始地循環(huán);停止按鈕按下,所有信號(hào)燈都熄滅。信號(hào)燈的控制規(guī)

80、律如表1所示。即系統(tǒng)啟動(dòng)后,東西方向先綠燈亮25s,然后綠燈閃爍3s,最后黃燈亮2s,與此同時(shí)南北方向紅燈亮30s。南北方向紅燈亮30s后轉(zhuǎn)為先綠燈亮25s,然后綠燈閃爍3s,最后黃燈亮2s,東西向紅燈亮30s。由此周而復(fù)始地循環(huán)。要求采用單片機(jī)實(shí)現(xiàn)交通燈的控制規(guī)律。表1 信號(hào)燈控制規(guī)律東西方向信號(hào)綠燈亮綠燈閃爍黃燈亮紅燈亮?xí)r間25s3s2s30s南北方向信號(hào)紅燈亮綠燈亮綠燈閃爍黃燈亮?xí)r間30s25s3s2s設(shè)計(jì)電路中使用到的主要元器件,單片機(jī)芯片、8255芯片和晶閘管。十字路口分四條道,每條道有三個(gè)紅綠燈,共十二個(gè)。每個(gè)紅綠燈由一塊8031芯片單獨(dú)控制,我們只設(shè)計(jì)一個(gè)紅綠燈的燃亮情況,同理根

81、據(jù)燃亮順序設(shè)計(jì)其它紅綠燈。然后再組合起來,達(dá)到設(shè)計(jì)要求。3單片機(jī)3.1單片機(jī)簡(jiǎn)介單片機(jī)是一種集成電路芯片,簡(jiǎn)稱為單片微型計(jì)算機(jī)。是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU,隨機(jī)存儲(chǔ)器RAM,只讀存儲(chǔ)器ROM,多種I0口和中斷系統(tǒng),定時(shí)器,計(jì)時(shí)器等功能,集成在一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。3.2單片機(jī)基本結(jié)構(gòu)單片機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入輸出設(shè)備組成。3.3單片機(jī)硬件特性(1)單片機(jī)集成度很高,單片機(jī)包括CPU、4KB容量的ROM(8031無)、128B容量的RAM、2個(gè)16定時(shí)計(jì)時(shí)器、4個(gè)8位并行口、全雙工串口行口。(2)單片機(jī)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用方便,實(shí)現(xiàn)

82、了模塊化。(3)單片機(jī)可靠性能好,可工作很長(zhǎng)時(shí)間。(4)處理功能強(qiáng),速度快4芯片的選擇4.1 74LS373以與74LS07簡(jiǎn)介74LS373 是一種帶三態(tài)門的8D鎖存器,其管腳示意圖2如下所示:圖2 74LS373管腳示意圖其中:1D-8D為8個(gè)輸入端。1Q-8Q為8個(gè)輸出端。LE為數(shù)據(jù)打入端:當(dāng)LE為“1”時(shí),鎖存器輸出狀態(tài)同輸入狀態(tài);當(dāng)LE由“1”變“0”時(shí),數(shù)據(jù)打入鎖存器OE為輸出允許端;當(dāng)OE=0時(shí),三態(tài)門打開;當(dāng)OE=1時(shí),三態(tài)門關(guān)閉,輸出高阻。六驅(qū)動(dòng)器(OC高壓輸出) 74LS07      Vcc  6A &

83、#160;6Y  5A  5Y  4A  4         14  13  12  11  10   9   8Y = A    )            &

84、#160;                      1   2   3   4   5   6   7        7805實(shí)現(xiàn)正電壓輸出,負(fù)電壓截止。4.2 8255芯片4.2.1 8

85、255可編程并行接口芯片簡(jiǎn)介8255可編程并行接口芯片有三個(gè)輸入輸出端口,即A口、B口和C口,對(duì)應(yīng)于引腳PA7PA0、PB7PB0和PC7PC0。其部還有一個(gè)控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口AB配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入。8255的部組成框圖如圖3所示:圖3 8255部組成框圖4.2.2 8255可編程并行接口芯片方式控制字格式說明8255有兩種控制命令字:一個(gè)是方式選擇控制字;另一個(gè)是C口按位置位復(fù)位控制字。其中C口按位置位復(fù)位控制

86、字方式使用較為繁難,說明也較冗長(zhǎng),故在此不作敘述。方式控制字格式說明如圖4所示:圖4 8255方式控制字方式0:基本輸入輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。方式0適合于兩種情況:一種是無條件傳送,另一種是查詢方式傳送。方式1:選通輸入輸出方式。這時(shí)A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。方式2 :雙向選通輸入/輸出方式。只有A口具備雙向選通輸入/輸出方式,8位外設(shè)線用作輸入或輸出。4.3 晶閘管晶閘管(Thyristor)是晶體閘流管的簡(jiǎn)稱,又可稱做可控硅整流器,以前被簡(jiǎn)稱為可控

87、硅;晶閘管是PNPN四層半導(dǎo)體結(jié)構(gòu),它有三個(gè)極:陽極,陰極和門極;晶閘管工作條件為:加正向電壓且門極有觸發(fā)電流;其派生器件有:快速晶閘管,雙向晶閘管,逆導(dǎo)晶閘管,光控晶閘管等。它是一種大功率開關(guān)型半導(dǎo)體器件,在電路P1N1P2N2GKA中用文字符號(hào)“VT”表示;圖AGIc0PNPREKNPNIaIc1IgIc2Ik5為晶閘管的結(jié)構(gòu)圖;圖6為晶閘管的電路圖;圖5 晶閘管的結(jié)構(gòu)圖 圖6 為晶閘管的電路圖 晶閘管VT在工作過程中,它的陽極A和陰極K與電源和負(fù)載連接,組成晶閘管的主電路,晶閘管的門極G和陰極K與控制晶閘管的裝置連接,組成晶閘管的控制電路。晶閘管的工作條件: 1. 晶閘管承受反向陽極電壓

88、時(shí),不管門極承受何種電壓,晶閘管都處于關(guān)斷狀態(tài)。2. 晶閘管承受正向陽極電壓時(shí),僅在門極承受正向電壓的情況下晶閘管才導(dǎo)通。3. 晶閘管在導(dǎo)通情況下,只要有一定的正向陽極電壓,不論門極電壓如何,晶閘管保持導(dǎo)通,即晶閘管導(dǎo)通后,門極失去作用。在電路中我們使用的晶閘管來控制紅綠燈的亮滅。如圖7所示:圖7 晶閘管控制電路5交通燈控制原理分析與方案論證本設(shè)計(jì)以單片機(jī)為核心,以LED數(shù)碼管作為倒計(jì)時(shí)指示,根據(jù)設(shè)計(jì)的要求我們考慮了各功能模塊的幾種設(shè)計(jì)方案,以求最佳方案,實(shí)現(xiàn)實(shí)時(shí)顯示系統(tǒng)各種狀態(tài),系統(tǒng)還增設(shè)了根據(jù)交通擁擠情況可分別設(shè)置主干道和次干道的通行時(shí)間,以提高效率,緩減交通擁擠。系統(tǒng)總體設(shè)計(jì)框圖如圖8所

89、示:?jiǎn)纹瑱C(jī)最小系統(tǒng)倒計(jì)時(shí)交通燈鍵盤與狀態(tài)顯示圖8 系統(tǒng)總體設(shè)計(jì)1電源提供方案為使模塊穩(wěn)定工作,須有可靠電源。本次設(shè)計(jì)考慮了兩種電源方案:方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用單片機(jī)控制模塊提供電源。該方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。綜上所述,選擇第二種方案。2顯示界面方案該系統(tǒng)要求完成倒計(jì)時(shí)功能?;谏鲜鲈颍敬卧O(shè)計(jì)考慮了兩種方案:方案一:完全采用點(diǎn)陣式LED顯示。這種方案功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等,但實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作

90、。方案二:完全采用數(shù)碼管顯示。這種方案優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,可以完成倒計(jì)時(shí)功能。缺點(diǎn)是功能較少,只能顯示有限的符號(hào)和數(shù)碼字符。根據(jù)本設(shè)計(jì)的要求,方案二已經(jīng)滿足了要求,所以本次設(shè)計(jì)采用方案二以實(shí)現(xiàn)系統(tǒng)的顯示功能。3輸入方案這里同樣討論了兩種方案:方案一:采用8155擴(kuò)展I/O口、鍵盤與顯示等。該方案的優(yōu)點(diǎn)是使用靈活可編程,并且有RAM與計(jì)數(shù)器。若用該方案,可提供較多I/O口,但操作起來稍顯復(fù)雜。方案二:直接在I/O口線上接上按鍵開關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡(jiǎn)和優(yōu)化了電路,所以剩余的端口資源還比較多,我們使用六個(gè)按鍵,分別是P16、P17、P27、P30、P32、P33,依次完成倒計(jì)時(shí)加1、倒計(jì)時(shí)減1、調(diào)完確認(rèn)、

91、調(diào)時(shí)方向切換、南北強(qiáng)行和東西強(qiáng)行等功能。由于該系統(tǒng)是對(duì)交通燈與數(shù)碼管的控制,只需用單片機(jī)本身的I/O口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器與RAM已經(jīng)夠用,故選擇方案二。6.系統(tǒng)硬件設(shè)計(jì)硬件設(shè)計(jì)是整個(gè)系統(tǒng)的基礎(chǔ),要考慮的方方面面很多,除了實(shí)現(xiàn)交通燈基本功能以外,主要還要考慮如下幾個(gè)因素:系統(tǒng)穩(wěn)定度;器件的通用性或易選購(gòu)性;軟件編程的易實(shí)現(xiàn)性;系統(tǒng)其它功能與性能指標(biāo);因此硬件設(shè)計(jì)至關(guān)重要。現(xiàn)從各功能模塊的實(shí)現(xiàn)逐個(gè)進(jìn)行分析探討。6.1總體設(shè)計(jì)本設(shè)計(jì)以單片機(jī)為控制核心,采用模塊化設(shè)計(jì),共分以下幾個(gè)功能模塊:?jiǎn)纹瑱C(jī)控制系統(tǒng)、鍵盤與狀態(tài)顯示、倒計(jì)時(shí)模塊等。單片機(jī)作為整個(gè)硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機(jī)工作的控制器,又

92、是數(shù)據(jù)處理器。它由單片機(jī)振蕩電路、復(fù)位電路等組成。鍵盤與狀態(tài)顯示,開關(guān)鍵盤輸入交通燈初始時(shí)間,通過單片機(jī)P1輸入到系統(tǒng)。系統(tǒng)采用雙數(shù)碼管倒計(jì)時(shí)計(jì)數(shù)功能,最大顯示數(shù)字99。友好的人機(jī)界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)是本設(shè)計(jì)的亮點(diǎn)。6.2 單片機(jī)最小系統(tǒng)6.2.1振蕩電路AT89C51是部具有振蕩電路的單片機(jī),只需在18腳和19腳之間接上石英晶體,給單片機(jī)加工作所需直流電源,振蕩器就開始振蕩起來。振蕩電路就為單片機(jī)工作提供了所需要的時(shí)鐘脈沖信號(hào),是單片機(jī)的部電路、單片機(jī)的部程序(若有)開始工作。振蕩電路不工作,整個(gè)單片機(jī)電路都不能正常工作。AT89C51常外接6MHz、12MHz的石英晶體,1

93、8腳和19腳分別對(duì)地接了一個(gè)20pF的電容,目的是防止單片機(jī)自激。若從18腳輸入外部時(shí)鐘脈沖,則19腳接地。6.2.2復(fù)位電路復(fù)位電路就是在RST端(9腳)外接的一個(gè)電路,目的是使單片機(jī)上的電開始工作時(shí),部電路從初始狀態(tài)開始工作,或者在工作中人為讓單片機(jī)重新從初始狀態(tài)開始工作。在時(shí)鐘工作的情況下,只要復(fù)位引腳高電平保持在兩個(gè)機(jī)器周期以上的時(shí)間,AT89C51便能完成系統(tǒng)重置的各項(xiàng)工作,使得部特殊功能寄存器的容均被設(shè)置成已知狀態(tài),并且從地址0000H處讀入程序代碼而執(zhí)行程序。單片機(jī)最小系統(tǒng)電路如圖9所示:圖9 單片機(jī)最小系統(tǒng)電路6.3 顯示與其驅(qū)動(dòng)模塊6.3.1 鍵盤與狀態(tài)顯示功能鍵盤在本設(shè)計(jì)中

94、用于緊急情況的手動(dòng)控制裝置,以與定時(shí)時(shí)間的設(shè)置等功能,起到了不可缺少的重要作用。當(dāng)定時(shí)器定時(shí)為1秒時(shí)程序跳轉(zhuǎn)到時(shí)間顯示與信號(hào)燈顯示子程序,它將依次顯示信號(hào)燈時(shí)間,同時(shí)一直顯示信號(hào)燈的顏色,這時(shí)在返回定時(shí)子程序定時(shí)1秒,在顯示黃燈的下一個(gè)時(shí)間,這樣依次把所有的時(shí)間顯示完后在重新給時(shí)間計(jì)數(shù)器賦初值,重新進(jìn)入循環(huán)。鍵盤電路如圖10所示:圖10 鍵盤電路6.3.2 倒計(jì)時(shí)計(jì)數(shù)功能本系統(tǒng)使用數(shù)碼管完成倒計(jì)時(shí)顯示功能。以南北方向?yàn)槔?,?shù)碼管顯示的數(shù)值從綠燈的設(shè)置時(shí)間最大值往下減,每秒鐘減1,一直減到1。然后又從紅燈的設(shè)置時(shí)間最大值往下減,一直減到1。接下來又顯示綠燈時(shí)間,如此循環(huán)。系統(tǒng)共有4個(gè)兩位的LED

95、數(shù)碼管,分別放置在模擬交通燈控制板上的四個(gè)路口。各個(gè)方向的數(shù)碼管個(gè)位(把數(shù)碼管第二位定義為個(gè)位,第一位定義為十位)用一根信號(hào)線控制,十位用另一根信號(hào)線控制。這里采用動(dòng)態(tài)顯示。LED數(shù)碼管如圖11所示:圖11 LED數(shù)碼管7系統(tǒng)軟件設(shè)計(jì)7.1延時(shí)程序設(shè)計(jì)延時(shí)方法可以有兩種一種是利用MCS-51部定時(shí)器產(chǎn)生溢出中斷來確定延時(shí)的時(shí)間,另一種是采用軟延時(shí)的方法。下面給出延時(shí)1秒的實(shí)現(xiàn)方法。7.1.1計(jì)數(shù)器硬件延時(shí) 計(jì)數(shù)器初值計(jì)算定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和

96、計(jì)數(shù)初值設(shè)定為TC 可得到如下計(jì)算通式: TC=M-C式中,M為計(jì)數(shù)器模值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為213 ;在方式1時(shí)M的值為216;在方式2和3的M值為28。 計(jì)算公式T=(MTC)T計(jì)數(shù)或TCMTT計(jì)數(shù)T計(jì)數(shù)是單片機(jī)時(shí)鐘周期TCLK的12倍;TC為定時(shí)初值如單片機(jī)的主脈沖頻率為TCLK=12MHZ,經(jīng)過12分頻方式0TMAX213*1微秒8.192毫秒方式1TMAX216*1微秒65.536毫秒方式2、3 TMAX= 28 *1微秒=256微秒顯然1秒鐘已經(jīng)超過了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法和級(jí)聯(lián)的方式解決這么個(gè)問題。設(shè)置秒延時(shí)我們采用在主

97、程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T0定時(shí)50毫秒。這樣每當(dāng)T0到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到,可以返回到輸出時(shí)間顯示程序。相應(yīng)程序代碼 主程序定時(shí)器需定時(shí)50毫秒,故T0工作于方式1。初值:TCMTT計(jì)數(shù)21650ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ;令T0為定時(shí)器方式1 MOV TH0, #3CH ;裝入定時(shí)器初值 MOV TL0, #BOH MOV IE,#82H ;開T0中斷 SEBT TR0;啟動(dòng)

98、T0計(jì)數(shù)器 MOV RO,#14H ;軟件計(jì)數(shù)器賦初值LOOP:SJMP $;等待中斷 中斷服務(wù)子程序 ORG000BH AJMPBRTO ORG2000H BRTO:DJNZ R0,NEXTAJMP TIME ;跳轉(zhuǎn)到時(shí)間與信號(hào)燈顯示子程序 MOVR0,#14H ;恢復(fù)R0值 MOV TH0,#3CH ;重裝入定時(shí)器初值 MOV TL0,#BOH MOV IE,#82H RETIEND7.1.2軟件延時(shí)MCS-51的工作頻率為2-12MHZ,我們選用的8031單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。我們可以知

99、道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時(shí)間。具體的延時(shí)程序分析:DELAY: MOV R4,#08H ;延時(shí)1秒子程序DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 ; 延時(shí)125ms 子程序 MOV R5,#0DE1: DJNZ R5,$ DJNZ R6,DE1RET MOV RN,#DATA ;字節(jié)數(shù)數(shù)為2, 機(jī)器周期數(shù)為1DELAY1為一個(gè)延時(shí)125mS子程序的雙重循環(huán),循環(huán)次數(shù)256*256=65536 所以延時(shí)時(shí)間為65536*2=131072us 約為125ms。 R4設(shè)置的初值為8時(shí),主延時(shí)程序循環(huán)8

100、次,所以125ms*8= 1秒。由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。7.2時(shí)間與信號(hào)燈的顯示7.2.1 8031并行口的擴(kuò)展8031雖然有4個(gè)8位I/O端口,但真正能提供借用的只有P1口,因?yàn)镻2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8031通常需要擴(kuò)展。由于我們向外輸出時(shí)間時(shí),時(shí)間的個(gè)位、十位、信號(hào)燈的顯示都要用到一個(gè)I/O端口,顯然8031的端口是不夠,需要擴(kuò)展。擴(kuò)展的方法有兩種:(1)借用外部RAM地址來擴(kuò)展I/O端口;(2)采用I/O接口芯片來擴(kuò)充。我們也可以用8255并行接口芯片來擴(kuò)展I/O端口。7.2.2顯示原理當(dāng)定時(shí)器定時(shí)為1秒

101、時(shí)程序跳轉(zhuǎn)到時(shí)間顯示與信號(hào)燈顯示子程序,它將依次顯示信號(hào)燈時(shí)間 ,同時(shí)一直顯示信號(hào)燈的顏色,這時(shí)在返回定時(shí)子程序定時(shí)一秒,在顯示黃燈的下一個(gè)時(shí)間,這樣依次把所有的燈色的時(shí)間顯示完后在重新給時(shí)間計(jì)數(shù)器賦初值 ,重新進(jìn)入循環(huán)。7.2.3 8255輸出信號(hào)的放大要使行人能看見信號(hào)燈的情況,必須把8255輸出的信號(hào)進(jìn)行放大,這里我們用VT雙向晶閘管,當(dāng)門極為高電平時(shí)晶閘管導(dǎo)通,該支路指示燈亮;當(dāng)門極為低電平時(shí)關(guān)斷,該支路指示燈滅。我們用連接7段數(shù)碼管的方法來連接晶閘管。 7.2.4 8255輸出信號(hào)與信號(hào)燈的連接LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形

102、如 dp,g,f,e,d,c,b,a 管角上加上7FH所以SP上為0伏,不亮其余為TTL高電平,全亮則顯示為8。采用共陰級(jí)連接:其中 PA0PB0-a,PA1PB1-b, PA2PB2-c,PA3PB3-d,PA4PB4-e, PA5PB5-f,PA6PB6-gPA7PB7 -SP接地 驅(qū)動(dòng)代碼表顯示數(shù)值dp g f e d c b a驅(qū)動(dòng)代碼(16進(jìn)制)00 0 1 1 1 1 1 13FH10 0 0 0 0 1 1 006H20 1 0 1 1 0 1 15BH30 1 0 0 1 1 1 14FH40 1 1 0 0 1 1 066H50 1 1 0 1 1 0 06DH60 1 1

103、1 1 1 0 07DH70 0 0 0 0 1 1 107H80 1 1 1 1 1 1 17FH7.2.5 8255與8031的連接用8031的P0 口的 P0.7 連接8255的片選信號(hào)CS。我們用8031的地址采用全譯碼方式,當(dāng)P0.7 =0時(shí)片選有效,其他無效,P0.1用于選擇8255端口。P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0A7 A6 A5 A4 A3 A2 A1 A01 X X X X X 0 0 00H為8255 的PA口1 X X X X X 0 1 01H 為8255的PB口1 X X X X X 1 0 02H 為8255的PC口

104、1 X X X X X 1 1 03H 為8255的控制口由于8031是分時(shí)對(duì)8255和儲(chǔ)存器進(jìn)行訪問,所以8031的P0口不會(huì)發(fā)生沖突。7.3程序設(shè)計(jì)7.3.1流程圖 按鍵流程圖如圖12所示: 圖12 按鍵流程圖程序流程圖如圖13所示:初始化開始黃燈燃亮狀態(tài)紅燈燃亮狀態(tài)R5=0?綠燈燃亮狀態(tài)R6=0?NNNYYY 有鍵盤事件?處理鍵盤事件YN R4=0?圖13 程序流程圖7.3.2 源程序代碼R4 存放黃燈時(shí)間 3 03H (時(shí)間可以動(dòng)態(tài)設(shè)定)R5 存放紅燈時(shí)間 20 14HR6 存放綠燈時(shí)間 30 1EHPC0 顯示黃燈信號(hào)PC1 顯示紅燈信號(hào)PC2 顯示黃燈信號(hào) 工作于方式0 8255

105、PA、PB、PC口輸出控制字為10000000B (80H)程序代碼:ORG 0000HLJMP MAINORG 0100HMAIN: MOV R1,#03H ;初始化8255MOV A,#80HMOVX R1,A MOV R4,#03 ; 存放黃燈時(shí)間 MOV R5,#20 ;存放紅燈時(shí)間 MOV R6,#30 ; 存放綠燈時(shí)間START: LCALL KEY_INLCALL DISP_Y LCALL DISP_R LCALL DISP_Y LCALL DISP_G LCALL DISP_Y MOV A,R5 ;保存R5中的時(shí)間 PUSH A MOV R5,#66 LCALL DISP_R

106、POP A MOV R5,A JMP START按鍵子程序:KEY_IN: MOV P1,0FFH ;按鍵子程序 MOV C,P3.0 JNB EXIT MOV C,P1.7 JNB TEST_Y ANL P1,3FH ;顯示紅燈 MOV R5,P1 LCALL DISP_RTEST_Y: MOV C,P1.6 ;顯示綠燈 JNB EXIT ANL P1,3FH MOV R6,P1 LCALL DISP_GEXIT: RET DISP_Y: MOV R1,#O ;顯示黃燈十位 MOV DPTR,#TAB MOV A,R1MOVC A,A+DPTRMOV R1,#01HMOVX R1,A MOV A,R4 ;顯示黃燈個(gè)位 MOV R0,A NEXT1: MOV DPTR,#TAB MOV A,R0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論