交通信號燈畢業(yè)設計--基于單片機的交通信號控制系統(tǒng)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文</b></p><p>  論文題目:基于單片機的交通信號控制系統(tǒng)</p><p><b>  目 錄 </b></p><p>  摘要.........................................................................

2、2</p><p>  關鍵詞........................................................................2</p><p>  第1章 單片機概述 ...........................................................5</p><p>  第2章

3、方案論證...............................................................6</p><p>  2.1 對系統(tǒng)功能的要求...............................................6 </p><p>  2.2 方案選取.....................................

4、...................6</p><p>  第3章 相關電子器件介紹.................................................8</p><p>  3.1 雙極型晶體三極管...............................................8 </p><p>  3.2 LED七

5、段數(shù)碼管顯示器...........................................8 </p><p>  第4章 控制器AT89C51的功能特征........................................10</p><p>  4.1 引腳說明.....................................................

6、..10 </p><p>  4.2 復位電路.......................................................11 </p><p>  4.3 芯片擦除.......................................................11 </p><p>  4.4 振蕩器特征.....

7、..............................................12 </p><p>  4.5 主要性能......................................................13 </p><p>  4.6 主要特性....................................................

8、..13</p><p>  第5章 計時交通燈系統(tǒng)的設計...........................................14</p><p>  5.1 硬件系統(tǒng)設計....................................................14</p><p>  5.2 軟件系統(tǒng)設計..............

9、.................................17</p><p>  第6章 檢測與調(diào)試.........................................................24 </p><p>  第7章 心得體會..........................................................25 &

10、lt;/p><p>  附錄.........................................................................26</p><p>  1 參考文獻...........................................................26</p><p>  2 元器件清單.

11、......................................................26 </p><p><b>  第1章 單片機概述</b></p><p>  單片微型計算機是微型計算機的一個重要分支,也是一種非?;钴S和頗具生命力的機種。單片微型計算機簡稱單片機,特別適合應用于控制領域。 </p><p>  通

12、常單片機由單塊集成電路芯片構成,內(nèi)部包含計算機的基本功能部件:CPU、存儲器、I/O接口電路、定時/計數(shù)器、串行口等。因此,單片機只需要在適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。MSC-51系列單片機是英特爾公司于1980年起推出的第二代產(chǎn)品。與8084相比,8051的硬件結構和指令系統(tǒng)均有很大改進,可支持更大的存貯空間,擴充了更多的硬件功能I/O功能,速度提高了2- 5倍,可完成邏輯運算等。近年來推出的一些增強的MSC

13、-51系統(tǒng)單片機,片內(nèi)還集成了許多特殊功能單元,只需要加一些擴展電路及必要的通道接口即可構成各種計算機應用系統(tǒng)。因此,MSC-51系統(tǒng)單片機在智能儀表、智能接口、功能模塊等領域得到了非常廣泛的應用。 </p><p><b>  主要技術特性: </b></p><p>  1.適于控制應用的8位CPU。 </p><p>  2.擴展的邏輯處

14、理能力。 </p><p>  3.64KB程序存貯器空間和64KB數(shù)據(jù)存貯器空間。 </p><p>  4.4KB片內(nèi)程序存貯器。 </p><p>  5.128B片內(nèi)數(shù)據(jù)RAM。 </p><p>  6.32根雙向和可單獨尋址的輸入輸出線。</p><p>  7.2個16位定時/計數(shù)器,片內(nèi)時鐘發(fā)生器。 &

15、lt;/p><p>  8.全雙工異步發(fā)送/接收器。 </p><p>  9.6源5向量中斷結構,具有兩個優(yōu)先級。</p><p>  圖1.1 8051引腳圖</p><p>  單片微型計算機是微型計算機的一個重要分支,也是一種非常活躍和頗具生命力的機種。單片微型計算機簡稱單片機,特別適合應用于控制領域。 </p><p

16、>  通常單片機由單塊集成電路芯片構成,內(nèi)部包含計算機的基本功能部件:中央處理器 CPU,存儲器 I/O 接口電路等。因此,單片機只需要在適當?shù)能浖巴獠吭O備相結合,便可成為一個單片機控制系統(tǒng)。 </p><p>  由于單片機是把微型計算機主要部件都集成在一塊芯片上,即一塊芯片就是一個微型計算機。因此,單片機具有以下特點: </p><p>  1.控制功能強。為了滿足工業(yè)控制要求

17、,單片機系統(tǒng)的指令系統(tǒng)中均有極其豐富條件分支轉移指令,較強的 I/O 邏輯操作及位處理功能,因而其控制靈活,方便,容易滿足工業(yè)控制的要求。 </p><p>  2.抗干擾能力強,可靠性好。單片機集成度高,體積小,內(nèi)部采用總線結構,減少了芯片間內(nèi)部之間的連線, 大大提高了單片機可靠性和抗干擾能力,適宜于惡劣環(huán)境下工作。 </p><p>  3.性能價格比高。單片機功能豐富,價格僅為 5~

18、30 元。 </p><p>  4.易擴展。片內(nèi)具有計算機正常運行所必須的部件,片外有許多供擴展使用的三總線并行,串行輸入輸出管腳,很容易構成各種規(guī)模的應用系統(tǒng)。 </p><p>  5.低功耗,低電壓。一般單片機的功耗僅為 20~100mW,電壓為 2~6V,便于生產(chǎn)便攜式產(chǎn)品。 </p><p><b>  第2章 方案論證</b>&l

19、t;/p><p>  隨著人民的生活水平不斷的提高,城市交通問題越來越引起人們的關注。人、車、路三者關系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。</p><p>  優(yōu)越舒適的生活環(huán)境時刻吸引著收入不斷增加的人群,導致城市機動車量的不斷增加,而城市道路在構造上的特點,也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。所以,如何采用合適的控制方法,最大限度利用

20、好耗費巨資修建的城市高速道路,緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵狀況,越來越成為交通運輸管理和城市規(guī)劃部門亟待解決的主要問題。為此,本文就城鄉(xiāng)交通信號燈的電路原理、設計計算和實驗調(diào)試等問題來進行具體分析討論。 </p><p>  2.1對控制系統(tǒng)的要求 </p><p>  主支線路口的交通信號燈:主干道為南北兩道,支干道為東西兩道。正常情況下主干道綠燈亮18秒,支干道紅燈亮20

21、秒,主干道綠燈亮完后轉為黃燈亮(閃爍亮)為2秒,黃燈亮完后轉為紅燈亮18秒,同時支干道有紅燈轉為綠燈亮16秒。支干道綠燈亮完后轉為黃燈(閃爍亮)為2秒,黃燈亮完后轉為紅燈亮20秒,同時主干道轉為綠燈亮18秒。有急救車到達時,兩個方向交通信號燈全紅,以便讓急救車通過。設急救車通過路口時間可認為控制,急救車通過后,交通恢復正常。對主干道設置強制通行控制,視主干道交通擁擠狀況,可臨時安排主干道的通行,以保證交通的暢通。</p>

22、<p><b>  2.2 方案選取 </b></p><p><b>  方案一 </b></p><p>  運用電子電路設計。該方案主要用到了狀態(tài)控制器,狀態(tài)譯碼器,秒信號發(fā)生器,減法計數(shù)器等。狀態(tài)控制器主要用于記錄十字路口交通燈的工作狀態(tài),通過狀態(tài)譯碼器分別點亮相應狀態(tài)的信號燈。秒信號發(fā)生器產(chǎn)生整個定時系統(tǒng)的時基脈沖,通過減法計

23、數(shù)器完成狀態(tài)轉換,同時,狀態(tài)譯碼器根據(jù)系統(tǒng)下一個工作狀態(tài),決定計數(shù)器下一次減法計數(shù)的初始值。減法計數(shù)器的狀態(tài)由BCD碼譯碼器譯碼、數(shù)碼管顯示。在黃燈亮其間,狀態(tài)譯碼器將秒脈沖引入黃燈控制電路,使黃燈閃爍。 </p><p>  狀態(tài)控制器主要采用二位二進制計數(shù)器。狀態(tài)譯碼器的紅黃綠燈的狀態(tài)主要取決于狀態(tài)控制器的輸出狀態(tài),他們之間的關系見真值表,對于信號燈的狀態(tài),“1”表示燈亮,“0”表示燈滅。</p>

24、<p><b>  表2.1 真值表</b></p><p>  現(xiàn)選擇半導體發(fā)光二極管模擬交通燈,由于門電路的帶灌電流的能力一般比帶拉電流的能力強,要求門電路輸出低電平時點亮相應的發(fā)光二極管。當黃燈亮時,紅燈按1HZ的頻率閃爍。從狀態(tài)譯碼器真值表中看出,黃燈亮時,Q1為高電平,而紅燈亮信號與Q1無關。現(xiàn)利用Q1信號去控制一個三態(tài)門電路74LS245(或模擬開關),當Q1為高電

25、平時,將秒信號脈沖引到驅動紅燈得與非門輸入端,使紅燈在其黃燈亮其閃爍;反之將其隔離,紅燈信號不受黃燈信號得影響 。 </p><p>  產(chǎn)生秒信號的電路有多種形式,該設計是利用555定時器組成得秒信號發(fā)生器。對于該控制系統(tǒng)的調(diào)試,比較復雜,首先調(diào)試秒信號發(fā)生器,用示波器監(jiān)視秒信號發(fā)生器的輸出,調(diào)節(jié)電位器RW,使輸出信號的周期為1S。直接將秒信號引入狀態(tài)控制器脈沖輸入端,在脈沖作用下,模擬三色信號燈。將秒信號引入

26、定時系統(tǒng)電路脈沖輸入端,在秒脈作用下,將三個74LS245的值數(shù)選通端以此接地,計數(shù)器三個不同的置數(shù)輸出為進制體制完成減法計數(shù),兩位數(shù)碼管應有相應的顯示。把各個單元電路互相連接起來,進行系統(tǒng)連調(diào)。 </p><p><b>  方案二 </b></p><p>  單片機控制系統(tǒng)。如用8位單片機AT89C51為控制器,組成交通信號燈系統(tǒng)。利用單片機的I/O口來完成

27、信號的輸入和轉換,最終的顯示結果通過LED數(shù)碼管顯示出來,另外設置兩個按鈕來進行交通路口的應急處理及主干道強制通行處理。 </p><p>  硬件方面利用AT89C51的一個I/O口(P1口)驅動黃綠紅燈,本裝置用發(fā)光二極管來代替交通燈??紤]到簡化驅動電路,6個LED發(fā)光管直接通過P1口灌電流的方式驅動。4個LED數(shù)碼管采用共陽、動態(tài)顯示的方式,字型口串聯(lián)限流電阻510歐姆接到P0口,字位口通過4個PNP的三極

28、管驅動并控制,用于動態(tài)掃描,分別通過P2.0~P2.3控制。計時方面以秒作為基本計時單位,可用AT89C51的定時、計數(shù)器來實現(xiàn)。交通路口應急處理及主干道強制通行處理,可利用中斷方式響應。紅綠燈亮滅時間的控制及閃爍方式的控制,完全可通過程序方式實現(xiàn)。本方案用單次脈沖申請中斷,表示有急救車通過。編制中斷處理程序要注意的問題是:保護進入中斷時的狀態(tài)(保護現(xiàn)場),并在退出中斷之前恢復進入時的狀態(tài)(恢復現(xiàn)場)。</p><p

29、>  由以上兩個方案相比較可以看出,利用單片機AT89C51所設計的交通燈比利用電子電路所設計的交通燈具有明顯的優(yōu)越性。利用AT89C51單片機控制的硬件電路比較簡單,軟件方面程序也不復雜。因此制作的原理簡單,但功能作用并不低于電子電路設計的,方便小巧又通俗易懂。因此,我選擇利用單片機來控制交通燈。</p><p>  第3章 相關電子器件介紹 </p><p>  3.1 雙極型晶

30、體三極管</p><p>  半導體三極管也稱晶體三極管,是電子電路中重要的部分。它最主要的功能是電流放大和開關作用。三極管顧名思義具有三個電極。二極管是由一個PN結構成的,而三極管由兩個PN結構成,共用的一個電極成為三極管的基極。其他兩個電極成為集電極和發(fā)射極。 </p><p>  三極管最基本的作用是放大作用,它可以把微弱的電信號轉換成一定的強度的信號。三極管有一種重要參數(shù)就是電流放

31、大倍數(shù)。 </p><p>  當三極管應用于開關狀態(tài)時,必須保證導通時三極管處于飽和,其發(fā)射極、集電極正偏;斷開時三極管處于截止,其發(fā)射極、集電極反偏。 </p><p>  3.2 LED七段數(shù)碼管顯示器 </p><p>  發(fā)光二極管LED是一種通電后能發(fā)光的半導體器件,其導電性質(zhì)與普通二極管類似。LED數(shù)碼顯示管就是由發(fā)光二極管組合而成的一種新型顯示器件,

32、在單片機系統(tǒng)中應用非常普遍。它使用了8個LED發(fā)光二極管,其中7個顯示字符,1個顯示小數(shù)點,故通常稱之為7段發(fā)光二極管數(shù)碼顯示器。 </p><p>  為了顯示字符,要為 LED顯示器提供段碼(或稱字形代碼),組成一個“8”字形的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示的段碼為1個字節(jié)。各段碼位的對應關系如下:</p><p>  表格3.1 各段碼位的對應關系</

33、p><p>  用LED顯示十六進制數(shù)和空白字符與P的顯示段碼如圖:</p><p>  表格3.2 顯示段碼</p><p>  LED數(shù)碼顯示器是1種由LED發(fā)光二極管組合顯示字符的顯示器件,它使用了8個LED發(fā)光二極管。 </p><p>  LED數(shù)碼顯示器有兩種連接方法: </p><p>  共陽極接法:把發(fā)光

34、二極管的陽極連在一起構成公共陽極,使用時公共陽極接+5 V, 每個發(fā)光二極管的陰極通過電阻與輸入端相連。當陽極端輸入低電平時,段發(fā)光二極管就導通點亮,而輸入高電平時則不點亮。</p><p>  共陽極 顯示段碼</p><p>  圖3.1 LED數(shù)碼顯示器的顯示段碼</p><p>  LED數(shù)碼管顯

35、示電路:該顯示電路由7段共陽數(shù)碼管,限流電阻,三極管,基極電阻,P0口,P2口等組成。P0口通過與8個510Ω電阻與數(shù)碼管的8個數(shù)據(jù)位相連,送顯示數(shù)碼。電阻即可起到限流作用,又可起到上拉電阻的作用。P2口的P2.0~P2.3通過4個4.7kΩ的電阻和4個三極管與4個7段數(shù)碼管相連,起位選的作用。</p><p>  第4章 控制器AT89C51的功能特征 </p><p><b>

36、;  4.1 引腳說明</b></p><p><b>  圖4.1 引腳圖</b></p><p>  VCC:供電電壓。 </p><p><b>  GND:接地。 </b></p><p>  P0口:8位雙向I/O口。在訪問外部存儲器時,P0口用于分時傳送低8位地址(地址總線)

37、和8位數(shù)據(jù)信號(數(shù)據(jù)總線)。P0口能驅動8個LSTTL門。在不接外ROM和外RAM時,P0口可做雙向I/O口用。</p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位準雙向I/O口,P1口負載能力為4個LSTTL門。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。</p><p>  P2口:8位準雙向I/O口。在訪

38、問外部存儲器時,P2口用于傳送高8位地址。P2口負載能力為4個LSTTL門。 </p><p>  P3口:8位準雙向I/O口??勺鲆话鉏/O口用,同時P3口每一引腳還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。P3口第二功能如下。 </p><p>  P3.0--RXD (串行輸入口) </p><p>  P3.1--TXD (串行輸出口)

39、 </p><p>  P3.2--/INT0 (外部中斷0) </p><p>  P3.3--/INT1 (外部中斷1) </p><p>  P3.4--T0 (定時/計數(shù)器0外部輸入) </p><p>  P3.5--T1 (定時/計數(shù)器1外部輸入) </p><p>  P3.6--/WR (外

40、部數(shù)據(jù)存儲器寫選通) </p><p>  P3.7--/RD (外部數(shù)據(jù)存儲器讀選通) </p><p>  P3口負載能力為4個LSTTL門。</p><p>  RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 </p><p>  ALE、/PROG:①正常使用為ALE功能,用來鎖存P0口送出的低8位

41、地址。P0口一般分時傳送低8位地址還是8位數(shù)據(jù)地址呢?當ALE信號有效時,P0口傳送的是低8位地址信號;ALE信號無效時,P0口傳送的是8位數(shù)據(jù)信號。通常在ALE信號的下降沿,鎖定P0口傳送的內(nèi)容,即低8位地址信號。需要指出的是,當CPU不執(zhí)行訪問外RAM指令(MOVX)時,ALE以時鐘振蕩頻率1/6的固定速率輸出,因此ALE信號也可作為外部芯片CLK時鐘或其他需要。但是,當CPU執(zhí)行MOVX指令時,ALE將跳過一個ALE脈沖。<

42、/p><p>  ALE端可驅動8個LSTTL門電路。</p><p> ?、?PROG在固化片內(nèi)存儲器的程序(也稱為“燒錄程序”)時,此引腳用于輸入編程脈沖,此時為低電平有效。</p><p>  /PSEN:外ROM的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外RAM或內(nèi)ROM時,這兩次有效的/PSEN信號將不出現(xiàn)。 </p

43、><p>  /EA、VPP:正常工作時,/EA為內(nèi)外ROM選擇端。MCS-51型單片機ROM尋址范圍為64KB,其中4KB在片內(nèi),60KB在片外。當/EA保持高電平時,先訪問內(nèi)ROM,但當PC(程序計數(shù)器)值超過4KB時,將自動轉向執(zhí)行外ROM中的程序。當/EA保持低電平時,則只訪問外ROM,不管芯片內(nèi)有否內(nèi)ROM。對80C31芯片,片內(nèi)無ROM,因此/EA必須接地。</p><p>  X

44、TAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 </p><p>  XTAL2:來自反向振蕩器的輸出。</p><p><b>  4.2 復位電路 </b></p><p>  按鍵復位:與AT89C51的RESET腳相連,復位電路如圖:</p><p>  圖4.2 復位電路圖</p>&l

45、t;p>  在加電的瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定寬度的高電平,根據(jù)時間長數(shù)τ=RC,設置R和C的大小使τ≥20ms就可以使單片機有效的復位。此復位電路在程序運行期間還可以手動復位,即按住開關鍵S1。 </p><p><b>  4.3 芯片擦除 </b></p><p>  整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持

46、ALE管腳處于低電平10ms來完成。在芯片擦除操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 </p><p>  此外,AT89C52設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為

47、止。 </p><p>  4.4 振蕩器特性 </p><p>  MCS51單片機內(nèi)部的振蕩電路是一個到增益反相放大器,引線XTAL1和XTAL2分別為反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內(nèi)振蕩器。單片機內(nèi)部雖然有震蕩電路,但要形成時鐘,外部還需要附加電路。石英振蕩和陶瓷振蕩均可采用。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,

48、因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。51單片機的時鐘產(chǎn)生方式有兩種,分別為:內(nèi)部時鐘方式和外部時鐘方式。利用其內(nèi)部的震蕩電路XTAL1和XTAL2引線上外接定時元件,內(nèi)部震蕩電路便產(chǎn)生自激震蕩,用示波器可以觀察到XTAL2輸出的時鐘信號。在MCS51單片機一般常用內(nèi)部時鐘方式,也就是在XTAL1和XTAL2之間連接晶體震蕩器與電容構成穩(wěn)定的自激震蕩器,如下圖: </p><p>

49、;  圖4.3 內(nèi)部時鐘方式</p><p>  晶體和電容決定了單片機的工作時間精度為1微秒。晶體可在1.2-12MHz之間選擇。MCS-51單片機在通常應用情況下,使用震蕩頻率為6MHz的石英晶體,而12MHz頻率的警惕主要是在高速串行通信情況下才使用,在這里我用的是6MHz石英晶體。對電容無嚴格要求,但它在取直對震蕩頻率輸出的穩(wěn)定性、大小及震蕩電路起震蕩速度有一點影響。C1和C2可在20-100pF之間取,

50、一般情況取30pF。外部時鐘方式是把外部震蕩信號源直接接入XTAL1或XTAL2。由于XTAL2的邏輯電平不是TTL的,所以還要接一個上拉電阻。 </p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。</p><p><b>  4.5 主要性能 <

51、/b></p><p>  ? 和MCS-51產(chǎn)品兼容; </p><p>  ? 8KB可重編程FLASH存儲器(1000次); </p><p>  ? 2.7~6V電壓范圍; </p><p>  ? 全靜態(tài)工作:0Hz-24KHz </p><p>  ? 2級程序存儲器保密鎖定 </p>

52、<p>  ? 128*8位內(nèi)部RAM </p><p>  ? 15條可編程I/O線 </p><p>  ? 兩個16位定時器/計數(shù)器 </p><p><b>  ? 6個中斷源 </b></p><p>  ? 可編程串行通道 </p><p>  ? 直接LED驅動輸出 <

53、;/p><p>  ? 片內(nèi)振蕩器和時鐘電路 </p><p>  ? 片內(nèi)模擬比較器 </p><p><b>  4.6 主要特性 </b></p><p>  · 8KB字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán))</p><p>  · 全靜態(tài)工作:0Hz-24k

54、Hz </p><p>  · 三級程序存儲器保密鎖定 </p><p>  · 128*8位內(nèi)部RAM </p><p>  · 32條可編程I/O線 </p><p>  · 兩個16位定時器/計數(shù)器 </p><p><b>  · 6個中斷源 <

55、/b></p><p>  · 可編程串行通道 </p><p>  · 低功耗的閑置和掉電模式 </p><p>  · 片內(nèi)振蕩器和時鐘電路 </p><p>  第5章 計時交通燈系統(tǒng)的設計</p><p>  5.1 硬件系統(tǒng)設計 </p><p>&

56、lt;b>  5.1.1硬件框圖</b></p><p><b>  圖5.1 硬件框圖</b></p><p>  原理圖各部分作用: </p><p>  復位電路:RC構成微分電路,在接電瞬間,產(chǎn)生一個微分脈沖。按下復位按鈕,就可以使電路重新開始工作。 </p><p><b>  按鍵

57、:即復位按鍵。</b></p><p>  紅綠燈顯示:通過二進制數(shù)的輸出來變換的,使得紅綠燈接收顯示不同的信號,已達到此次設計的目的。 </p><p>  段碼控制輸出:通過P0口與LED數(shù)碼管顯示器相連接,來控制段碼的輸出。</p><p>  (1). AT89C51硬件資源的分配</p><p>  電路采用的內(nèi)部振蕩器

58、方式,晶體振蕩頻率為6MHz,具有較高的頻率穩(wěn)定性,且延時采用數(shù)字計數(shù)的方式進行,因而對時間的控制精度較高,可有效的控制延時。 </p><p>  初始加電時,顯示初態(tài),但按下復位開關,可以控制交通燈的顯示。 </p><p>  本電路的外接電源可用5V直流電流電源,也可將交流電壓轉變?yōu)橹绷麟?,簡單方便。使用中應謹慎,避免硬件設施被燒壞。 </p><p>  

59、本例中使用了INT0中斷,一般中斷處理程序進入時應保護PSW,ACC以及中斷處理程序使用但非其專用的寄存器。本例的INT0程序中應保護PSW,ACC等,以便保護中斷前紅綠燈的狀態(tài)(保護現(xiàn)場),并且在退出前恢復原來紅綠燈狀態(tài)(恢復現(xiàn)場)。 </p><p>  本設計中交通信號燈LED0~LED5與P1.0~P1.5連接。 </p><p>  硬件方面利用AT89C51的P1口直接驅動黃綠

60、紅燈,用P0口控制字型口,七段數(shù)碼管為共陽極。</p><p> ?。?). 緊急按鈕電路及參數(shù)選擇</p><p>  按下S1鍵,處于緊急控制狀態(tài),東西南北向紅燈亮,禁止車輛通行。 松開鍵恢復原先工作狀態(tài)。</p><p>  按下是S0鍵,處于強行通行狀態(tài),人為允許主干道通行禁止次干道車輛流通。松開S0鍵,恢復原先工作狀態(tài)。按鍵的上拉電阻選用10kΩ。<

61、/p><p>  圖5.2 按鍵電路圖</p><p> ?。?).驅動電路及參數(shù)計算</p><p>  圖5.3 驅動電路圖</p><p>  實際用的穩(wěn)壓源U=5V,PNP型三極管發(fā)射極-基極的正向壓降為0.3V,P2口輸出低電平時(為0.5V),為保證三極管處于飽和狀態(tài),取基極電流為1mA,則基極電阻 R=(5-0.3-0.5)/0.0

62、01=4.2kΩ,實取4.7kΩ。</p><p> ?。?). LED顯示電路及參數(shù)計算</p><p>  本設計中交通信號燈LED0~LED5與P1.0~P1.5連接,顯示倒計時時間。LED的正常工作電流I=5~10mA我們實際用的穩(wěn)壓源為U=5伏,管壓降為1.5~2V,所以 R=(5-2)/0.01=300Ω如果電路中電阻太小,會燒壞LED;電阻太大,LED的亮度不夠,經(jīng)過老師的推

63、薦,電路中實際應用的電阻值是510Ω </p><p>  5.1.2 電路原理圖</p><p>  根據(jù)以上設計計算,得到電路原理圖如下。</p><p>  圖5.4 電路原理圖</p><p>  5.2 軟件系統(tǒng)設計</p><p>  5.2.1 51系列匯編語言</p><p>&

64、lt;b> ?。?).匯編語言 </b></p><p>  用戶要使用計算機能完成各式各樣的任務,就要設計各種相應的應用程序,而設計程序就要用到程序設計語言。程序設計語言有3種:機器語言,匯編語言和高級語言。本次設計所采用的是匯編語言。所謂匯編語言,是指用指令的助記符符號地址,標號,偽指令等符號書寫程序的語言。</p><p><b>  (2).匯編程序&l

65、t;/b></p><p>  用這種匯編語言書寫的程序稱為匯編語言源程序或稱源程序。把匯編語言源程序翻譯成在機器上能執(zhí)行的機器語言程序(目的代碼程序)的過程叫做匯編,完成匯編過程的系統(tǒng)程序稱為匯編程序。 </p><p>  匯編程序在對源程序進行匯編過程中,除了將源程序翻譯成目的代碼外,還能給出源程序書寫過程中所出現(xiàn)的語法錯誤信息,如非法格式,未定義的助記符,標號,漏掉操作數(shù)等。

66、另外,匯編程序還可以根據(jù)用戶要求,自動分配各類存儲區(qū)域(如程序區(qū),數(shù)據(jù)區(qū),暫存區(qū)等),自動進行各種進位制數(shù)至二進制數(shù)的轉換,自動進行字符至 ASCII 碼轉換及計算表達式的值等。 </p><p>  完成匯編工作有兩種途徑:一種是人工匯編;一種是機器匯編。對于量小,簡單的程序,程序員經(jīng)過查指令系統(tǒng)表,將匯編源程序逐條翻譯成機器代碼,完成手工匯編,再從單片機開發(fā)裝置的鍵盤上輸入目標程序進行調(diào)試,運行;而對于量大較

67、復雜的程序,翻譯過程可采用計算機系統(tǒng)軟件—匯編程序完成,即機器匯編。 </p><p>  匯編程序是將匯編源程序轉變?yōu)槟繕顺绦虻姆g程序。由于指令助記符與機器語言指令一一對應的等價關系所以匯編程序能很容易將匯編源程序迅速,準確,有效地翻譯成目標程序。此外,匯編程序的功能還有:根據(jù)程序員的要求,自動地編排目標程序中指令的存放地址,分配存儲空間,自動地對源程序進行檢查,分析其語法,若有錯誤,給出錯誤信息等等。匯編程

68、序的運行一般是借助于通用微型計算機(PC 機)來完成的,它利用PC機的串行口與單片機開發(fā)裝置進行通訊,把匯編成的目標程序傳送到單片機開發(fā)裝置中去調(diào)試,執(zhí)行。這種方式也稱之為交叉匯編。它效率高,不易出錯。</p><p>  5.2.2 交通信號燈狀態(tài)轉換表</p><p>  表格5.1 交通信號燈狀態(tài)轉換表</p><p>  5.2.3 程序框圖 </p&

69、gt;<p>  本案采用結構化程序設計。主程序盡可能簡潔,廣泛使用子程序和循環(huán)結構,并利用了中斷資源。</p><p>  本設計使用了T0中斷,T0中斷完成兩個功能,一是進行秒定時,二是對應急處理按鍵進行檢測,以便及時響應。一般中斷處理程序進入時應保護PSW,ACC以及中斷處理程序使用但非其專用的寄存器。本設計的T0中斷程序中應保護PSW,ACC及相關寄存器等,以便保護中斷前紅綠燈的狀態(tài)(保護現(xiàn)

70、場),并且在退出前恢復原來紅綠燈狀態(tài)(恢復現(xiàn)場)。</p><p>  根據(jù)以上軟硬件資源的利用情況,制定出程序框圖如下。 </p><p><b>  主程序框圖:</b></p><p><b>  圖5.5 主程序圖</b></p><p><b>  中斷框圖:</b>

71、</p><p><b>  圖5.6 中斷框圖</b></p><p>  5.2.4 匯編語言源程序</p><p> ?。?). 有關參數(shù)計算</p><p>  本設計T0定時時間為10毫秒,計滿10毫秒就響應一次中斷,計滿100次剛好為一秒。</p><p>  T0定時器采用工作方式1

72、,為16位計數(shù)器,晶振頻率為6MHz(12MHz),則機器周期為:</p><p>  12÷6MHz = 2微秒(1us)</p><p>  定時值為10毫秒,計數(shù)值為10000÷2=5000(10000÷1=10000)</p><p>  初值X0=M-計數(shù)值=65536–5000=60536=EC78H(X0=65536-10

73、000=55536=D8F0H)</p><p>  根據(jù)16位定時器的特性,初值應為;TH0=0ECH(0D8H),TL0=78H(0F0H)</p><p><b>  (2). 源程序</b></p><p>  ORG 0000H </p><p>  AJMP MAIN ;轉主程序&l

74、t;/p><p>  ORG 000BH </p><p>  AJMP T0_INT;轉定時器T0服務子程序</p><p>  ORG 0030H </p><p>  MAIN: MOV SP, #50H </p><p>  MOV TMOD, #01H ;T0,定時方式1</p

75、><p>  MOV TL0, #78H ;定時 10ms,晶振6MHZ</p><p>  MOV TH0, #0ECH</p><p>  SETB EA ;開總中斷 </p><p>  SETB ET0 ;允許T0中斷</p><p>  SETB

76、TR0 ;啟動定時器 </p><p>  MOV R3,#64H ;設定中斷次數(shù)</p><p>  LOP: MOV R4, #18 </p><p>  MOV R5, #20 </p><p>  LOP0: MOV P1,#0F3H ;東西綠燈亮,南北紅燈亮 </p><

77、;p>  ACALL RIS </p><p>  CJNE R4,#00H,LOP0 </p><p>  MOV R4,#02</p><p>  LOP1: MOV P1,#0F5H ;東西黃燈亮,南北紅燈亮</p><p>  ACALL RIS</p><

78、;p>  CJNE R4,#00H,LOP1</p><p>  MOV R4, #18 </p><p>  MOV R5, #16 </p><p>  LOP2: MOV P1,#0DEH ;東西紅燈亮,南北綠燈亮</p><p>  ACALL RIS</p>&l

79、t;p>  CJNE R5,#00H,LOP2</p><p>  MOV R5,#02</p><p>  LOP3:MOVP1,#0EEH ;東西紅燈亮,南北黃燈亮</p><p>  ACALL RIS</p><p>  CJNE R5,#00H,LOP3 </p><p>  AJMP

80、 LOP</p><p>  T0_INT: MOV TL0,#78H ;定時器0中斷子程序 </p><p>  MOV TH0,#0ECH </p><p>  JNB P3.2,T02 ;判斷緊急按鈕是否有效</p><p>  JNB P3.3,T03</p><

81、;p>  DJNZ R3,TTT</p><p>  MOV R3,#64H</p><p><b>  DEC R4</b></p><p><b>  DEC R5</b></p><p>  TTT:RETI ;中斷子程序返回</p>

82、<p>  T02: CLR TR0 ;緊急狀態(tài)處理子程序</p><p>  PUSH P1 ;保護當前狀態(tài)</p><p>  PINT0: MOV P1,#0F6H ;送緊急狀態(tài)控制碼</p><p>  PN0: JB P3.2,PN2

83、 ;查驗是否解除緊急狀態(tài)</p><p>  PN1: ACALL RIS ;調(diào)用顯示子程序,使顯示器靜止顯示</p><p>  SJMP PN0</p><p>  PN2: POPP1 ;恢復緊急狀態(tài)前的狀態(tài)</p><p>  SETB TR0

84、;再次啟動定時器</p><p><b>  RETI </b></p><p>  T03: CLR TR0 </p><p>  PUSH P1</p><p>  SINT0: MOV P1,0F3H</p><p>  SN0: JB P3.3

85、,SN2</p><p>  SN1: ACALL RIS</p><p>  SJMP SN0 </p><p>  SN2: POP P1</p><p>  SETB TR0 </p><p><b>  RETI </b></p><p

86、>  RIS: MOV A,R4 ;顯示子程序</p><p>  MOV B,#OAH</p><p><b>  DIV AB </b></p><p>  MOV R6,#0FFH</p><p>  MOV DPTR,#TAB</p><p>  M

87、OVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.0</b></p><p>  DS1: DJNZ R6,DS1</p><p><b>  SETB P2.0</b></p>&l

88、t;p>  MOV R6,#0FFH</p><p><b>  MOV A,B</b></p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.1</b></p>&

89、lt;p>  DS2: DJNZ R6,DS2</p><p><b>  SETB P2.1</b></p><p><b>  MOV A,R5</b></p><p>  MOV B,#0AH</p><p><b>  DIV AB</b></p>

90、;<p>  MOV R6,#0FFH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p><b>  CLR P2.2</b></p><p>  DS3: DJNZ R6,DS3</p><

91、;p><b>  SETB P2.2</b></p><p><b>  MOV A,B</b></p><p>  MOV R6,#0FFH</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p>&

92、lt;p><b>  CLR P2.3</b></p><p>  DS4: DJNZ R6,DS4</p><p><b>  SETB P2.3</b></p><p>  RET ;顯示子程序返回</p><p>  TAB:

93、 DB 0C0H,0F9H,0A4H,0B0H,99H,92H</p><p>  DB 82H,0F8H,80H,90H,88H ;字型碼表</p><p><b>  END</b></p><p>  第6章 檢測與調(diào)試 </p><p>  6.1 硬件調(diào)試: </p><

94、p>  硬件調(diào)試是利用開發(fā)系統(tǒng)、基本測試儀器(萬用表、示波器)等,檢查用戶系統(tǒng)硬件中存在的故障。 </p><p>  硬件調(diào)試可分為靜態(tài)調(diào)試和動態(tài)調(diào)試兩步進行: </p><p>  靜態(tài)調(diào)試:靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時的一種調(diào)試。 </p><p><b>  步驟如下: </b></p><p>  第一步

95、:目測。檢查外部的各種元件或者是電路是否有斷點。 </p><p>  第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,在檢測各 </p><p>  種電源線與接地線之間是否有短路現(xiàn)象。 </p><p>  第三步:加點檢測。給電路板加電,檢測所有的插座或者是硬件的電源是否 </p><p><b>  符合要求的植。

96、 </b></p><p>  第四步:聯(lián)機檢查。應為只有單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試。 </p><p>  動態(tài)調(diào)試:動態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯誤等的一種硬件檢查。動態(tài)調(diào)試的一般方法是由近及遠,由分到合。 </p><p>  由近及遠是將信號流經(jīng)的器件按照距離單片機的邏輯距離

97、進行由近及遠的分層,然后分層調(diào)試。調(diào)試時,仍采用去掉無關元件的方法,逐層調(diào)試下去,就會定位故障元件了。 </p><p>  由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電力電路分為若干塊,當調(diào)試電路時,與該元件無關的器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個局部的電路上。當各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,再對各塊電路功能及各電路之間可能存在的相互聯(lián)系進行調(diào)試。 </p><

98、p>  6.2 軟件調(diào)試: </p><p>  軟件調(diào)試是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。程序運行后編輯,查看是否有邏輯的錯誤。 </p><p>  常見的軟件錯誤有:程序失控、中斷錯誤、輸入/輸出錯誤和結果不正確等,對不同的錯誤和現(xiàn)象采取相應的方法找出錯誤并加以修改程序,達到預期的功能。 </p><

99、p><b>  第7章 致謝 </b></p><p>  通過這次畢業(yè)設計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面的鍛煉。使我在單片機的基本原理、單片機應用系統(tǒng)開發(fā)過程,以及在常用編程設計思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格的應用型人才打下良好的基礎。</p><p>  在此要感謝我的指導老師對我悉心的指導,感

100、謝老師給我的幫助。在設計過程中,我通過查閱大量有關資料,與同學交流經(jīng)驗和自學,并向老師請教等方式,使自己學到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到的東西是這次畢業(yè)設計的最大收獲

101、和財富。</p><p>  本課題和論文的完成,自始至終得到了許老師的悉心指導和細心關懷。感謝在大學三年的學習、生活中默默關心幫助我的所有老師和同學。最后,我要感謝我的朋友和家人在學習和生活的各個方面對我的關心和鼓勵。</p><p><b>  。</b></p><p><b>  附 錄</b></p>

102、<p><b>  1. 參考文獻 </b></p><p>  1、楊欣 王玉鳳 劉湘黔:《電子設計從零開始》,清華大學出版社2005年 </p><p>  2、吳金戌 沈慶陽 郭庭吉:《8051單片機實踐與應用》,清華大學出版社2002年</p><p>  3、張毅剛:《單片機原理及應用》,高等教育出版社2006年,第42

103、~68頁</p><p>  4、李光飛:《單片機課程設計實例指導》,北京航空航天出版社2004年第2版,第35~51頁 </p><p>  5、李 華:《MCS-51單片機實用接口技術》,北京航空航天出版社1997年,第18~35頁</p><p>  6、諸昌鈐:《LED顯示屏系統(tǒng)原理及工程技術》,電子科技大學出版社2000年,第52~81頁</p&g

溫馨提示

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

評論

0/150

提交評論