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

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設 計 (論 文)</p><p>  信息工程學院 系(院) 應用電子技術 專業(yè)</p><p>  畢業(yè)設計(論文)題目 城市交通信號控制器的設計 </p><p>  學生姓名 xxx </p><p>  班 級 xx

2、xx </p><p>  學 號 xxxxx </p><p>  指導教師 xxxxx </p><p>  完成日期 2012 年 6 月 6 日</p><p>  基于單片機的城市交通燈控制器的設計</p><p>

3、  The design of the traffic light controller based on the single-chip microcomputer</p><p>  總計 畢業(yè)設計(論文) 39 頁</p><p>  表 格 0 個</p><p>  插 圖 1

4、5 幅</p><p><b>  摘 要</b></p><p>  近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結構軟硬件結合,加以完善。</p><p>  十字路口車輛穿

5、梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現(xiàn)這井然秩序呢?靠的就是交通信號燈的自動指揮系統(tǒng)。交通信號燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機ATSC51和可編程并行I/O接口芯片8255A為中心器件來設計交通燈控制器,實現(xiàn)了能根據(jù)實際車流量通過AT89C51芯片的P1口設置紅、綠燈燃亮時間的功能;紅綠燈循環(huán)點亮,倒計時剩5秒時黃燈閃爍警示(交通燈信號通過PA口輸出,顯示時間直接通過8255的PC口輸出至雙位數(shù)碼管

6、);車輛闖紅燈報警;通過設置“看門狗電路”來防止單片機死機,提高單片機系統(tǒng)的抗干擾性;綠燈時間可檢測車流量并可通過雙位數(shù)碼管顯示。本系統(tǒng)實用性強、操作簡單、擴展功能強。 </p><p>  關鍵詞:單片機;交通燈;闖紅燈;檢測車流量</p><p><b>  Abstract</b></p><p>  With the rapid dev

7、elopment of science and technology in recent years, the application of MCU is a growing, while driving more traditional control detection technology updates. In real-time detection and automatic control of microcomputer

8、application system, the microcontroller is often used as a core component, only the microcontroller is not enough knowledge, but also according to the specific combination of hardware architecture of hardware and softwar

9、e, to be improved. </p><p>  Crossroads shuttle vehicles, pedestrians bustling, car dealers lane, one pedestrian and orderly. Then rely on to achieve this discipline of the order it?Is the traffic lights by

10、the automatic control system. Many traffic lights control. This system uses the MSC-51 Series MCU ATSC51 and programmable parallel I/O interface chip 8255A-centered design of traffic light controller device to realize th

11、e actual traffic flow according to the P1 port through AT89C51 to set the red, green brighten time fun</p><p>  Keywords: MCU; Traffic lights; Running red lights; Detect traffic</p><p><b&

12、gt;  目 錄</b></p><p><b>  1 引言1</b></p><p>  2 系統(tǒng)總體方案1</p><p>  2.1 交通管理的方案論證1</p><p>  2.2 交通燈控制的功能要求2</p><p>  2.3 系統(tǒng)總框圖3<

13、/p><p>  2.4 系統(tǒng)工作原理4</p><p>  3 系統(tǒng)硬件設計4</p><p>  3.1 AT89C51單片機簡介5</p><p>  3.2 89C51單片機復位電路7</p><p>  3.3 時鐘電路7</p><p>  3.4 鍵盤接口電路7

14、</p><p>  3.5 8255A與74LS373簡介9</p><p>  3.6 八段LED數(shù)碼管顯示電路11</p><p>  3.7 看門狗硬件電路12</p><p>  3.8 紅外對管檢測電路13</p><p>  3.9 驅動和放大電路14</p><p

15、>  3.10 交通指示燈電路16</p><p>  3.11 報警電路和按鍵控制電路17</p><p>  4 系統(tǒng)軟件設計18</p><p>  4.1 1秒的設定和T0定時器18</p><p>  4.2 東西、南北路口紅外檢測中斷子程序20</p><p>  4.3 1ms

16、軟件延時子程序21</p><p>  4.4 時間顯示子程序21</p><p>  4.5 黃燈閃爍5s子程序22</p><p>  4.6 檢測車流量與顯示子程序23</p><p>  4.7 報警子程序24</p><p>  4.8 主程序25</p><p>

17、;<b>  結 論27</b></p><p><b>  致  謝27</b></p><p><b>  參考文獻28</b></p><p>  附錄A 總硬件電路圖30</p><p>  附錄B 十字路口交通燈控制器的代碼31</p>

18、<p><b>  1 引言</b></p><p>  交通運輸是城市功能活動的命脈,它直接影響社會經(jīng)濟、生產與生活的各個方面。我國機動車輛發(fā)展迅速,而城鎮(zhèn)道路建設由于歷史等各種原因相對滯后。道路擁擠、阻塞現(xiàn)象及交通事故常有發(fā)生。如何利用當今自動控制技術,有效地疏導交通,提高城鎮(zhèn)交通路口的通行能力,提高車輛速度,減少交通事故是值得我們研究的新課題。交通燈是城市交通中的重要指揮

19、系統(tǒng),它與人們日常生活密切相關。隨著人們生活水平的提高,對交通管制也提出了更高的要求,因此提供一個可靠、安全、便捷的多功能交通燈控制系統(tǒng)有著現(xiàn)實的必要性。本設計旨在設計出一款良好的交通燈控制系統(tǒng)來改善交通紊亂問題,目的性強,也具有很強的現(xiàn)實意義。</p><p>  國內外學者對這一學科也早有研究,控制方案各種各樣,并且各有優(yōu)缺點。從1868年英國倫敦首次使用燃汽色燈信號以來,城市交通信號機由手動到自動,交通信號

20、由固定周期到可變周期,系統(tǒng)控制方式由點控到面控,從無車輛檢測器到有車輛檢測器,經(jīng)歷了近百年的歷史[1]。到1963年加拿大多倫多市建立了一套使用IBM650型計算的集中協(xié)調感應控制信號系統(tǒng),從而標志著城市道路交通信號系統(tǒng)的發(fā)展進入了一個新的階段。之后,美國、英國、德國、日本、澳大利亞等多家相繼建成數(shù)字電子計算機區(qū)域交通控制系統(tǒng),這種系統(tǒng)一般還配備交通監(jiān)視系統(tǒng)組成交通管制中心。在西方發(fā)達國家,交通控制系統(tǒng)基本上完成了由傳統(tǒng)的交通控制系統(tǒng)向

21、智能交通控制系統(tǒng)ITS(Intelligent Transport systems)的轉變[2]。而在我國,智能交通系統(tǒng)則剛剛處于起步階段。在20世紀90年代初,我國的相關學者開始意識到研究和開發(fā)ITS的重要性。到90年代中期,由于受到國外ITS研發(fā)的影響,政府部門也開始重視對ITS的研究。</p><p>  基于整個交通控制系統(tǒng)的發(fā)展情況,本設計主要進行如下方面的研究:用智能,集成,且功能強大的MCS-51系

22、列單片機中的AT89C51為控制中心,設計出一套十字路口的交通控制系統(tǒng),以指揮該路口的實時通行狀態(tài)。本設計除了有紅、黃、綠信號燈狀態(tài)控制能實現(xiàn)基本的交通功能外,還增加了倒計時顯示提示,基于實際情況,又要求了對車流量檢測功能,“看門狗芯片”保護功能,違規(guī)檢測及處理、鍵盤可設置等強大功能,以方便人們的生活需求。</p><p><b>  2 系統(tǒng)總體方案</b></p><

23、;p>  2.1 交通管理的方案論證</p><p>  2.1.1 方案設想</p><p>  東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮時間為東西、南北兩干道的公共停車時間[5]。設東西道比南北道的車流量大,指示燈燃亮的方案見表2.1。&l

24、t;/p><p>  表2.1 指示燈的燃亮方案</p><p><b>  表2.1說明:</b></p><p> ?。?)當東西方向為紅燈,此道車輛和行人禁止通行;南北道為綠燈,此道車輛和行人通過。時間為60秒。</p><p> ?。?)黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。</p>&l

25、t;p> ?。?)當東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過。時間為80秒。東西方向車流大通行時間長。</p><p>  (4)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p>  2.1.2 鍵盤控制方案</p><p>  鍵盤分為獨立式鍵盤和行列式鍵盤[3]。本次設計考慮了這兩種

26、鍵盤方案:</p><p>  方案一:采用行列式鍵盤。行列式鍵盤每條行線與列線在交叉處不直接相通,而是通過一個按鍵加以連接,當按鍵較多時可采用行列式鍵盤以節(jié)省I/O接口。</p><p>  方案二:采用獨立式鍵盤。獨立式鍵盤接口電路配置靈活,硬件結構簡單,工作可靠但每個按鍵必須占用一跟I/O接口線,I/O接口線浪費較大,在單片機應用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息,可將按

27、鍵直接在一根I/O接口線上,故只在按鍵數(shù)量不多時采用。本設計應用的接口數(shù)量不多,故選擇此方案。</p><p>  2.1.3 看門狗保護方案</p><p>  在單片機系統(tǒng)中,看門狗的設計一般采用硬件和軟件兩種方式。本次設計考慮了這兩種方案:</p><p>  方案一:采用軟件看門狗。軟件看門狗是利用單片機片內閑置的定時器/計數(shù)器單元作為看門狗,在單片機程序

28、中適當?shù)牟迦氡O(jiān)控指令,當程序出現(xiàn)異?;蜻M入死循環(huán)時,利用軟件將程序計數(shù)器PC賦予初始值,強制性的使程序重新開始運行。軟件看門狗的最大特點是無須外加硬件電路,經(jīng)濟性好。但可靠性差,需要占用系統(tǒng)內存。當然,如果片內的定時器/計數(shù)器被占用,就需要尋求其它的設計方式了。</p><p>  方案二:采用硬件看門狗。硬件看門狗是指一些集成化的或集成在單片機內的專用看門狗電路,它實際上是一個特殊的定時器,當定時時間到時,發(fā)出

29、溢出脈沖[4]。從實現(xiàn)角度上看,該方式是一種軟件與片外專用電路相結合的技術,硬件電路連接好后,在程序中適當?shù)夭迦胍恍┛撮T狗復位的指令,保證程序正常運行時看門狗不溢出。而當程序運行異常時,看門狗超時發(fā)出溢出脈沖,通過單片機的RESET引腳使單片機復位。該方案可靠性高,不需要占用系統(tǒng)內存。但需要外加硬件電路,經(jīng)濟性較差。由于本設計中的安全性要求較高,所以采用硬件看門狗方案。</p><p>  2.1.4 顯示控制

30、方案</p><p>  這里同樣討論了兩種方案:</p><p>  方案一:采用靜態(tài)顯示。靜態(tài)顯示由于占用較多的接口,在單片機設計中常采用串行擴展來完成。該方案占用接口資源多,顯示亮度由保證,但硬件開銷大,電路復雜,信息刷新速度慢,實用于并行接口資源較少以及對顯示沒有要求的場合。</p><p>  方案二:采用動態(tài)顯示。LED動態(tài)顯示硬件連接簡單,比較節(jié)省I/

31、O接口,但其亮度不如靜態(tài)顯示方式,且動態(tài)掃描的顯示方式在顯示位數(shù)較多時,CPU要依次掃描,需占用CPU較多的時間。在該系統(tǒng)中由于單片機除了掃描89C51芯片外沒有太多的實時測控任務,故本設計中采用動態(tài)掃描方式。</p><p>  2.2 交通燈控制的功能要求</p><p>  本設計能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號發(fā)生,還能進行倒計時顯示,車流量檢測及調

32、整,交通違規(guī)處理等功能。</p><p><b> ?。?)倒計時顯示</b></p><p>  倒計時顯示可以提醒駕駛員在信號燈燈色發(fā)生改變的時間、在“停止”和“通過”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計時顯示的信號控制方式,并且認為有倒計時顯示的路口更安全。倒計時顯示是用來減少駕駛員在信號燈色改變的關鍵時刻做出復雜判斷的1種方法,它可以提醒駕駛

33、員燈色發(fā)生改變的時間,幫助駕駛員在“停止”和“通過”兩者間作出合適的選擇。</p><p> ?。?)車流量檢測及調整</p><p>  隨著我國經(jīng)濟建設的蓬勃發(fā)展,城市人口和機動車擁有量在急劇增長,交通流量日益加大,交通擁擠堵塞現(xiàn)象日趨嚴重,交通事故時有發(fā)生。車輛檢測器作為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)中占有重要的地位?,F(xiàn)階段,車輛檢測器檢測方式有很多,各有其優(yōu)缺點,如紅外

34、線檢測器、地磁檢測器、機械壓電檢測器,磁頻檢測器、波頻檢測器、視頻檢測器等。一般車流量檢測器采用傳感器+單片機+外圍器件來實現(xiàn)[6]。而且,目前國內使用的紅綠燈都是固定的紅綠燈時間,并自動切換。紅燈時間和綠燈時間,是根據(jù)道口東西向和南北向的車流量,利用統(tǒng)計方法確定的。交通警察不斷觀察十字路口的兩個方向,根據(jù)車輛密度和流速決定是否切換紅綠燈,以保證最佳的道路交通控制狀態(tài)。</p><p><b> ?。?

35、)時間手動設置</b></p><p>  除系統(tǒng)根據(jù)車流量自動控制調整,也可以通過鍵盤進行手動設置,增加了人為的可控性,避免自動故障和意外發(fā)生。鍵盤是單片機系統(tǒng)中最常用的人機接口,一般情況下有獨立式和行列式兩種。前者軟件編寫簡單,但在按鍵數(shù)量較多時特別浪費I/O口資源,一般用于按鍵數(shù)量少的系統(tǒng)[7]。后者適用于按鍵數(shù)量較多的場合,但是在單片機I/O口資源相對較少而需要較多按鍵時,此方法仍不能滿足設計

36、要求。本系統(tǒng)要求的按鍵控制不多,且I/O口足夠,可直接采用獨立式。</p><p><b> ?。?)違規(guī)檢測</b></p><p>  交通規(guī)則必須人人遵守,但是違反規(guī)則,如闖紅燈等,也時有發(fā)生,交警等交通管理人員雖然可以進行實時監(jiān)管,但是耗費精力,在路口設置檢測傳感器就可以進行自動的警報提示。</p><p>  2.3 系統(tǒng)總框圖&l

37、t;/p><p>  本設計以單片機為控制核心,采用模塊化設計,共分以下幾個功能模塊:單片機控制系統(tǒng)、鍵盤及狀態(tài)顯示、倒計時模塊、看門狗電路模塊、紅外對管檢測模塊等。</p><p>  單片機設計交通燈控制系統(tǒng),可用單片機直接控制信號燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當然,接入LED數(shù)碼管就可以顯示倒計時以提醒行使者,更具人性化。本系統(tǒng)在此基礎上,加入了違規(guī)檢測電路和車流量檢測電路

38、為單片機采集數(shù)據(jù),單片機對此進行具體處理,及時調整控制指揮,為了超越視覺指揮的局限性,同時接上蜂鳴器,在聽覺上加強了指揮提醒作用。</p><p>  鍵盤設置模塊對系統(tǒng)輸入模式選擇及具體通行時間設置的信號,系統(tǒng)進入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時將時間數(shù)據(jù)倒計時輸入到LED數(shù)碼管上實時顯示。在此過程中還要實時捕捉違規(guī)檢測和緊急按鍵信號,以達到對異常狀態(tài)進行實時控制的目的。</p><

39、;p>  系統(tǒng)采用雙數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字99。</p><p>  友好的人機界面、靈活的控制方式、優(yōu)化的物理結構是本設計的亮點。</p><p><b>  圖2.1 總體框圖</b></p><p>  據(jù)此,本設計系統(tǒng)以單片機為控制核心,由車流量檢測模塊,違規(guī)檢測模塊,和按鍵設置模塊等產生輸入,信號燈狀態(tài)模塊,8段LE

40、D數(shù)碼管倒計時模塊和蜂鳴器狀態(tài)模塊接受輸出。系統(tǒng)的總體框圖如圖2.1所示。</p><p>  2.4 系統(tǒng)工作原理</p><p> ?。?)開關鍵盤輸入交通燈初始時間,通過8051單片機P1口輸入到系統(tǒng)</p><p> ?。?)由8051單片機的定時器每秒鐘通過P0口向8255的數(shù)據(jù)口送信息,由8255的PA口顯示紅、綠、黃燈的燃亮情況;由8255的PC口顯

41、示每個燈的燃亮時間。</p><p> ?。?)通過8051的P1口設置各個信號燈的燃亮時間,設置綠、紅時間分別為60秒、80秒循環(huán)由8051的P0口向8255的數(shù)據(jù)口輸出。</p><p> ?。?)通過8051單片機的P3.1位來控制系統(tǒng)是繼續(xù)工作或設置初值,當P3.1位為0,就對系統(tǒng)進行初始化,為1系統(tǒng)就繼續(xù)工作。</p><p> ?。?)紅燈倒計時時間,交

42、通指示燈紅燈亮,當有車輛闖紅燈時,單片機中斷,進入中斷服務子程序,啟動蜂鳴器進行報警,3S后然后恢復正常。</p><p> ?。?)紅燈時間倒計時完畢,黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。</p><p> ?。?)綠燈倒計時時間,增加每次綠燈時間車流量檢測的功能,若檢測到車輛經(jīng)過,進入相應的中斷子程序,將存儲車流量的計數(shù)器加1,并且通過查詢P2.4和P2.5端口的電平是

43、否為低,當開關按下為低電平,雙位數(shù)碼管顯示車流量,直到下一次綠燈時間重新記入。</p><p> ?。?)綠燈時間倒計時完畢,黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。重新循環(huán)。</p><p><b>  3 系統(tǒng)硬件設計</b></p><p>  硬件有單片機、存儲器、若干I/O(擴展)接口、驅動器件、保護器件、檢測器件及外圍設

44、備等組成。其中單片機是整個系統(tǒng)的核心部件,能運行程序和處理數(shù)據(jù)。存儲器用于存儲單片機程序和數(shù)據(jù)。I/O接口是單片機與外部被控制對象交換的信息通道,包括以下及部分數(shù)字量I/O接口(頻率、脈沖等)、開關量I/O接口(繼電器開關、五觸電開關、電磁閥等)、模擬量I/O接口(A/D或D/A轉換電路)。有時需要擴展I/O接口來滿足單片機接口數(shù)量上的不足,通常采用8255芯片。通用外部設備室進行人機對話的紐帶,包括鍵盤、顯示器等。</p>

45、<p>  3.1 AT89C51單片機簡介</p><p>  3.1.1 AT89C51單片機內部結構</p><p>  AT89C51是8051系列單片機的典型產品,AT89C51單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線[8],如圖3.1所示。&l

46、t;/p><p><b>  圖3.1 總線結構</b></p><p><b>  現(xiàn)在說明如下:</b></p><p><b> ?。?)中央處理器</b></p><p>  中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,C

47、PU負責控制、指揮和調度整個單元系統(tǒng)協(xié)調的工作,完成運算和控制輸入輸出功能等操作。</p><p> ?。?)數(shù)據(jù)存儲器(RAM)</p><p>  AT89C51內部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用

48、戶定義的字型表。</p><p>  (3)存儲器(ROM)</p><p>  AT89C51共有4KB個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> ?。?)定時/計數(shù)器(ROM)</p><p>  AT89C51有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產生中斷用于控制程序轉向。</p>

49、<p> ?。?)并行輸入輸出(I/O)口</p><p>  AT89C51共有4組8位I/O口(P0、P1、P2和P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b> ?。?)全雙工串行口</b></p><p>  AT89C51內置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也

50、可以當同步移位器使用。</p><p><b> ?。?)中斷系統(tǒng)</b></p><p>  AT89C51具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b> ?。?)時鐘電路</b></p><p>

51、  AT89C51內置最高頻率達12MHz的時鐘電路,用于產生整個單片機運行的脈沖時序,但AT89C51單片機需外置振蕩電容。</p><p>  單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(Princeton)結構。INTEL的AT89C51系列單片機采用的是哈佛結構的形式,而后續(xù)

52、產品16位的MCS-96系列單片機則采用普林斯頓結構[9]。</p><p>  3.1.2 89C51單片機的引腳</p><p>  89C51單片機內部總線是單總線結構,即數(shù)據(jù)總線和地址總線是公用的。89C51有40條引腳,與其他51系列單片機引腳是兼容的[10]。這40條引腳可分為I/O接口線、電源線、控制線、外接晶體線4部分.,89C51單片機為雙列直插式封裝結構,引腳如圖3.

53、2所示。</p><p>  圖3.2 89C51引腳分配圖</p><p>  89C51單機的電源線有以下兩種:</p><p> ?。?)VCC:+5V電源線。電源線。</p><p> ?。?)GND:接地線。</p><p>  89C51單片機的外接晶體引腳有以下兩種:</p><p&g

54、t; ?。?)XTAL1:片內振蕩器反相放大器的輸入端和內部時鐘工作的輸入端。采用內部振蕩器時,它接外部石英晶體和微調電容的一個引腳。</p><p> ?。?)XTAL2:片內振蕩器反相放大器的輸出端,接外部石英晶體和微調電容的另一端。采用外部振蕩器時,該引腳懸空。外接晶體引腳。</p><p>  控制線89C51單片機的控制線有以下幾種:</p><p>  

55、(1)RST:復位輸入端,高電平有效。</p><p> ?。?):地址鎖存允許/編程線。</p><p> ?。?):外部程序存儲器的讀選通線。</p><p> ?。?):片外ROM允許訪問端/編程電源端。</p><p>  3.2 89C51單片機復位電路</p><p>  單片機在開機時或在工作中因干擾而

56、使程序失控,或工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復位。復位的作用是使中央處理器CPU以及其他功能部件都恢復到一個確定的初始狀態(tài),并從這個狀態(tài)重新開始工作。</p><p>  89C51單片機的復位靠外部電路實現(xiàn),信號由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時,只要保持RST引腳高電平兩個機器周期,單片機即復位.復位后,PC程序計數(shù)器的內容為0000H,片內RAM中內容不變.復位電路

57、一般有上電復位和上電∕按鍵手動復位2種,如圖3.3所示。本設計中復位方式采用上電∕按鍵手動復位方式。</p><p>  上電復位 上電∕按鍵手動復位</p><p>  圖3.3 單片機復位電路</p><p><b>  3.3 時鐘電路</b></p><p>  單片機的晶振電路,即所謂的時鐘電路。單

58、片機的工作流程,就是在系統(tǒng)時鐘的作用下,一條一條地執(zhí)行存儲器中的程序。單片機的時鐘方式分為內部時鐘方式和外部時鐘方式,如圖3.4所示。單片機的外部時鐘方式由外接時鐘源提供,頻率范圍較廣。單片機的內部時鐘方式由外接的一只晶振和兩只起振電容,以及單片機內部的時鐘電路組成,頻率范圍有限,晶振的頻率越高,單片機處理數(shù)據(jù)的速度越快,系統(tǒng)功耗也會相應增加,穩(wěn)定性也會下降。單片機系統(tǒng)常用的晶振頻率有6MHz、11.0592MHz、12MHz。本系統(tǒng)采

59、用11.0592MHz晶振,電容選22pF或30pF均可。本系統(tǒng)采用內部時鐘方式電路。</p><p><b>  圖3.4 時鐘電路</b></p><p>  3.4 鍵盤接口電路</p><p>  在單片機應用系統(tǒng)中,常用鍵盤作為輸入設備,通過它將數(shù)據(jù)、內存地址、命令及指令等輸入到系統(tǒng)中,來實現(xiàn)簡單的人機通信。</p>

60、<p>  本設計中采用獨立式鍵盤。獨立式鍵盤的接口電路:在單片機應用系統(tǒng)中,有時只需要幾個簡單的按鍵向系統(tǒng)輸入信息。這時,可將每個按鍵直接接在一根I/O接口線上,這種連接方式的鍵盤稱為獨立式鍵盤。如圖3.5所示,每個獨立按鍵單獨占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結構簡單,但每個按鍵必須占用一根I/O線,I/O接口線浪費較大。故只在按鍵數(shù)量不多時采用這種按

61、鍵電路。</p><p>  在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時,I/O接口線有確定的高電平。當I/O接口內部有上拉電阻時,外電路可以不配置上拉電阻。</p><p>  圖3.5 鍵盤接口電路</p><p>  單片機接口與對應的數(shù)值功能見表3.1。</p><p>  表3.1 接口與對應的數(shù)值功能表<

62、/p><p>  當S9按下時P3.1為低電平,設置初值(當S8按下時設置設置綠燈初值,當S8斷開時設置紅燈初值);當S9斷開時,不重新設置紅綠燈初值。</p><p>  3.5 8255A與74LS373簡介</p><p>  3.5.1 8255A簡介</p><p> ?。?)8255A可編程并行接口芯片有三個輸入輸出端口,即A口、B

63、口和C口,對應于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入[12]。引腳圖如圖3.6所示。</p><p>  圖3.6 8255A引腳圖</p>&l

64、t;p>  8255A可編程并行接口芯片方式控制字格式說明:</p><p>  8255A有兩種控制命令字;一個是方式選擇控制字;另一個是C口按位置位/復位控制字。其中C口按位置位/復位控制字方式使用較為繁難,說明也較冗長,故在此不作敘述。</p><p>  方式控制字格式說明見表3.2。</p><p>  表3.2 方式控制字格式</p>

65、<p>  D7:設定工作方式標志,1有效。</p><p>  D6、D5:A口方式選擇。</p><p><b>  00—方式0</b></p><p><b>  01—方式1</b></p><p><b>  1×—方式2</b></p&

66、gt;<p>  D4:A口功能(1=輸入,0=輸出)。</p><p>  D3:C口高4位功能(1=輸入,0=輸出)。</p><p>  D2:B口方式選擇(0=方式0,1=方式1)。</p><p>  D1:B口功能(1=輸入,0=輸出)。</p><p>  D0:C口低4位功能(1=輸入,0=輸出)。</p&

67、gt;<p>  8255A可編程并行接口芯片工作方式說明:</p><p>  方式0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。</p><p>  方式1:選通輸入/輸出方式。這時A口或B口的8位外設線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡信號和中斷請求信號。</p><

68、p>  方式2:雙向總線方式。只有A口具備雙向總線方式,8位外設線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡信號和中斷請求信號。</p><p> ?。?)8255A常用于8051并行口的擴展。8051雖然有4個8位I/O端口,但真正能提供借用的只有P1口,因為P2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8051通常需要擴展。由于我們用外部輸入設定紅綠燈倒計時初值、數(shù)碼管的輸

69、出顯示、紅綠黃信號燈的顯示都要用到一個I/O端口,顯然8051的端口是不夠,需要擴展。</p><p>  擴展的方法有兩種:1)借用外部RAM地址來擴展I/O端口;2)采用I/O接口芯片來擴充。我們用8255A并行接口芯片來擴展I/O端口。</p><p> ?。?)8255A與AT89C51的連接:</p><p>  用AT89C51的P0口的p0.7連接82

70、55的片選信號CS我們用89C51的地址采用全譯碼方式,當P0.7=0時片選有效,其他無效,P0.1,P0.0用于選擇8255端口。</p><p>  P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0</p><p>  A7 A6 A5 A4 A3 A2 A1 A0</p><p>  0 X

71、 X X X X 0 0 00H為8255 的PA口</p><p>  0 X X X X X 0 1 01H 為8255的PB口</p><p>  0 X X X X X 1 0 02H 為8255的PC口</p><p>  0

72、 X X X X X 1 1 03H 為8255的控制口</p><p>  由于89C51是分時對8255和儲存器進行訪問,所以與89C51的P0口不會發(fā)生沖突。</p><p>  3.5.2 74LS373簡介</p><p>  74LS373是一種帶三態(tài)門的8D鎖存器,本設計應用74LS373作為89C51的P0口地

73、址鎖存器,其管腳示意圖如圖3.7所示。</p><p>  圖3.7 74LS373引腳</p><p>  其中:1D-8D為8個輸入端。</p><p>  1Q-8Q為8個輸出端。</p><p>  C為數(shù)據(jù)打入端:當C為“1”時,鎖存器輸出狀態(tài)同輸入狀態(tài);當C由“1”變“0”時,數(shù)據(jù)打入鎖存器。</p><p&g

74、t;  為輸出允許端:當=0時,三態(tài)門打開;當=1時,三態(tài)門關閉,輸出高阻。</p><p>  3.6 八段LED數(shù)碼管顯示電路</p><p>  LED數(shù)碼管顯示器是由發(fā)光二極管顯示字段的MCS-51單片機輸出設備。LED數(shù)碼管的結構簡單,分為七段和八段兩種形式,也有共陽和共陰之分。以八段共陰管為例,它有8個發(fā)光二極管(比七段多一個發(fā)光二極管,用來顯示dp,即點)。單片機應用系統(tǒng)常

75、采用八段LED數(shù)碼管作為顯示器,這種顯示器具有耗電低、配置靈活、線路簡單、安裝方便、耐轉動、價格低廉且壽命長等優(yōu)點[16]。因此應用比較廣泛。</p><p>  LED數(shù)碼管顯示器可以分為共陰極和共陽極兩種結構。</p><p> ?。?)共陰極結構:如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結構,則數(shù)碼顯示段輸入高電平有效,當某段輸入高電平該段便發(fā)光,如圖3.8所示。本設計中采用這

76、種結構。</p><p> ?。?)共陽極結構:如果所有的發(fā)光二極管的陽極接在一起,稱為共陽極結構,則數(shù)碼顯示段輸入低平有效,當某段輸入低電平該段便發(fā)光,如圖3.8所示。</p><p>  圖3.8 八段LED顯示器</p><p>  LED燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點亮而顯示不同的字形。以共陰極結構為例,如dp,g,f,e,

77、d,c,b,a管角上加上7FH,因此dp上為0v,則二極管全亮顯示為8。采用共陰極連接驅動代碼,代碼見表3.3。</p><p>  表3.3 驅動代碼表</p><p>  LED8段數(shù)碼管的設置為每個方位上的一對雙位數(shù)碼管。四個方位上總共用8個LED數(shù)碼管接在單片機的I/O擴展口8255上。雖然東、西或南、北道路口不一樣,但是顯示的時間在數(shù)字上是一樣的,所以兩邊連接的數(shù)碼管是對稱的。如

78、圖3.9所示。</p><p>  圖3.9 LED雙位數(shù)碼管顯示電路</p><p>  其中PC0~PC7作為段選碼,PB0~PB3作為位選碼。</p><p>  3.7 看門狗硬件電路 </p><p>  由于單片機自身的抗干擾能力比較差,尤其在一些條件比較惡劣、噪聲大的場合,常會出現(xiàn)單片機因為受外界干擾而導致死機的現(xiàn)象,造成系

79、統(tǒng)不能正常工作。設置看門狗是為了防止單片機死機、提高單片機系統(tǒng)抗干擾性的一種重要途徑[17]。</p><p>  在一個單片機應用系統(tǒng)中,所謂的“看門狗”是指在系統(tǒng)設計中通過軟件或硬件方式在一定的周期內監(jiān)控單片機或其它CPU的運行情況。如果在規(guī)定的時間內沒有收到來自單片機或其它CPU的觸發(fā)信號,則系統(tǒng)會強制復位,以保證系統(tǒng)在受到干擾時仍能夠維持正常的工作狀態(tài)。在單片機系統(tǒng)中,看門狗的設計一般采用硬件和軟件兩種方

80、式。這里采用硬件看門狗方式[18]。</p><p>  硬件看門狗是指一些集成化的或集成在單片機內的專用看門狗電路,它實際上是一個特殊的定時器,當定時時間到時,發(fā)出溢出脈沖。從實現(xiàn)角度上看,該方式是一種軟件與片外專用電路相結合的技術,硬件電路連接好后,在程序中適當?shù)夭迦胍恍┛撮T狗復位的指令,保證程序正常運行時看門狗不溢出。而當程序運行異常時,看門狗超時發(fā)出溢出脈沖,通過單片機的RESET引腳使單片機復位。這種方

81、式中,看門狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關系。目前常用的集成看門狗電路很多,如MAX705~708、MAX813L、X5043/5045等[20]。</p><p>  這里,以專用芯片MAX692作為外部看門狗的電路。</p><p>  MAX692是微系統(tǒng)監(jiān)控電路芯片,具有后備電池切換、掉電判別、看門狗監(jiān)控等功能。其引腳說明如圖3.10所示。</p&

82、gt;<p>  圖3.10 MAX692引腳</p><p>  VOUT:電源輸出引腳。</p><p>  VCC:接電源引腳,電源供電3.0~5.5V。</p><p><b>  GND:接地。</b></p><p>  PFI:電池故障輸入。</p><p><b

83、> ?。弘姵毓收陷敵?。</b></p><p>  WDI:監(jiān)視器輸入引腳。</p><p> ?。簭臀惠敵鲆_,低電平有效。</p><p>  VBATT:后備電池輸入端。</p><p>  MAX692在本設計中的使用:WDI是看門狗監(jiān)測輸入腳,接到CPU的一個專用I/O口或一個總線上,這里接到P0.7口上。是復位信

84、號輸出腳,接到CPU的復位輸入腳。</p><p>  MAX692的WDI定時周期是1.6s,復位脈沖寬度是200ms。如果WDI保持高電平超過看門狗定時周期(1.6s),端將發(fā)生200ms的負脈沖使CPU復位。</p><p>  3.8 紅外對管檢測電路</p><p>  車輛檢測傳感器的類型主要有壓力檢測器、磁感應式檢測器、超聲波檢測器、紅外對管檢測器、

85、雷達檢測器等。每種傳感器都各有優(yōu)缺點,本設計中采用紅外對管檢測器作為檢測車流量和闖紅燈車輛的檢測器件[22]。</p><p>  紅外對管檢測電路由紅外發(fā)射電路和紅外接收管電路組成。</p><p> ?。?)紅外發(fā)射管就是發(fā)射紅外線的二極管,波長主要有940nm和850nm兩種,材料一般都是GaAlAs,其工作電流一般在50mA,主要用于紅外控制系統(tǒng)的發(fā)射源。發(fā)射信號經(jīng)頻率調制后一般接

86、收距離可超過10米,無干擾時可超過30米。</p><p>  常用的紅外發(fā)光二極管發(fā)出的紅外線波長為940nm左右,外形與普通φ5mm發(fā)光二極管相同,只是顏色不同。一般有透明、黑色和深藍色等三種。判斷紅外發(fā)光二極管的好壞與判斷普通二極管一樣的方法。單只紅外發(fā)光二極管的發(fā)射功率約100mW。</p><p> ?。?)紅外接收管是接收電路的一種光敏二極管,使用時要給紅外接收二極管加反向偏壓

87、,它才能正常工作而獲得高的靈敏度。紅外接收二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率較小,紅外接收二極管收到的信號較弱,所以接收端就要增加高增益放大電路。然而現(xiàn)在不論是業(yè)余制作或正式的產品,大都采用成品的一體化接收頭。紅外線一體化接收頭是集紅外接收、放大、濾波和比較器輸出等的模塊,性能穩(wěn)定、可靠。</p><p>  本設計中的紅外對管檢測電路如圖3.11所示。D1、D2分別作為東西路口紅外發(fā)射和接

88、受管;D3、D4分別作為南北路口紅外發(fā)射和接受管。其中P3.2口接東西路口紅外對管,用來檢測東西方向車輛情況;P3.3口接南北路口紅外對管,用來檢測南北方向車輛情況。當東西方向有車輛經(jīng)過或闖紅燈時,單片機外部中斷0中斷,進入相應的中斷服務子程序;當南北方向有車輛經(jīng)過或闖紅燈時,單片機外部中斷1中斷,進入相應的中斷服務子程序執(zhí)行,記錄車流量或報警。</p><p>  圖3.11 紅外對管檢測電路</p>

89、;<p>  3.9 驅動和放大電路</p><p>  為了提高數(shù)碼管的亮度,和使單片機正常工作,以使蜂鳴器正常報警,常使用驅動電路。常用的驅動芯片有同相驅動芯片和反相驅動芯片。</p><p>  本設計采用74LS244作為同相驅動芯片,驅動交通信號燈和段選碼;采用74HC240作為反相驅動芯片,驅動數(shù)碼管位選碼;采用74LS04作為反相驅動芯片和放大芯片,驅動蜂鳴器

90、報警。</p><p>  74LS244為3態(tài)8位同相緩沖器,一般用作總線驅動器。地址鎖存器就是一個暫存器,它根據(jù)控制信號的狀態(tài),將總線上地址代碼暫存起來。它主要用于三態(tài)輸出,作為地址驅動器,時鐘驅動器和總線驅動器,定向發(fā)送器等[23]。當片選信號為低電平時,輸入和對應的輸出同相;當片選信號為高電平時,其對應的輸出截止,為高阻態(tài)。74LS244真值表見表3.4。</p><p>  表3

91、.4 74LS244真值表</p><p>  74LS244引腳如圖3.12所示。 </p><p>  圖3.12 74LS244引腳</p><p>  74HC240為3態(tài)8位反相緩沖器,功能與74LS244類似,只不過輸出與相應的輸入反相。當片選信號為低電平時,輸入和對應的輸出反相;當片選信號為高電平時,其對應的輸出截止,為高阻態(tài)。74HC240真值表見表

92、3.5。</p><p>  表3.5 74HC240真值表</p><p>  74HC240引腳如圖3.13所示。</p><p>  圖3.13 74HC240引腳</p><p>  74LS04為非門電路,電路圖如圖3.14所示,作用是使輸入和輸出反相。</p><p>  圖3.14 74LS04引腳<

93、;/p><p>  紅外線接收放大電路由紅外線接收管和非門電路74LS04組成的電壓放大器組成,如圖3.15所示。用3個非門組成電壓放大器,R22是其反饋偏置電阻器。由紅外線接收管(VDL)將接收到的紅外反射信號變?yōu)殡娒}沖后,通過C5、R23加至電壓放大器的輸人端,進行脈沖幅度的放大,然后輸入到單片機的I/O接口上。</p><p>  圖3.15 紅外線接收放大電路</p>&

94、lt;p>  3.10 交通指示燈電路</p><p>  根據(jù)本設計的特點,紅綠燈的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個方向上設置紅綠黃燈,總共4組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對稱分布的,如圖3.16所示。</p><p>  圖3.16 信號燈的連接</p><p>  在本設計中,實際控制的燈

95、只有6個,即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。其中均是低電平有效。</p><p>  共有3鐘狀態(tài):東西紅燈亮,南北綠燈亮(EEH);東西黃燈亮,南北黃燈亮(DBH);東西綠燈亮,南北紅燈亮(F5H)。</p><p>  括號中是PA端口8個引腳值PA0,PA1,PA2,PA3,PA4,PA5,PA6,PA7對應的十六進制碼。</p><

96、p>  在用于顯示發(fā)光二極管時,直接由MOV指令將十六進制碼送入P0口。剛才的3個狀態(tài)是依次變換的,這就要涉及到狀態(tài)的判斷和銜接了。</p><p>  3.11 報警電路和按鍵控制電路</p><p><b> ?。?)報警電路</b></p><p>  本設計采用一般蜂鳴器,蜂鳴器使用NPN三極管進行驅動控制,當連接到單片機上的引

97、腳輸出為低電平,74LS04輸出為高電平,NPN導通,蜂鳴器蜂鳴;當連接到單片機上的引腳輸出高電平時,74LS04輸出為低電平,NPN截止,蜂鳴器停止蜂鳴。如圖3.17所示。</p><p>  圖3.17 報警電路</p><p><b> ?。?)按鍵控制電路</b></p><p>  本設計設置了2個獨立式按鍵:S11鍵,S12鍵。每個

98、按鍵一端接地,另一端接上拉電阻。低電平有效,當按鍵按下端口接地,單片機捕獲到低電平,從而知道相應的輸入信息。綠燈時間時,當S11鍵按下,顯示東西方向車流量;當S12鍵按下,顯示南北方向車流量。如圖3.18所示。</p><p>  圖3.18 按鍵控制電路</p><p><b>  4 系統(tǒng)軟件設計</b></p><p>  本設計的全部

99、控制程序實際上分為若干子程序:T0中斷子程序,東西、南北路口紅外檢測中斷子程序,1ms延時子程序,時間顯示子程序,黃燈閃爍5s子程序,檢測車流量與顯示子程序,報警子程序等。</p><p>  4.1 1秒的設定和T0定時器</p><p>  延時方法可以有兩種一中是利用MCS-51內部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。本設計采用T0定時器方法來設定1S時間

100、。其中T0定時又有兩種方法:中斷和查詢。這里采用T0定時器中斷方法。</p><p> ?。?)定時器工作原理</p><p>  定時器工作的基本原理其實就是給初值,讓它不斷加1直至減完為模值,這個初值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時自動產生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值,即所要求的計數(shù)值設定為C,把計數(shù)初值設定為TC可得到如下計算通式

101、[14]: (4.1)</p><p>  式中:M為計數(shù)器模值。計數(shù)值并不是目的,目的是時間值,設計1次的時間,即定時器計數(shù)脈沖的周期為,它是單片機系統(tǒng)主頻周期的12倍,設要求的時間值為T,則有。計算通式變?yōu)椋?lt;/p><p><b> ?。?.2)

102、</b></p><p>  模值和計數(shù)器工作方式有關。在方式0時M為8192;在方式1時M的值為65536;在方式2和3為256。就此可以算出各種方式的最大延時。如單片機的主脈沖頻率為12MHZ,經(jīng)過12分頻后,若采用方式0最大延時只有8.129毫秒,采用方式1最大延時也只有65.536毫秒。這就是為什么掃描周期為50ms的原因,</p><p>  若使用軟件則會耽擱程序流

103、程,顯然不可行。相反,時間計時方面卻不可能只用計數(shù)器,因為顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們還必須采用定時器和軟件相結合的辦法才能解決這個問題。</p><p><b> ?。?)1秒的方法</b></p><p>  我們采用在主程序中設定一個初值為20的軟件計數(shù)器和使T0定時50毫秒.這樣每當T0到50毫秒時CPU就響應它的溢出中斷請求,進入他的中斷

104、服務子程序。在中斷服務子程序中,CPU先重裝入定時器初值,再使軟件計數(shù)器減1,然后判斷它是否為零,為零表示1秒已到可以返回到輸出時間顯示程序。</p><p><b>  1)主程序: </b></p><p>  定時器需定時50毫秒,故T0工作于方式1。初值:</p><p> ?。?16?。?0ms/1us=15536=3CBOH<

105、;/p><p><b>  ORG 1000H</b></p><p>  START: MOV TMOD,#01H ;令T0為定時器方式1</p><p>  MOV TH0,#3CH ;裝入定時器初值</p><p>  MOV TL0,#0BOH   ;</p><p>  M

106、OV IE,#82H ;開T0中斷</p><p>  SETB TR0     ;啟動T0計數(shù)器</p><p>  MOV RO,#14H    ;軟件計數(shù)器賦初值</p><p>  LOOP: SJMP $       ;循環(huán)等待中斷</p><p>  2)T0中斷服務子程序:</p><

107、p><b>  ORG 000BH</b></p><p><b>  AJMP BRTO</b></p><p><b>  ORG 0300H</b></p><p>  BRTO: MOV TH0,#3CH ;重裝入定時器初值</p><p>  MOV

108、 TL0,#0BOH  ;</p><p>  DJNZ R0,NEXT</p><p>  MOV R0,#14H  ;恢復R0值</p><p>  AJMP TIME ;跳轉到時間及信號燈顯示子程序</p><p>  NEXT: RET1</p><p><b>  END<

109、/b></p><p>  本設計中的T0中斷子程序流程圖如圖4.1所示。</p><p>  圖4.1 T0中斷子程序流程圖</p><p>  4.2 東西、南北路口紅外檢測中斷子程序</p><p>  本系統(tǒng)主要使用了外部中斷,中斷信號有引腳INT0和INT1輸入,低電平有效,CPU每個時鐘周期都會檢測INT0和INT1上的信

110、號,89C51允許外部中斷以電平方式或負邊沿方式兩種中斷方式輸入中斷請求信號,可由用戶通過設置TCON中IT0和IT1位的狀態(tài)來實現(xiàn)。以IT0為例,IT0=0,為電平觸發(fā)方式,IT0=1,為負邊沿觸發(fā)方式,本設計采用邊沿觸發(fā)方式,IE0為其中斷標志位,有中斷信號則置位,中斷服務子程序響應后,IE0自動清零。IE中的EA為允許中斷的總控制位,為1開啟,EX0為外部中斷允許控制位,為1開啟。</p><p>  在優(yōu)

111、先級的允許下,一旦有外部中斷信號產生,單片機CPU首先保護斷點,PC值進棧,然后執(zhí)行相應的中斷服務子程序,執(zhí)行完后,用RETI指令返回,此時CPU會從堆棧中取保存的斷點地址,送回PC,程序再正常執(zhí)行。</p><p>  正常情況下,紅外對管導通,INT0和INT1輸入為低電平,CPU不中斷;當有車輛經(jīng)過時,紅外對管不導通,INT0和INT1輸入為高電平,向CPU輸入中斷請求信號,CPU中斷,并執(zhí)行相應的中斷服務

112、子程序,即報警或記錄車流量。本設計中的東西、南北路口紅外檢測中斷子程序流程圖如圖4.2所示。</p><p>  圖4.2 東西、南北路口紅外檢測中斷子程序流程圖</p><p>  4.3 1ms軟件延時子程序</p><p>  MCS-51的工作頻率為12MHZ,機器周期與主頻有關,機器周期是主頻的12倍,所以一個機器周期的時間為12*(1/12MHZ)=1

溫馨提示

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

評論

0/150

提交評論