論文-單片機(jī)交通控制燈設(shè)計實現(xiàn)-畢業(yè)設(shè)計_第1頁
論文-單片機(jī)交通控制燈設(shè)計實現(xiàn)-畢業(yè)設(shè)計_第2頁
論文-單片機(jī)交通控制燈設(shè)計實現(xiàn)-畢業(yè)設(shè)計_第3頁
論文-單片機(jī)交通控制燈設(shè)計實現(xiàn)-畢業(yè)設(shè)計_第4頁
論文-單片機(jī)交通控制燈設(shè)計實現(xiàn)-畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z- - - .總結(jié)資料畢 業(yè) 設(shè) 計 任 務(wù) 書專業(yè)電氣自動化年級2007 班級2郭玉龍* 20070113目 錄摘要第一章 交通信號燈硬件電路的設(shè)計1.1 交通信號燈的作用及工作原理1第二章 系統(tǒng)組成2.1 硬件控制線路圖32.2器件和原理 3什么是單片機(jī) 4 什么是單片機(jī)系統(tǒng) 52.3 局部電路功能 6 晶振電路 6 復(fù)位電路 6 信號燈控制電路 6 2.4 設(shè)計流程圖 6 第三章 交通信號燈軟件的系統(tǒng)編程3.1 信號燈亮滅的定時功能8 單片機(jī)的定時器 8 如何使用MCS_51單片機(jī)的定時器呢. 8 定時器數(shù)值的設(shè)置應(yīng)該注意的事項 8 定時1ms的程序代碼 93.2 51

2、單片機(jī)的中斷系統(tǒng) 9 中斷系統(tǒng)的概念 9 單片機(jī)的終端系統(tǒng)的作用 9 如何實現(xiàn)單片機(jī)的中斷 93.3軟件流程圖 10第四章 系統(tǒng)仿真4.1 PRETUES軟件的介紹 14第五章 調(diào)試及檢測 5 .1硬件調(diào)試21 5 .11最小系統(tǒng)的調(diào)試 215 .1.2 故障點(diǎn)的分析 215.2軟件調(diào)試及問題解決22 第六章 完畢語6.1文總結(jié) 236.2工作展望 23參考文獻(xiàn) 24致26交通控制燈摘 要紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號燈,用以指揮馬車通行。這是世界上

3、最早的交通信號燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停頓,綠色表示“注意。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停頓,綠燈亮表示“通行。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動紅綠燈,司機(jī)遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行

4、人踏上對壓力敏感的路面時,它就能發(fā)覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國?道路交通和道路標(biāo)志信號協(xié)定?對各種信號燈的含義作了規(guī)定。綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志制止*一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在穿插路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能平安停車時可以進(jìn)

5、入穿插路口 8051單片機(jī)包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:中央處理器:中央處理器(CPU)是整個單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(RAM)8051部有128個8位用戶數(shù)據(jù)存儲單元和128個專用存放器單元,它們是統(tǒng)一編址的,專用存放器只能用于存放控制指令數(shù)據(jù),用戶只能,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有12

6、8個,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。圖2-1程序存儲器(ROM):8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8051置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,

7、可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇時鐘電路:8051置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機(jī)運(yùn)行的脈沖時序,但8051單片機(jī)需外置振蕩電容。單片機(jī)的構(gòu)造有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)構(gòu)造,另一種是采用通用計算機(jī)廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的構(gòu)造,即普林斯頓(Princeton)構(gòu)造。INTEL的MCS-51系列單片機(jī)采用的是哈佛構(gòu)造的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓構(gòu)造。下列圖是MCS-51系列單片機(jī)的部構(gòu)造示意圖。圖2-2MCS-51的引腳說明:MCS-51系列單片機(jī)中的8031、8

8、051及8751均采用40Pin封裝的雙列直接DIP構(gòu)造,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP構(gòu)造,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:如圖3 圖2-3Pin9:RESET/Vpd復(fù)位信號復(fù)用腳,當(dāng)8051通電,時鐘電路開場工

9、作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用存放器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開場執(zhí)行程序。然而,初始復(fù)位不改變RAM包括工作存放器R0-R7的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下列圖4。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)部RAM的數(shù)據(jù)不喪失。圖4Pin30:ALE/當(dāng)外部程序器時,ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而部程序

10、存儲器時,ALE端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點(diǎn),當(dāng)外部程序存儲器,ALE會跳過一個脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲器的外部選通線,8051和8751單片機(jī),置有4kB的程序存儲器,當(dāng)EA為高電平并且程序地址小于4kB時,讀取部程序存儲器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電

11、平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對部無程序存儲器的8031,EA端必須接地。在編程時,EA/Vpp腳還需加上21V的編程電壓。-. z第一章 交通信號燈硬件電路的設(shè)計1.1交通信號燈的作用及工作原理道路交通控制的作用主要表現(xiàn)為以下幾個方面: 改善交通秩序,增加交通平安。 減少交通延誤,提高經(jīng)濟(jì)效益。 降低污染程度,保護(hù)生態(tài)環(huán)境。節(jié)省能源和土地消耗。交通信號燈由紅燈、綠燈、黃燈組成。紅燈表示制止通行,綠燈表示準(zhǔn)許通行,黃燈表示警示。交通信號燈分為機(jī)動車信號燈、非機(jī)動車信號燈、人行橫道信號燈、車道信號燈、方向指示信號燈、閃光警告信號燈、道路與鐵路平面穿插道口信號燈。交通信號燈

12、用于道路平面穿插路口,通過對車輛、行人發(fā)出行進(jìn)或停頓的指令,使各同時到達(dá)的人、車交通流盡可能減少相互干擾,從而提高路口的通行能力,保障路口暢通和平安。 1機(jī)動車信號燈。由綠黃紅三種顏色的燈組成,綠燈亮?xí)r,準(zhǔn)許車輛通行,但轉(zhuǎn)彎車輛不得阻礙被放行的直行車輛、行人通行;黃燈亮?xí)r,已越過停頓線的車輛可繼續(xù)通行;紅燈亮?xí)r,制止車輛通行。 2車道信號燈。車道信號燈由綠色箭頭燈和紅色叉形燈或紅色箭頭燈組成,綠色箭頭燈亮?xí)r,準(zhǔn)許本車道車輛按指示方向通行;紅色叉形燈或紅色箭頭燈亮?xí)r,制止本車道車輛通行。 3人行橫道信號燈。人行橫道信號燈由綠燈和紅燈組成,綠燈亮?xí)r,準(zhǔn)許行人通過人行橫道;紅燈亮?xí)r,制止行人進(jìn)入人行

13、橫道,但是已經(jīng)進(jìn)入人行橫道的,可以繼續(xù)通過或者在道路中心線處停留等候第一章 交通信號燈硬件電路的設(shè)計 道路交通信號燈的工作原理如下:設(shè)計一個十字路口交通燈自動控制電路。設(shè):a南北方向綠燈接通; b東西方向綠燈接通; c南北方向紅燈接通; d東西方向紅燈接通;e南北方向黃燈接通;f東西方向黃燈接通。 工作順序為ABCDA, 要求各狀態(tài)的工作時間如下列圖所示。 綠燈-(25s)-黃燈-(5s)-紅燈-(30s)-綠燈-(循環(huán))第二章 系統(tǒng)組成2.1 硬件控制線路圖2.2 器件和原理所需硬件電路的名稱規(guī)格數(shù)量單片機(jī)芯片MSC-521晶振12M1電容22pF2電解電容10uF2電阻2206排阻2201

14、共陰數(shù)碼管共陰4發(fā)光二極管紅黃綠各兩個開關(guān)1MA*2321電容1uF4串口1電阻10K1什么是單片機(jī)單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng)。盡管他的大局部功能集成在一塊小芯片上,但是它具有一個完整計算機(jī)所需要的大局部部件:CPU、存、部和外部總線系統(tǒng),目前大局部還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機(jī)也被稱為微控制器Microcontroler,是因為它最早被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片僅有CPU的專用處理器開展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一

15、個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對提及要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機(jī)和專用處理器的開展便分道揚(yáng)鑣。早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上開展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開場出現(xiàn)了16位單片機(jī),但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大開展,單片機(jī)技術(shù)得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位

16、單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和Linu*操作系統(tǒng)。單片機(jī)比專用處理器最適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機(jī)是世界上數(shù)量最多的計算機(jī)。現(xiàn)代人類生活中所

17、用的幾乎每件電子和機(jī)械產(chǎn)品中都會集成有單片機(jī)。手機(jī)、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個人電腦中也會有為數(shù)不少的單片機(jī)在工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機(jī)在同時工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計算的綜合,甚至比人類的數(shù)量還要多。 什么是單片機(jī)系統(tǒng)單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng).對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路.下面給出一個51單片機(jī)的最小系統(tǒng)電路圖. 圖3-1復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合電容電壓不能

18、突變的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且,這個高電平持續(xù)的時間由電路的RC值來決定.典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.一般教科書推薦C取10u,R取8.2K.當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個機(jī)周期的高電平.至于如何具體定量計算,可以參考電路分析相關(guān)書籍.晶振電路:典型的晶振取11.0592MHz(因為可以準(zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產(chǎn)生準(zhǔn)確的uS級時歇,方便定時操作)2.3 局部電路功能 晶振電路 復(fù)位電路

19、 信號燈控制電路,LED及顯示接口SEQ 圖表 * ARABIC1發(fā)光二極管簡稱LED,采用砷化鎵、鎵鋁砷、和磷化鎵等材料制成,其部構(gòu)造為一個PN結(jié),具有單向?qū)щ娦?當(dāng)在發(fā)光二極管PN結(jié)上加正向電壓時,PN結(jié)勢壘降低,載流子的擴(kuò)散運(yùn)動大于漂移運(yùn)動,致使P區(qū)的空穴注入到N區(qū),N區(qū)的電子注入到P區(qū),這樣相互注入的空穴與電子相遇后會產(chǎn)生復(fù)合,復(fù)合時產(chǎn)生的能量大局部以光的形式出現(xiàn),因此而發(fā)光。 當(dāng)所有二極管都發(fā)出光時,大多數(shù)都不是很有效的。在普通二極管里,半導(dǎo)體材料本身吸引大量的光能而完畢。發(fā)光二極管是由一個塑性燈泡覆蓋集中燈光在一個特定方向。由于不同材料的禁帶寬度不同,所以由不同材料制成的發(fā)光二極管

20、可發(fā)出不同波長的光。另外,有些材料由于組分和摻雜不同,例如,有的具有很復(fù)雜的能帶構(gòu)造,相應(yīng)的還有間接躍遷輻射等,因此有各種各樣的發(fā)光二極管。發(fā)光二極管在制作時,使用的材料有所不同,則就可以發(fā)出不同顏色的光。發(fā)光二極管的發(fā)光顏色有:紅色光、黃色光、綠色光、紅外光等。發(fā)光二極管的外形有:圓形、長方形、三角形、正方形、組合形、特殊形等。常用的發(fā)光二極管應(yīng)用電路有四種,即直流驅(qū)動電路、交流驅(qū)動電路、脈沖驅(qū)動電路、變色發(fā)光驅(qū)動電路。使用LED作指示電路時,應(yīng)該串接限流電阻,該電阻的阻值大小應(yīng)根據(jù)不同的使用電壓和LED所需工作電流來選擇。發(fā)光二極管的壓降一LED的光學(xué)參數(shù)與pn結(jié)結(jié)溫有很大的關(guān)系。一般工作

21、在小電流IF10mA,或者1020 mA長時間連續(xù)點(diǎn)亮LED溫升不明顯。因此我們選的二極管顏色為紅色,黃色。綠燈是通行信號,面對綠燈的車輛可以直行紅燈是禁行信號,面對紅燈的車輛必須在穿插路口的停車線后停車。黃燈是警告,信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能平安停車時可以進(jìn)入穿插路口。2.4 設(shè)計流程圖 開場初始化A紅燈,B綠燈Time 20sA紅燈,B黃燈Time 5sA綠燈,B紅燈Time 20sA黃燈,B紅燈Time 5s圖第三章 交通信號燈軟件的系統(tǒng)編程3.1 信號燈亮滅的定時功能 單片機(jī)的定時器在單片機(jī)應(yīng)用系統(tǒng)中,實現(xiàn)定時的方法一般有以下三種:軟件定時:讓計算

22、機(jī)執(zhí)行一段程序來進(jìn)展事件延時。這個程序段本身份沒有安排其他的執(zhí)行目的,只是利用該程序段的執(zhí)行花費(fèi)的一個固定時間。通過適當(dāng)?shù)倪x擇指令和安排循環(huán)次數(shù),可調(diào)節(jié)這段程序執(zhí)行所需花費(fèi)的時間的長短。其特點(diǎn)是定時時間準(zhǔn)確,不需外加硬件電路,但占用時間。因此軟件定時的時間不宜過長。:硬件定時:利用硬件電路實現(xiàn)定時。其特點(diǎn)是不占用時間,通過改變電路元器件參數(shù)調(diào)來節(jié)定時,但使用不夠靈活方便。對于時間較長的定時,常用硬件電路來實現(xiàn)。:可編程定時器:通過專用的定時計數(shù)器芯片來實現(xiàn)。其特點(diǎn)是通過對系統(tǒng)時鐘脈沖進(jìn)展計數(shù)實現(xiàn)定時,定時的時間可通過程序的設(shè)定的方法改變,使用靈活方便。也可實現(xiàn)對外部脈沖的計數(shù)功能。單片機(jī)交通控

23、制器的設(shè)計 當(dāng)定時計數(shù)器設(shè)置為計數(shù)工作方式時,技術(shù)器對來自輸入引腳T0和T1的外部信號計數(shù),外部信號的下降沿將觸發(fā)計數(shù)。最高檢測頻率為振蕩頻率的二十四分之一。計數(shù)器對外部輸入信號的占空比沒有特別的限制,但必須保證輸入信號的高電平與低電平的持續(xù)時間在一個機(jī)器周期以上。 當(dāng)設(shè)置了定時器的工作方式并啟動定時器工作后,定時器就安倍設(shè)定的工作方式獨(dú)立工作,不在占用CPU的操作時間,只有在計數(shù)器計滿溢出時才能中斷CPU當(dāng)前的操作。 定時器數(shù)值的設(shè)置應(yīng)該注意的事項延時方法可以有兩種一中是利用MCS-51部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。 定時器工作時必須給計數(shù)器送計數(shù)器初值,這

24、個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式: TC=M-C式中,M為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為8196 ;在方式1時M的值為65536;在方式2和3為256。 T=MTCT計數(shù)或T計數(shù)T計數(shù)是單片機(jī)時鐘周期的倍;為定時初值如單片機(jī)的主脈沖頻率為,經(jīng)過分頻方式213微秒毫秒方式216微秒毫秒我們在這里采用的是方式1,則初始值TC=65536-50000THO=(65536-50000)%256 TL0=(65536-50000)/256顯然

25、秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的方法才能解決這個問題我們采用在主程序中設(shè)定一個初值為的軟件計數(shù)器和使定時毫秒這樣每當(dāng)?shù)胶撩霑r就響應(yīng)它的溢出中斷請求,進(jìn)入他的中斷效勞子程序。在中斷效勞子程序中,先使軟件計數(shù)器加,然后判斷它是否為20。為20表示秒已到可以返回到輸出時間顯示程序 定時1ms的程序代碼void delay(unsigned int z)unsigned int *,y; for(*=z;*0;*-) for(y=110;y0;y-);3.2 51單片機(jī)的中斷系統(tǒng) 中斷系統(tǒng)的概念計算機(jī)在執(zhí)行正常程序時,如果系統(tǒng)出現(xiàn)*些急需處理的異常情況和特殊請求,

26、CPU會暫時中止正在執(zhí)行的指令,轉(zhuǎn)去對隨機(jī)發(fā)生的更緊迫事件進(jìn)展處理;處理完后,CPU會自動返回原來的程序繼續(xù)執(zhí)行。單片機(jī)的中斷系統(tǒng)的作用CPU響應(yīng)中斷申請時,首先使先級有效位置位,以阻止同級或低級的終端申請;然后把程序計數(shù)器PC的容壓入堆餞,再把與中斷效勞程序入口地址送到程序計數(shù)器PC;同時去除*些中斷標(biāo)志。以上過程均由端系統(tǒng)自動完成。 如何實現(xiàn)單片機(jī)的中斷8052具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。中斷源MCS-51單片機(jī)的中斷源共有5個,分為3類:外部中斷源,片溢出中斷源,串行口中斷源。外部中斷源可以分為由

27、片P3.2引腳輸入的INT0中斷,以及由P3.3引腳輸入的INT1中斷。片溢出中斷分為定時器T0中斷和定時器T1中斷。串行口中斷只有一個,片串行數(shù)據(jù)的接收和發(fā)送中斷。這5個中斷源在程序存儲器中各有中斷效勞程序的入口地址,這個地址也稱為矢量地址。在CPU響應(yīng)中斷時,硬件自動形成各自的入口地址,由此進(jìn)入中斷效勞程序,從而實現(xiàn)了正確的轉(zhuǎn)移。這些中斷源的符號,名稱,產(chǎn)生的條件和中斷效勞入口地址如圖所3.3軟件流程圖*includeunsigned int i=0,num=0,time=60;unsigned char ge,shi;unsigned int code table10=0*3f,0*,0

28、*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f;void delay(unsigned int);void display();main()TMOD=0*01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; E*0=1; IT0=1; while(1)while(time!=5) P1=0*F3; if(num=20) time-; num=0; display(); while(time!=2) if(num=10) P1=0*F7; if(num=20) P1=0*F3;nu

29、m=0; time-; display(); while(time!=0) P1=0*F5; if(num=20) num=0; time-; display(); time=30; while(time!=5) P1=0*DE; if(num=20) num=0; time-; display(); while(time!=2) if(num=10) P1=0*FE; if(num=20) P1=0*DE;num=0; time-; display(); while(time!=0) P1=0*EE; if(num=20) num=0; time-; display(); time=60;

30、void display() shi=time/10; ge=time%10; P2=0*FE; P0=tablege; delay(5); P2=0*FD; P0=tableshi; delay(5); P2=0*FB; P0=tablege; delay(5); P2=0*F7; P0=tableshi; delay(5);void delay(unsigned int z)unsigned int *,y; for(*=z;*0;*-) for(y=110;y0;y-);void e*ter0() interrupt 0 num=0;time=20;/*數(shù)碼管計時顯示*/ P1=0*F6

31、;Whiletime!=0Ifnum=20num=0;time-disply();void time0() interrupt 1num+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 第四章系統(tǒng)仿真4.1 proteus軟件介紹Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比

32、方MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比方鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機(jī)實驗室。本文中由于我們主要使用Proteus軟件在單片機(jī)方面的仿真功能,所以我們重點(diǎn)研究ISIS模塊的用法,在下面的容中,如不特別說明,我們所說的Proteus軟件特指其ISIS模塊。在進(jìn)展下面的操作前,我先說明一點(diǎn):我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你發(fā)現(xiàn)在鼠標(biāo)操作上會略有不同。這主要表現(xiàn)在6.9以前的版本鼠標(biāo)左右鍵的作用與一般軟件剛好相反,而7.0以后已經(jīng)完全改正。下面我們首先來熟悉一下Prote

33、us的界面。Proteus是一個標(biāo)準(zhǔn)的Windows窗口程序,和大多數(shù)程序一樣,沒有太大區(qū)別,其啟動界面如下列圖所示:圖4-1如圖中所示,區(qū)域為菜單及工具欄,區(qū)域為預(yù)覽區(qū),區(qū)域為元器件瀏覽區(qū),區(qū)域為編輯窗口,區(qū)域為對象拾取區(qū),區(qū)域為元器件調(diào)整工具欄,區(qū)域為運(yùn)行工具條。下面我們就以建立一個和我們在Keil簡介中所講的工程工程相配套的Proteus工程為例來詳細(xì)講述Proteus的操作方法以及考前須知。首先點(diǎn)擊啟動界面區(qū)域中的“P按鈕Pick Devices,拾取元器件來翻開“Pick Devices拾取元器件對話框從元件庫中拾取所需的元器件。對話框如下列圖所示:圖4-2在對話框中的“Keywor

34、ds里面輸入我們要檢索的元器件的關(guān)鍵詞,比方我們要選擇工程中使用的AT89C51,就可以直接輸入。輸入以后我們能夠在中間的“Results結(jié)果欄里面看到我們搜索的元器件的結(jié)果。在對話框的右側(cè),我們還能夠看到我們選擇的元器件的仿真模型、引腳以及PCB參數(shù)。這里有一點(diǎn)需要注意,可能有時候我們選擇的元器件并沒有仿真模型,對話框?qū)⒃诜抡婺P秃鸵_一欄中顯示“No Simulator Model無仿真模型。則我們就不能夠用該元器件進(jìn)展仿真了,或者我們只能做它的PCB板,或者我們選擇其他的與其功能類似而且具有仿真模型的元器件。搜索到所需的元器件以后,我們可以雙擊元器件名來將相應(yīng)的元器件參加到我們的文檔中,

35、則接著我們還可以用一樣的方法來搜索并參加其他的元器件。當(dāng)我們已經(jīng)將所需的元器件全部參加到文檔中時,我們可以點(diǎn)擊“OK按鈕來完成元器件的添加。添加好元器件以后,下面我們所需要做的就是將元器件按照我們的需要連接成電路。首先在元器件瀏覽區(qū)中點(diǎn)擊我們需要添加到文檔中的元器件,這時我們就可以在瀏覽區(qū)看到我們所選擇的元器件的形狀與方向,如果其方向不符合你的要求,你可以通過點(diǎn)擊元器件調(diào)整工具欄中的工具來任意進(jìn)展調(diào)整,調(diào)整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按一樣的操作即可完成所有元器件的布置,接下來是連線。事實上Proteus的自動布線功能是如此的完美以至于我們在做布線時從來都不會覺得這是一

36、項任務(wù),而通常像是在享受布線的樂趣。布線時我們只需要單擊選擇起點(diǎn),然后在需要轉(zhuǎn)彎的地方單擊一下,按照你所需走線的方向移動鼠標(biāo)到線的終點(diǎn)單擊即可。本例我們布線的結(jié)果如下列圖所示仿真我們在上面的Keil操作介紹中的簡單例子。圖4-3因為該工程十分簡單,我們沒有必要加上復(fù)位電路,所以這點(diǎn)在圖中予以忽略,請大家注意。除此以外,你可能還發(fā)現(xiàn),單片機(jī)系統(tǒng)沒有晶振,這一點(diǎn)你需注意。事實上在Proteus中單片機(jī)的晶振可以省略,系統(tǒng)默認(rèn)為12MHz,而且很多時候,當(dāng)然也為了方便,我們只需要取默認(rèn)值就可以了。下面我們來添加電源。先說明一點(diǎn),Proteus中單片機(jī)芯片默認(rèn)已經(jīng)添加電源與地,所以我們可以省略。然后在

37、添加電源與地以前,我們先來看一下上面第一個圖中區(qū)域的對象拾取區(qū),我們在這里只說明本文中可能會用得到的以及比擬重要的工具。l:Selection Mode。選擇模式,通常情況下我們都需要選中它,比方布局時和布線時。l:ponent Mode。組件模式,點(diǎn)擊該按鈕,能夠顯示出區(qū)域中的元器件,以便我們選擇。l:Wire Label Mode。線路標(biāo)簽?zāi)J?,選中它并單擊文檔區(qū)電路連線能夠為連線添加標(biāo)簽。經(jīng)常與總線配合使用。l:Te*t Script Mode。文本模式,選中它能夠為文檔添加文本。l:Buses Mode??偩€模式,選中它能夠在電路中畫總線。關(guān)于總線畫法的詳細(xì)步驟與考前須知我們在下面會進(jìn)

38、展專門講解。l:Terminals Mode。終端模式,選中它能夠為電路添加各種終端,比方輸入、輸出、電源、地等等。l:Virtual Instruments Mode。虛擬儀器模式,選中它我們能夠在區(qū)域中看到很多虛擬儀器,比方示波器、電壓表、電流表等等。關(guān)于它們的用法我們會在后面的相應(yīng)章節(jié)中詳細(xì)講述。好了,下面我們就來添加電源。首先點(diǎn)擊,選擇終端模式,然后在元器件瀏覽區(qū)中點(diǎn)擊POWER電源來選中電源,通過區(qū)域中的元器件調(diào)整工具進(jìn)展適當(dāng)?shù)恼{(diào)整,然后就可以在文檔區(qū)中單擊放置電源了。放置并連接好線路的電路圖一局部如下列圖: 圖4-4連接好電路圖以后我們還需要做一些修改。由上圖我們可以看出,圖中的R

39、1電阻值為10k,這個電阻作為限流電阻顯然太大,將使發(fā)光二極管D1亮度很低或者根本就不亮,影響我們的仿真結(jié)果。所以我們要進(jìn)展修改。修改方法如下:首先我們雙擊電阻圖標(biāo),這時軟件將彈出“Edit ponent對話框見下列圖所示的對話框,對話框中的“ponent Referer是組件標(biāo)簽之意,可以隨便填寫,也可以取默認(rèn),但要注意在同一文檔中不能有兩個組件標(biāo)簽一樣;“Resistance就是電阻值了,我們可以在其后的框中根據(jù)需要填入相應(yīng)的電阻值。填寫時需注意其格式,如果直接填寫數(shù)字,則單位默認(rèn)為;如果在數(shù)字后面加上K或者k,則表示k之意。這里我們填入270,表示270。修改好各組件屬性以后就要將程序H

40、E*文件載入單片機(jī)了。首先雙擊單片機(jī)圖標(biāo),系統(tǒng)同樣會彈出“Edit ponent對話框,如下列圖。在這個對話框中我們點(diǎn)擊“Program files框右側(cè)的,來翻開選擇程序代碼窗口,選中相應(yīng)的HE*文件后返回,這時,按鈕左側(cè)的框中就填入了相應(yīng)的HE*文件,我們點(diǎn)擊對話框的“OK按鈕,回到文檔,程序文件就添加完畢了。 圖4-5裝載好程序,我們就可以進(jìn)展仿真了。第五章:調(diào)試功能說明5.1 硬件調(diào)試最小系統(tǒng)調(diào)試首先應(yīng)該確認(rèn)電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,我們所用的電源電壓是5V。接下來就是檢查復(fù)位引腳電壓是否正常。分別測量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓

41、值,看是否正確。然后再檢查晶振是否起振了,一般用示波器來看晶振引腳的波形,注意應(yīng)該使用示波器探頭的“*10檔。另一個方法是測量復(fù)位狀態(tài)下的IO口電平,按住復(fù)位鍵不放,然后測量IO口沒接外部上拉的P0口除外的電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。另外還要注意的地方是,要將EA引腳拉高,因為我們用的是片ROM,否則會出現(xiàn)程序亂跑的情況。有時用仿真器可以,而燒入片子不行,往往是因為EA引腳沒拉高的緣故當(dāng)然,晶振沒起振也是原因只一。經(jīng)過上面幾點(diǎn)的檢查,一般即可排除故障了。如果系統(tǒng)不穩(wěn)定的話,有時是因為電源濾波不好導(dǎo)致的。在單片機(jī)的電源引腳跟地引腳之間接上一個0.1uF的電容會

42、有所改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uF的。遇到系統(tǒng)不穩(wěn)定時,就可以并上電容試試。 故障點(diǎn)分析檢測故障點(diǎn)的方法如下:測量電壓法。首先要確認(rèn)的是各芯片電源引腳的電壓是否正常,其次檢查各種參考電壓是否正常,另外還有各點(diǎn)的工作電壓是否正常等。信號注入法。將信號源加至輸入端,然后依次往后測量各點(diǎn)的波形,看是否正常,以找到故障點(diǎn)。有時我們也會用更簡單的方法,例如用手握一個鑷子,去碰觸各級的輸入端,看輸出端是否有反響,當(dāng)然,還有很多其它的尋找故障點(diǎn)的方法,例如看、聽、聞、摸等?!翱淳褪强丛袩o明顯的機(jī)械損壞,例如破裂、燒黑、變形等;“聽就是聽工作聲音是否正常,例如一

43、些不該響的東西在響,該響的地方不響或者聲音不正常等;“聞就是檢查是否有異味,例如燒焦的味道、電容電解液的味道等,對于一個有經(jīng)歷的電子維修人員來說,對這些氣味是很敏感的;“摸就是用手去試探器件的溫度是否正常,例如太熱,或者太涼。一些功率器件,工作起來時會發(fā)熱,如果摸上去是涼的,則根本上可以判斷它沒有工作起來。但如果不該熱的地方熱了或者該熱的地方太熱了,那也是不行的。一般的功率三極管、穩(wěn)壓芯片等,工作在70度以下是完全沒問題的。70度大概是怎樣的一個概念呢.如果你將手壓上去,可以堅持三秒鐘以上,就說明溫度大概在70度以下注意要先試探性的去摸,千萬別把手燙傷了。5.2軟件調(diào)試問題及解決一個應(yīng)用系統(tǒng)并非一次就可以正確無誤地設(shè)計出來,尤其是設(shè)計的程序,必須經(jīng)過屢次的調(diào)試才能確鑿無誤地工作。為防止浪費(fèi),

溫馨提示

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

評論

0/150

提交評論