2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  隨著世界范圍內城市化和機動化進程的加快,城市交通越來越成為一個全球化的問題。</p><p>  十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么,靠什么來實現(xiàn)這井然有序呢?靠的是交通燈的自動指揮系統(tǒng)。</p><p>  隨著科技的發(fā)展,單片機的應用正在不斷深入,同

2、時帶動傳動檢測技術日益更新。在實時監(jiān)測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,還應根據(jù)具體的硬件結構,以及針對應用對象的點的軟件結合,加以完善。</p><p>  本文介紹了一種基于單片機的交通燈控制系統(tǒng)。系統(tǒng)采用單片機和七段LED數(shù)碼管作為交通燈的控制和顯示核心,并通過控制按鍵對時間進行設置,最終實現(xiàn)對交通燈各狀態(tài)持續(xù)時間的控制。系統(tǒng)采用上電自動復位,利用八個數(shù)碼管顯示交通燈各狀態(tài)的剩

3、余時間,時間顯示采用倒計時方式,四組紅、黃、綠三色燈用發(fā)光二極管作為模擬交通信號燈,呈四種狀態(tài)交替出現(xiàn)。系統(tǒng)通過一個直流穩(wěn)壓電路為系統(tǒng)提供+5V的直流電源。</p><p>  該交通系統(tǒng)控制方便,禁行通行時間可調,有一定實用價值。</p><p>  關鍵詞:單片機; 可調; LED;數(shù)碼顯示</p><p><b>  Abstract</b&g

4、t;</p><p>  With the range of urbanization and motorization, the quickening of the process of urban traffic more and more become a global problem. So, intersection transports, bustling pedestrian, auto lane,

5、 a humanitarian, in an orderly way. So what to do this by in order? By the traffic light automatic command system. With the development of science and technology, the application of SCM is unceasingly thorough, it caus

6、es transmission detection technology is updated. In real time monitoring and automati</p><p>  Keywords: SCM; adjustable ;LED ;digital display </p><p><b>  1緒論</b></p><p

7、>  1單片機控制交通燈設計的意義、背景及目的</p><p><b>  1.1、設計的背景</b></p><p>  1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍兩色的機械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩

8、個旋轉式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。 1914年, 電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。 1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴音器來啟動紅綠燈,

9、司機遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。 </p><p>  1968年,聯(lián)合國《道路交通和道路標志信號協(xié)定》對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,

10、左轉彎和右轉彎,除非另一種標志禁止某一種轉向。左右轉彎車輛都必須讓合法地正在路口內行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。</p><p><b>  1.2、設計的目的</b></p><p>  通過課程設

11、計培養(yǎng)同學們的系統(tǒng)設計能力,提高以下能力的訓練:</p><p> ?。?)調查研究,分析問題的能力。</p><p> ?。?)使用設計手冊,技術規(guī)范的能力。</p><p> ?。?)查閱中外文獻的能力。</p><p> ?。?)制定設計方案的能力。</p><p>  (5)計算機應用的能力。</p>

12、;<p>  (6)使用繪圖軟件繪圖的能力。</p><p> ?。?)技術經濟指標的分析能力。</p><p> ?。?)掌握單片機系統(tǒng)中擴展簡單基本I/O接口的方法。</p><p>  (9)掌握簡單程序的設計方法。</p><p> ?。?0)掌握模擬交通燈控制的實現(xiàn)方法。</p><p> ?。?/p>

13、11)掌握外部中斷的基本使用方法。</p><p> ?。?2)掌握中斷處理程序的編程方法。</p><p> ?。?3)掌握鍵盤的接口方法。</p><p> ?。?4)了解LED的接法。</p><p><b>  1.3、設計意義</b></p><p>  交通燈是城市交通的重要指揮系統(tǒng),

14、與人們的日常生活密切相關。隨著經濟的快速發(fā)展,城市中的車輛逐漸增多,交通擁堵和堵塞現(xiàn)象日趨嚴重,引起交通事故頻發(fā),環(huán)境污染加劇等一系列問題,因此設計一個靈活、穩(wěn)定、便捷的多功能交通燈控制系統(tǒng)具有必要性和現(xiàn)實性。</p><p>  本次設計的意義在于通過對具體的控制系統(tǒng)的設計,掌握微機控制系統(tǒng)設計的一般方法和處理問題的思路,特別是一些常用的技術手段。在實踐設計過程中,積累設計經驗,開拓思維空間,全面提高個人的綜合

15、能力。</p><p>  2單片機控制交通燈的硬件設計</p><p>  2.1、硬件功能的設計</p><p>  硬件部分由8031單片機、8255可編程外設接口、紅黃綠LED燈、電阻、按鈕、74LS373鎖存器、74LS138譯碼器等部件組成。</p><p>  1、用二極管顯示紅綠黃等;</p><p>

16、  2、用數(shù)碼管顯示十字路口兩個方向的剩余時間;</p><p>  3、用單片機的定時器產生秒信號,控制十字路口的紅綠黃燈交替點亮和熄滅;</p><p>  4、用按鍵設置兩個方向的通行時間(綠燈點亮時間)和暫緩黃燈通行時間(黃燈點亮的時間)</p><p><b>  2.2.硬件原理圖</b></p><p>&

17、lt;b>  2.3主要器件簡介</b></p><p>  2.3.1、8031單片機簡介</p><p>  Intel公司于1980年推出了第二代單片機,即MCS-51系列單片機,這是一位高性能的單片機,與MCS-48系列相比,MCS-51系列單片機無論在片內程序存儲器、數(shù)據(jù)存儲器、輸入/輸出的功能、種類和數(shù)量上還是在系統(tǒng)的擴展功能、指令系統(tǒng)的功能等方面,都有很大加

18、強,常用的MCS-51系列單片機有兩種類型產品:8051/8751、8031。</p><p>  8031和8751的結構與8051基本相當同,其主要差別反映在存儲器的配置上的不同。8051內部沒有4KB的掩膜ROM程序存儲器,而8751則是以4KB的EPROM代替了8051內部4KB的掩膜ROM。由于8051的程序是Intel公司預先為用戶燒制的、含有專門用途的程序,因而較難推廣。而8751相對來說價格較高

19、。如果將8031外界一片EPROM電路,它將相當于8051,其具有價格低廉、功能強、使用靈活等特點,因而易于推廣使用。本次設計中采用8031.</p><p><b>  其內部包括:</b></p><p>  8位中央處理器CPU;</p><p>  片內振蕩器及時鐘電路;</p><p><b>  1

20、28B RAM;</b></p><p><b>  4KB ROM;</b></p><p>  21個特殊功能寄存器;</p><p>  四個8位并行I/O端口(共32跟I/O線);</p><p><b>  一個雙全串行通道;</b></p><p> 

21、 可尋址各64KB的外部數(shù)據(jù)、程序存儲器空間的控制電路;</p><p>  兩個16位的定時器/計數(shù)器;</p><p>  五個中斷源、兩個優(yōu)先級嵌套中斷結構。</p><p>  相比較而言,8031片內無程序存儲器,因此,在構成最小系統(tǒng)時,不僅要外接晶體振蕩器和復位電路,還應在外擴展程序存儲器。8051/8751片內有4KB的ROM/EPROM,因此,只需要

22、外接晶體振蕩器和復位電路就可以構成最小系統(tǒng)。</p><p>  此次設計中選用8031單片機為核心硬件,8031單片機最小應用系統(tǒng)由下述幾部分組成:</p><p>  微處理器:8031;</p><p>  外接程序存儲器(EPROM):2716(或2732);</p><p>  地址鎖存器:74LS373;</p>&

23、lt;p><b>  時鐘電路;</b></p><p><b>  復位電路。</b></p><p><b>  時鐘電路如下:</b></p><p>  圖2-1 時鐘電路</p><p><b>  晶振電路如下:</b></p

24、><p>  圖2-2 晶振電路</p><p>  微處理器、外接程序存儲器、地址鎖存器三部分之間用地址/數(shù)據(jù)線連接,P0口的8根線:P0.7~P0.0分時地用用作數(shù)據(jù)線或低8位地址線,P2口的8根線用作高8位地址線。</p><p>  8031微處理器的功能是對EPROM 進行讀操作,對內部RAM進行讀寫操作,通過片內的I/O端口還可以直接與外圍設備連接。&l

25、t;/p><p>  外部程序存儲器可以采用EPROM芯片2716(2K)或2732(4K)。作為尋址線,地址線的低8位A7~A0是由P0口的P0.7~P0.0經地址鎖存器(74LS373)與EPROM芯片的低8位地址線引腳相連的。</p><p>  片選信號接地,所以只要有尋址信息即選中該片EPROM。2716的尋址范圍0000H~07FFH。而2732的尋址范圍是0000H~0FFFH。

26、</p><p>  在執(zhí)行讀取數(shù)據(jù)操作的過程中,地址信息必須一直保持。8031單片機最小系統(tǒng)中,數(shù)據(jù)線和低8位的地址線是分時地共用P0口的8根線,地址所存器選通信號的作用是選通地址鎖存器,將P0.7~P0.0上的低8位地址鎖存到地址鎖存器中。</p><p>  外部程序存儲器的選通信號的作用是當8031單片機訪問外部程序存儲器是,選通外部程序存儲器,讀取存儲單元的數(shù)據(jù)到P0口,供803

27、1單片機讀取。</p><p>  控制線的作用就是在8031單片機系統(tǒng)對擴展外部RAM進行讀寫操作時,作為CPU 的讀、寫脈沖輸出線。</p><p>  8031引腳圖如下:</p><p>  圖2-3 8031引腳圖</p><p><b>  引腳功能的介紹:</b></p><p&

28、gt;  1、主電源引腳VCC和VSS </p><p>  VCC——(40腳)接+5V電壓; </p><p>  VSS——(20腳)接地。 </p><p>  2、外接晶體引腳XTAL1和XTAL2 </p><p>  XTAL1(19腳)接外部晶體的一個引腳。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。

29、當采用外部振蕩器時,對HMOS單片機,此引腳應接地;對CHMOS單片機,此引腳作為驅動端。 </p><p>  XTAL2(18腳)接外晶體的另一端。在單片機內部,接至上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,對HMOS單片機,該引腳接外部振蕩器的信號,即把外部振蕩器的信號直接接到內部時鐘發(fā)生器的輸入端;對XHMOS,此引腳應懸浮。 </p><p>  3、控制或與其它電源復用

30、引腳RST/VPD、ALE/PROG、PSEN和EA/VPP </p><p> ?、賀ST/VPD(9腳)當振蕩器運行時,在此腳上出現(xiàn)兩個機器周期的高電平將使單片機復位。推薦在此引腳與VSS引腳之間連接一個約8.2k的下拉電阻,與VCC引腳之間連接一個約10μF的電容,以保證可靠地復位。 </p><p>  VCC掉電期間,此引腳可接上備用電源,以保證內部RAM的數(shù)據(jù)不丟失。當VCC主

31、電源下掉到低于規(guī)定的電平,而VPD在其規(guī)定的電壓范圍(5±0.5V)內,VPD就向內部RAM提供備用電源。 </p><p>  ②ALE/PROG(30腳):當訪問外部存貯器時,ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率周期性地出現(xiàn)正脈沖信號,此頻率為振蕩器頻率的1/6。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是,每當訪問外部數(shù)據(jù)

32、存儲器時,將跳過一個ALE脈沖。ALE端可以驅動(吸收或輸出電流)8個LS型的TTL輸入電路。</p><p> ?、跴SEN(29腳):此腳的輸出是外部程序存儲器的讀選通信號。在從外部程序存儲器取指令(或常數(shù))期間,每個機器周期兩次PSEN有效。但在此期間,每當訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。PSEN同樣可以驅動(吸收或輸出)8個LS型的TTL輸入。 </p><p&

33、gt; ?、蹺A/VPP(引腳):當EA端保持高電平時,訪問內部程序存儲器,但在PC(程序計數(shù)器)值超過0FFFH(對851/8751/80C51)或1FFFH(對8052)時,將自動轉向執(zhí)行外部程序存儲器內的程序。當EA保持低電平時,則只訪問外部程序存儲器,不管是否有內部程序存儲器。對于常用的8031來說,無內部程序存儲器,所以EA腳必須常接地,這樣才能只選擇外部程序存儲器。 </p><p>  單片機各口的

34、應用:P1口負責控制交通燈,P0口負責給8255a傳送數(shù)據(jù)以及給鎖存器傳遞8255a的地址,P2口為8255a的地址以及選擇8255a,P3口負責控制按鍵;</p><p>  2.3.2、8255可編程外設接口簡介</p><p>  8255是一種可編程的并行I/O接口芯片,它有24條I/O引腳,分A、B兩大組(每組十二條引腳),允許分組編程,工作方式分為0、1和2三種。</p&

35、gt;<p>  使用8255可實現(xiàn)以下功能:</p><p>  并行輸入或輸出多位數(shù)據(jù);</p><p>  實現(xiàn)輸入數(shù)據(jù)數(shù)據(jù)所存和輸出數(shù)據(jù)緩存;</p><p>  提供多個通信接口聯(lián)絡控制信號(如中斷請求,外設準備好及選通等);</p><p>  通過讀取狀態(tài)字可實現(xiàn)程序對外設的查詢。</p><p

36、>  8255的引腳圖如下:</p><p>  圖2-4 可編程外設接口8255的引腳圖</p><p>  8255有三個8位并行口:端口A、端口B和端口C。他們都可以作為輸入或輸出工作方式,但功能上有著不同的特點。</p><p>  1)端口A:一個8位數(shù)據(jù)輸出鎖存和緩沖器;</p><p>  2)端口B:一個8位數(shù)據(jù)輸入/輸

37、出、鎖存/緩存器;一個8位數(shù)據(jù)輸入緩沖器</p><p>  3)端口C:一個8位數(shù)據(jù)輸出鎖存/緩存器;一個8位數(shù)據(jù)輸入緩存器(輸入沒有鎖存)。</p><p>  通常端口A或B作為輸入/輸出數(shù)據(jù)端口,而端口C作為控制或狀態(tài)信息端口,它在“方式字”控制下,可以分成兩個四位的端口,每個端口包含一個四位鎖存器。它們可分別與端口A和B 配合使用,作為控制信號輸出或狀態(tài)信號輸入,也可單獨使用。&

38、lt;/p><p>  8255共有三個輸入輸出和一個內部控制寄存器口,共四個端口,用A0、A1來加以選擇,其功能表見表2-1。</p><p>  表2-1 8255端口選擇表</p><p>  表2-1-2為8255A方式控制選擇字:</p><p>  表2-1-2 8255A方式控制選擇字</p><p>

39、  8255A各口的應用:PA負責傳輸南北向數(shù)碼管的值,PB負責傳輸東西向數(shù)碼管的值,PC負責控制東西向、南北向數(shù)碼的暗滅,控制寄存器(假設為PD)負責控制8255a的工作方式,此系統(tǒng)中值為0x80,即無條件傳輸方式.</p><p>  8255可編程并行接口芯片工作方式說明:</p><p>  方式 0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。

40、輸出可被鎖存,輸入不能鎖存。</p><p>  方式 1:選通輸入/輸出方式。這時 A 口或 B 口的 8 位外設線用作輸入或輸出,C 口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡信號和中斷請求信號。</p><p>  方式 2 :雙向總線方式。只有A口具備雙向總線方式,8位外設線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡信號和中斷請求信號。</p><p>  2.2

41、.3、74LS373簡介</p><p>  74LS373時常用的地址鎖存器芯片,它是實質是一個帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機系統(tǒng)中為了擴展外部存儲器,通常需要接一塊74LS373芯片。</p><p><b>  其功能引腳圖如下:</b></p><p>  圖2-5 74LS373引腳圖</p><p>

42、;  LE 由高變低時,輸出端8 位信息被鎖存,直到LE 端再次有效。 當三態(tài)門使能信號OE為低電平時,三態(tài)門導通,允許Q0~Q7輸出,OE為高電平時,輸出懸空。當74LS373用作地址鎖存器時,應使OE為低電平,此時鎖存使能端C為高電平時,輸出Q0~Q7 狀態(tài)與輸入端D1~D7狀態(tài)相同;當C發(fā)生負的跳變時,輸入端D0~D7 數(shù)據(jù)鎖入Q0~Q7。51單片機的ALE信號可以直接與74LS373的C連接。</p><p&

43、gt;  2.2.4、74LS138譯碼器簡介</p><p>  74LS138為3線—8線譯碼器,共有54/74S138和54/74LS138兩種線路結構型式,其中74LS138譯碼器的工作原理如下:</p><p>  當一個選通端(G1)為高電平,另兩個選通端(/(G2A)和/(G2B))為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應的輸出端以低電平譯出。 

44、</p><p>  74LS138的作用:利用 G1、/(G2A)和/(G2B)可級聯(lián)擴展成 24 線譯碼器;若外接一個反相器還可級聯(lián)擴展成 32 線譯碼器。 若將選通端中的一個作為數(shù)據(jù)輸入端時,74LS138還可作數(shù)據(jù)分配器。</p><p><b>  其引腳圖如下:</b></p><p>  圖2-5 74LS138譯碼器功能圖&l

45、t;/p><p>  2.2.5、LED顯示器接口</p><p>  我們最常用的是七段式和八段式LED數(shù)碼管,八段比七段多了一個小數(shù)點,其他的基本相同。所謂的八段就是指數(shù)碼管里有八個小LED發(fā)光二極管,通過控制不同的LED的亮滅來顯示出不同的字形。數(shù)碼管分為供陰極和共陽極兩種類型,其實共陰極就是將八個LED的陰極連在一起,讓其接地,這樣給任何一個LED的另一端高電平,他便能點亮,而共陽極就

46、是將八個LED的陽極連在一起。</p><p>  數(shù)碼管有靜態(tài)顯示和動態(tài)顯示兩種形。</p><p>  動態(tài)是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片

47、機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能

48、夠節(jié)省大量的I/O端口,而且功耗更低,當顯示器位數(shù)較多時,一般采用動態(tài)顯示方法。</p><p>  動態(tài)顯示程序清單如下:</p><p>  ORG    0100H MAIN:   MOV    R3,#00H       

49、 ;字型碼初始地址 LOOP:   MOV    DPRT,#TABLE    ;字型碼送數(shù)據(jù)指針         MOV    A,R3        

50、 MOV    A,@A+DPTR         MOV    P1,A           ;送顯示       

51、0; MOV    R4,#0E8H       ;循環(huán)顯示某個字符1S DELAY:  ACALL  DISPLAY        ;顯示         DJNZ

52、   R4,#DELAY      ;延時顯示時間示到繼續(xù)         INC    R3             ;顯示下個字符&

53、#160;        CJNE   R3,#0AH,LOOP   ;示顯示到9續(xù)續(xù)         AJMP   MAIN        

54、60;  ;返回主程序 DISPLAY:MOV    R1,#08H        ;共顯示8位LED         MOV    R5,#00H     

55、;   ;從第一位開始顯示 DI</p><p>  2.2.6、 鍵盤接口</p><p>  鍵盤是由若干個按鍵組成的開關矩陣,它是最簡單的單片機輸入設備,操作員通過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)簡單的人機通信。若鍵盤閉合鍵的識別是由專用硬件是現(xiàn)代的,則稱為編碼鍵盤,若用軟件實現(xiàn)閉合鍵識別的,則稱為非編碼鍵盤。</p><p>  鍵盤

56、接口應有以下功能:</p><p>  鍵掃描功能,即檢測是否有鍵閉合;</p><p>  鍵識別功能,確定被閉合鍵所在的行列位置;</p><p>  產生相應的鍵代碼(鍵值)功能;</p><p>  消除按鍵抖動及對付多鍵串按(復按)功能。</p><p><b>  3軟件設計</b>&

57、lt;/p><p><b>  軟件功能模塊劃分:</b></p><p>  其中,主程序負責初始化以及循環(huán)掃描鍵盤;</p><p>  定時器0負責閃爍以及數(shù)碼管的閃爍;</p><p>  定時器1負責計數(shù)以及數(shù)碼管的循環(huán)顯示,交通燈的循環(huán)點亮;</p><p>  鍵盤掃描模塊負責獲得鍵號并

58、轉到相應的程序進行處理;</p><p>  鍵盤處理模塊負責調整交通的通行以及暫緩通行時間。</p><p><b>  系統(tǒng)工作流程設計:</b></p><p>  1、系統(tǒng)啟動后,系統(tǒng)按程序給定的時間工作,即東西向通行60秒,南北向通行40秒,黃燈亮4秒,工作模式如表所示。首先東西向通行,然后南北向通行,如此循環(huán)。</p>

59、<p>  交通信號燈工作模式如表2—2所示:</p><p>  表2—2 交通信號燈工作模式</p><p><b> ?。?lt;/b></p><p>  表2—3 設置鍵的功能</p><p>  3.1主程序模塊設計</p><p>  軟件設計部分分為一個主程序和兩個中

60、斷子程序,一個用于有緊急車輛通過時,系統(tǒng)要能禁止普通車輛通行,實行中斷可使A(東西道)、B(南北道)兩道均亮紅燈;另一個用于一道有車而另一道無車時,通過控制交通燈系統(tǒng)能立即讓有車道放行,假如A道有車B道無車,長按K0可以控制交通燈系統(tǒng)能立即讓東西道放行;假如南北道有車東西道無車,長按K1可以控制交通燈系統(tǒng)能立即南北道放行。</p><p>  十字路口的交通燈在工作時應具有如下特點:紅燈表示該條道路禁止通行;黃燈

61、表示該條道路上未過停車線的車輛禁止通行,已過停車線的車輛繼續(xù)通行;綠燈亮表示該條道路允許通行。</p><p>  3.2 按鍵掃描模塊設計</p><p>  3.3按鍵處理模塊設計</p><p>  短按鍵(時間小于0.5s,值加1)</p><p>  長按鍵(時間大于0.5s小于1s,值加10)</p><p&g

62、t;  持續(xù)按鍵(時間大于1s,值每隔1s加10)</p><p><b>  設置鍵處理:</b></p><p><b>  增加鍵處理:</b></p><p><b>  減少鍵處理:</b></p><p>  3.4 數(shù)碼管顯示、閃爍模塊設計:</p>

63、<p>  3.5數(shù)碼管計數(shù),數(shù)碼管切換、交通燈切換模塊設計</p><p><b>  4 代碼設計</b></p><p><b>  4.1主程序 </b></p><p>  定時器需定時50毫秒,故T0工作于方式1。 初值: 16</p><p> ?。裕茫剑停裕?T計

64、數(shù) =2 -50ms/1us=15536=3CBOH</p><p><b>  ORG 1000H</b></p><p>  START: MOV TMOD, #01H ; 令TO為定時器方式1</p><p>  MOV TH0, #3CH ;裝入定時器初值</p><p>  MOV T

65、L0, #BOH ;</p><p>  MOV IE, &nbs|<< << < 1 2 3 4 5 6 7 8 > >> >>| p; #82H ;開T0中斷</p><p>  SEBT TRO ;啟動T0計數(shù)器</p><p>  MOV

66、RO, #14H ;軟件計數(shù)器賦初值</p><p>  LOOP: SJMP $ ;等待中斷</p><p>  4.2中斷服務子程序</p><p>  ORG 000BH</p><p> ?。粒剩停?BRT</p><p><b>  ORG 00B

67、H</b></p><p> ?。拢遥裕希篋JNZ R0,NEXT</p><p>  AJMP TIME ; 跳轉到時間及信號燈顯示子程序 </p><p>  DJNZ:MOV RO,#14H ;恢復R0值</p><p>  MOV TH0, #3CH ;重裝入定時器初值</p>&

68、lt;p>  MOV TL0, #BOH ;</p><p>  MOV IE, #82H </p><p><b>  RET1</b></p><p><b> ?。牛危?lt;/b></p><p><b>  5程序設計</b></p&g

69、t;<p><b>  5.1程序源代碼</b></p><p>  ORG 0000H ;主程序的入口地址</p><p>  LJMP MAIN ;跳轉到主程序的開始處</p><p>  ORG 0003H ;外部中斷0的中斷程序入口地址 </p>

70、<p>  ORG 000BH ;定時器0的中斷程序入口地址 </p><p>  LJMP T0_INT ;跳轉到中斷服務程序處</p><p>  ORG 0013H ;外部中斷1的中斷程序入口地址 </p><p>  MAIN : MOV SP,#50H&l

71、t;/p><p>  MOV IE,#8EH ;CPU 開中斷,允許T0中斷,T1中斷和外部中斷1中斷</p><p>  MOV TMOD,#51H ;設置T1為計數(shù)方式,T0為定時方式,且都工作于模式1</p><p>  MOV TH1,#00H ;T1 計數(shù)器清零</p><p>  MOV TL1,#00H

72、</p><p>  SETB TR1 ;啟動T1計時器</p><p>  SETB EX1 ;允許INT1 中斷</p><p>  SETB IT1 ;選擇邊沿觸發(fā)方式</p><p>  MOV DPTR ,#0003H</p><p>  MOV A, #

73、80H ;給8255賦初值,8255工作于方式0</p><p>  MOVX @DPTR, A</p><p>  AGAIN: JB P3.1,N0 ;判斷是否要設定東西方向紅綠燈時間的初值,若P3.1為1 跳轉</p><p>  MOV A,P1 </p><p>  JB P1.7,RED

74、 ;判斷P1.7是否為1,若為1則設定紅燈時間,否則設定綠燈間 </p><p>  MOV R0,#00H ;R0 清零</p><p>  MOV R0,A ;存入東西方向綠燈初始時間</p><p><b>  MOV R3,A</b></p><p>  LCALL DISP1&l

75、t;/p><p>  LCALL DELAY</p><p>  AJMP AGAIN</p><p>  RED:&nb|<< << < 1 2 3 4 5 6 7 8 > >> >>| sp; MOV A,P1</p><p>  ANL A,#7FH ;P1.7

76、 置0</p><p>  MOV R7,#00H ;R7 清零</p><p>  MOV R7,A ;存入東西方向紅燈初始時間</p><p><b>  MOV R3,A</b></p><p>  LCALL DISP1</p><p>  LCALL DELAY&l

77、t;/p><p>  AJMP AGAIN</p><p>  N0: SETB TR0 ;啟動T0計時器</p><p>  MOV 76H,R7 ;紅燈時間存入76H</p><p>  N00: MOV A,76H ;東西方向禁止,南北方向通行</p><p>

78、  MOV R3,A </p><p>  MOV DPTR,#0000H ;置8255A口,東西方向紅燈亮,南北方向綠燈亮 MOV A,#0DDH</p><p>  MOVX @DPTR, A</p><p>  N01: JB P2.0,B0</p><p>  N02: SETB P3.0</p

79、><p>  CJNE R3,#00H,N01 ;比較R3中的值是否為0,不為0轉到當前指令處</p><p>  ;------黃燈閃爍5秒程序------</p><p>  N1: SETB P3.0</p><p>  MOV R3,#05H</p><p>  MOV DPTR,#0000H ;置825

80、5A口,東西,南北方向黃燈亮</p><p>  MOV A,#0D4H</p><p>  MOVX @DPTR,A</p><p>  N11: MOV R4,#00H</p><p>  N12: CJNE R4,#7DH,$ ;黃燈持續(xù)亮0.5秒</p><p>  N13: MOV DPTR

81、,#0000H ; 置8255A口,南北方向黃燈滅</p><p>  MOV A,#0DDH</p><p>  MOVX @DPTR,A</p><p>  N14: MOV R4,#00H</p><p>  CJNE R4,#7DH,$ ;黃燈持續(xù)滅0.5秒</p><p>  CJNE R3,#

82、00H,N1 ;閃爍時間達5秒則退出</p><p>  ;-----------------------------------------------</p><p>  N2: MOV R7,#00H</p><p>  MOV A,R0 ;東西通行,南北禁止</p><p><b>  MOV R3,A<

83、/b></p><p>  MOV DPTR,#0000H ; 置8255A口,東西方向綠燈亮,南北方向紅燈亮</p><p>  MOV A,#0EBH</p><p>  MOVX @DPTR,A</p><p>  N21: JB P2.0,T03</p><p>  N22: CJNE R3,#0

84、0H,N21</p><p>  ;------黃燈閃爍5秒程序------</p><p>  N3: MOV R3,#05H</p><p>  MOV DPTR,#0000H ;置8255A口,東西,南北方向黃燈亮</p><p>  MOV A,#0E2H</p><p>  MOVX @DPTR,

85、A</p><p>  N31: MOV R4,#00H</p><p>  CJNE R4,#7DH,$ ;黃燈持續(xù)亮0.5秒</p><p>  N32: MOV DPTR,#0000H ; 置8255A口,南北方向黃燈滅</p><p>  MOV A,#0EBH MOVX @DPTR,A</p>

86、;<p>  N33: MOV R4,#00H</p><p>  CJNE R4,#7DH,$ ;黃燈持續(xù)滅0.5秒</p><p>  CJNE R3,#00H,N3 ;閃爍時間達5秒則退出</p><p><b>  SJMP N00</b></p><p>  ;------闖紅燈報

87、警程序------</p><p>  B0: MOV R2,#03H ;報警持續(xù)時間3秒</p><p>  B01: MOV A,R3</p><p>  JZ N1 ;若倒計時完畢,不再報警</p><p>  CLR P3.0 ;報警 </p><

88、;p>  CJNE R2,#00H,B01 ;判斷3 秒是否結束</p><p><b>  SJMP N02</b></p><p>  ;------1秒延時子程序-------</p><p>  N7: RETI</p><p>  T0_INT:MOV TL0,#9AH ;給定時器

89、T0送定時10ms 的</p><p>  MOV TH0,#0F1H </p><p><b>  INC R4</b></p><p><b>  INC R5</b></p><p>  CJNE R5,#0FAH,T01 ;判斷延時是否夠一秒,不夠則</p><p&

90、gt;  MOV R5,#00H ;R5 清零</p><p>  DEC R3 &|<< << < 1 2 3 4 5 6 7 8 > >> >>| nbsp; ;倒計時初值減一</p><p>  DEC R2 ;報警初值減一</p><p&

91、gt;  T01: ACALL DISP ;調用顯示子程序</p><p>  RETI ;中斷返回</p><p>  ;------顯示子程序------</p><p>  DISP: JNB P2.4,T02</p><p>  DISP1: MOV B,#0AH</p>

92、<p>  MOV A,R3 ;R3 中值二轉十顯示轉換</p><p><b>  DIV AB</b></p><p><b>  MOV 79H,A</b></p><p><b>  MOV 7AH,B</b></p><p>  DI

93、S: MOV A,79H ;顯示十位</p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#0002H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p

94、><p>  MOV A,#0F7H MOVX @DPTR,A</p><p>  LCALL DELAY</p><p>  DS2: MOV A,7AH ;顯示個位</p><p>  MOV DPTR,#TAB </p><p>  MOVC A,@A+DPTR</p>

95、;<p>  MOV DPTR,#0002H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0FBH</p><p>  MOVX @DPTR,A</p><p><b>  RET</b><

96、/p><p>  ;------東西方向車流量檢測程序------</p><p>  T03: MOV A,R3</p><p>  SUBB A,#00H ;若綠燈倒計時完畢,不再檢測車</p><p>  JZ N3 </p><p>  JB P2.0,T03&l

97、t;/p><p>  INC R7 </p><p>  CJNE R7,#64H,E1 </p><p>  MOV R7,#00H ;中斷到 100次則清零</p><p>  E1: SJMP N22</p><p>  ;------東西方向車

98、流量顯示程序------</p><p>  T02: MOV B,#0AH</p><p>  MOV A,R7 ;R7 中值二轉十顯示轉換</p><p><b>  DIV AB</b></p><p><b>  MOV 79H,A</b></p

99、><p><b>  MOV 7AH,B</b></p><p>  DIS3: MOV A,79H ;顯示十位</p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p><p>  MOV DPTR,#0002H</p>

100、;<p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0F7H</p><p>  MOVX @DPTR,A</p><p>  LCALL DELAY</p><p>  DS4: MOV A,7AH ;顯示

101、個位</p><p>  MOV DPTR,#TAB </p><p>  MOVC A,@A+DPTR MOV DPTR,#0002H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0001H</p><p>  MOV A,#0FBH</p><

102、;p>  MOVX @DPTR,A</p><p><b>  LJMP N7</b></p><p>  ;------延時4MS子程序----------</p><p>  DELAY: MOV R1,#0AH</p><p>  LOOP: MOV R6,#64H</p><p&

103、gt;<b>  NOP</b></p><p>  LOOP1: DJNZ R6,LOOP1</p><p>  DJNZ R1,LOOP</p><p>  RET </p><p>  ;------字符表------</p><p>  TAB: DB 3FH,06

104、H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH </p><p><b>  END</b></p><p>  6程序設計思路與流程圖</p><p><b>  6.1主程序流程圖</b></p><p>  主程序主要是一個死循環(huán),不停的循環(huán)四個狀態(tài),如圖4-1所示。<

105、;/p><p>  6.2. 按鍵子程序流程圖</p><p>  它包含到倒計時調整和緊急狀態(tài)兩個狀態(tài)。</p><p>  主程序中放了一個按鍵的判斷指令,當有按鍵按下的時候,程序就自動的跳轉到按鍵子程序處理。當檢測到K2鍵按下的時候就自動返回到主程序。</p><p>  當出現(xiàn)緊急情況的時候,按下K3或者K4就切換到緊急狀態(tài),當緊急事件處

106、理完畢的時候,按下K2,就可以返回正常狀態(tài)。</p><p><b>  7系統(tǒng)測試</b></p><p>  7.1根據(jù)設計方案測試</p><p>  7.2數(shù)碼管顯示最大時間時間測試</p><p>  7.3狀態(tài)燈顯示測試</p><p>  當電路連接完畢后,將寫好的測試程序寫到芯片內

107、,K1和K2分別給端口送高電平和低電平,通電即可檢測。</p><p><b>  7.4數(shù)碼管的測試</b></p><p>  將串口和電路板上的口連接,將寫好的測試程序寫到芯片內,開電源即可測試。</p><p><b>  8結論</b></p><p>  畢業(yè)設計期間,我收獲了很多,經歷

108、了一段有笑有累的光陰,在此要感謝我的指導老師們,是因為你們的悉心指導和幫助讓我不斷成長。本次設計,從分析開始,再進行設計,最后到作品實現(xiàn),每一步都讓我將理論學習的知識應用到實踐中去。在設計過程中,我通過查閱相關資料,與同學交流經驗,向老師請教等方式,讓自己學到了不少知識,培養(yǎng)了我獨立工作的能力和動手能力,相信會對我以后的學習和工作有非常重要的影響。 </p><p>  在沒做畢業(yè)設計之前我覺得畢業(yè)設計只是對這幾

109、年來所學知識的單純總結,但是通過這次畢業(yè)設計發(fā)現(xiàn)自己的看法有些片面。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設計我明白了自己原來知識還比較欠缺。自己要學習的東西還很多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低?,F(xiàn)在我明白了學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己的知識和綜合素質。 </p><p>  總之雖然這次的畢業(yè)

110、設計結束了,但我學到了很多,我知道這只是一個開始而已。我要對自己有更高的要求,才能作為動力不斷的取得更好的成績。 </p><p>  畢業(yè)設計讓我領悟了很多,原來那種浮躁的心態(tài)沒有了,取而代之的是腳踏實地的努力工作學習。當我擺正自己的心態(tài),以積極樂觀向上的心態(tài)投入到設計當中,突然覺得心中又多了一份人生的感悟。</p><p>  通過5周的實訓,我們掌握了課本外的實際知識,將書本上理論的

111、知識,通過我們有著共同愛好的小組一起完成了這次實訓內容。除了完成了老師給的實訓任務,我們收獲更多的是一個集體的力量,一起共同完成一項任務后的滿足感,真的很感謝學校和老師在期末給我們怎么好的實習機會,所以每次我都十分珍惜這些機會,這次也不例外。所以我非常感謝學校和老師給我們這么好的學習機會,在項目中我們也體會到一位優(yōu)秀的教師為我們這次項目的付出,在老師的精心組織下,我們班順利完成了規(guī)定任務。實訓是短暫的,但它讓我們在學校里學到了我們平常在

112、書本上沒能學到的動手方面的實踐,那也是我們畢業(yè)前與社會工作的接觸,它讓我們感受集體的力量,感受了與社會類似的工作。為我們畢業(yè)后的社會工作做好準備。 </p><p>  由于使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大,而且可以隨時的更新系統(tǒng),進行不同狀態(tài)的組合。但是在我們設計和調試的過程中,也發(fā)現(xiàn)了一些問題,譬如,紅燈和綠燈的切換還不夠迅速,紅綠燈效率還不是很高等,還需要在實踐中進一

113、步完善。</p><p><b>  9致謝</b></p><p>  本文是在范昕老師的悉心指導下完成的。“悉心”二字,絕非可有可無。因為,從選題到今天成文,范老師給予了我很大幫助,付出了大量的心血。可以說,沒有范老師的指導,就沒有今天的順利成文。在師從范老師做畢業(yè)設計的這段時間里,我感到學到很多東西。范老師治學嚴謹、做事認真,大到結構,小至標點,一一從嚴要求,決

114、不允許敷衍;范老師為人真誠、待人熱情,從選題至成文,說來慚愧,應該說是在范老師給我主動打電話,幫助我規(guī)劃好時間,及時傳道授業(yè)、答疑解惑。從年前選定題目,范老師的關懷幫助始終如一,這讓我在感動的同時,又深感慚愧!</p><p>  范老師很忙,教學、科研任務繁重。但我每次交稿,他都認真修改,及時回復。每每看到論文上細密的紅色批語,深感暖意陣陣!也突然明白魯迅對藤野先生認真修改他的筆記的那種感動。是的,在很多人將敷

115、衍奉為圭臬的情形下,依然能夠認真謹嚴做事,依然能夠熱情誠懇幫助別人的人,令人感激和欽佩!“學高為師,行為世范?!蔽以俅蚊靼琢恕袄蠋煛倍值暮裰貎群?</p><p>  人生的各個階段,一般要面臨很多選擇。大學三年,也概莫能外。我曾做出過不少選擇,但事后令自己深感得意的,并不是很多。可是,師從范老師做畢業(yè)設計卻不能不說是其中一個!</p><p>  在此,向范老師致以最誠摯的謝意!<

116、;/p><p>  我還要感謝在大學三年來所有曾經教過及幫助過我的老師,是他們的諄諄教誨、無私奉獻,使我增加了知識、提高了能力!沒有他們,也就沒有我三年學業(yè)的順利完成!</p><p>  另外,我還要感謝三年來朝夕相處的同學,和他們切磋知識、交流思想,也使我感到受益匪淺!</p><p>  最后,向所有關心和幫助過我的老師和同學們致以最誠摯的謝意!</p>

117、;<p><b>  9致謝</b></p><p>  本文是在xx老師的悉心指導下完成的。“悉心”二字,絕非可有可無。因為,從選題到今天成文,xx老師給予了我很大幫助,付出了大量的心血。可以說,沒有xx老師的指導,就沒有今天的順利成文。在師從xx老師做畢業(yè)設計的這段時間里,我感到學到很多東西。xx老師治學嚴謹、做事認真,大到結構,小至標點,一一從嚴要求,決不允許敷衍;xx老

118、師為人真誠、待人熱情,從選題至成文,說來慚愧,應該說是在xx老師給我主動打電話,幫助我規(guī)劃好時間,及時傳道授業(yè)、答疑解惑。從年前選定題目,xx老師的關懷幫助始終如一,這讓我在感動的同時,又深感慚愧!</p><p>  xx老師很忙,教學、科研任務繁重。但我每次交稿,他都認真修改,及時回復。每每看到論文上細密的紅色批語,深感暖意陣陣!也突然明白魯迅對藤野先生認真修改他的筆記的那種感動。是的,在很多人將敷衍奉為圭臬

119、的情形下,依然能夠認真謹嚴做事,依然能夠熱情誠懇幫助別人的人,令人感激和欽佩!“學高為師,行為世范?!蔽以俅蚊靼琢恕袄蠋煛倍值暮裰貎群?</p><p>  人生的各個階段,一般要面臨很多選擇。大學三年,也概莫能外。我曾做出過不少選擇,但事后令自己深感得意的,并不是很多??墒牵瑤煆姆独蠋熥霎厴I(yè)設計卻不能不說是其中一個!</p><p>  在此,向xx老師致以最誠摯的謝意!</p&

120、gt;<p>  我還要感謝在大學三年來所有曾經教過及幫助過我的老師,是他們的諄諄教誨、無私奉獻,使我增加了知識、提高了能力!沒有他們,也就沒有我三年學業(yè)的順利完成!</p><p>  另外,我還要感謝三年來朝夕相處的同學,和他們切磋知識、交流思想,也使我感到受益匪淺!</p><p>  最后,向所有關心和幫助過我的老師和同學們致以最誠摯的謝意!</p>&

121、lt;p><b>  參考文獻</b></p><p>  [1] 張義和,陳敵北,改編:劉丹等 .例說8051[M]. 北京:人民郵電出版社,2006,43~55.</p><p>  [2] 吳金戍,沈慶陽,郭庭吉. 8051單片機實踐與應用[M]. 北京:清華大學出版社,2006,68~82.</p><p>  [3] 陳明熒.

122、 8051單片機課程設計實訓教材[M]. 北京:清華大學出版社,2005,112~135.</p><p>  [4] 張友德,趙志英,涂時亮. 單片微型機原理、應用與實驗[M].上海:復旦大學出版社,2003,78~91.</p><p>  [5] 沈慶陽. 單片機實踐與應用[M]. 北京:清華大學出版社,2002,45~82.</p><p>  [6] 林申

123、茂. 8051單片機徹底研究[M]. 北京:人民郵電出版社,2004,145~178.</p><p>  [7] 沙占友 孟志永 王彥朋. 單片機外圍電路設計[M]. 北京:電子工業(yè)出版社,2006,156~214.</p><p>  [8] 楊金巖. 8051單片機數(shù)據(jù)傳輸接口擴展技術與實例應用[M]. 北京:人民郵電出版社,2005,205~231.</p><

溫馨提示

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

評論

0/150

提交評論