單片機交通控制燈的設(shè)計與實現(xiàn)_第1頁
單片機交通控制燈的設(shè)計與實現(xiàn)_第2頁
單片機交通控制燈的設(shè)計與實現(xiàn)_第3頁
單片機交通控制燈的設(shè)計與實現(xiàn)_第4頁
單片機交通控制燈的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄摘要關(guān)鍵詞abstractkeywords引言:1. 交通信號燈硬件電路的設(shè)計11.1交通燈國內(nèi)外發(fā)展概況11.2交通信號燈的作用及工作原理11.2.1道路交通控制的作用主要表現(xiàn)為以下幾個方面11.2.2 道路交通信號燈的工作原理如下22. 系統(tǒng)組成32.1 硬件控制線路圖32.2 器件和原理42.2.1什么是單片機42.2.2 什么是單片機系統(tǒng)52.3 部分電路功能72.3.1 晶振電路72.3.3 信號燈控制電路,led及顯示接口72.4 設(shè)計流程圖93. 交通信號燈軟件的系統(tǒng)編程103.1 信號燈亮滅的定時功能103.1.1 單片機的定時器103.1.2 定時器數(shù)值的設(shè)置應(yīng)該注意的事

2、項103.2 51單片機的中斷系統(tǒng)113.2.1 中斷系統(tǒng)的概念113.2.2 單片機的中斷系統(tǒng)的作用123.2.3 如何實現(xiàn)單片機的中斷123.3軟件流程圖124. 系統(tǒng)仿真174.1 proteus軟件介紹175.調(diào)試功能說明235.1 硬件調(diào)試235.1.1最小系統(tǒng)調(diào)試235.1.2 故障點分析235.2軟件調(diào)試問題及解決245.3拓展25結(jié)束語26文總結(jié)26工作展望26參考文獻27致謝28單片機交通控制燈的設(shè)計與實現(xiàn)電子工程專業(yè)學(xué)生 *指導(dǎo)教師 * 摘要本系統(tǒng)采用mcs-51系列單片機intel8031和可編程并行i/o接口芯片8255a為中心器件來設(shè)計交通燈控制器,實現(xiàn)了能根據(jù)實際車

3、流量通過8031芯片的pi口設(shè)置紅、綠燈燃亮?xí)r間的功能:為了系統(tǒng)穩(wěn)定可靠采用了max629“看門狗”芯片,避免系統(tǒng)因為死機而停止工作的情況發(fā)生;顯示時間直接通過8255的pa、pb口輸出;交通燈信號通過pc口輸出;交通燈的點亮采用vt雙向晶閘管來控制、直接采用220v交流電源驅(qū)動,系統(tǒng)使用性強、操作簡單、擴展性強。關(guān)鍵詞:單片機,交通燈,控制器,設(shè)計,實現(xiàn)traffic control chip design and realization of the lampelectronic engineering students:song ke kong teachers: chenwanping

4、 zengshixian abstractthis system adopts msc-51 series only that machine intel8031 with but programming parallel interface chip 8255a of i/o is central device the design controller of traffic lights, have realized can measure according to actual wagon flow the pi installation bonus and green light th

5、at passes through 8031 chips burn to light the function of time ;for system stabilize reliable have adopted max629 the chip “dog looks after the house”, have avoided that system stops working condition because of halting to occur; show that time is directly exported through pb and pa of 8255; the si

6、gnal of traffic light is exported though usually pc mouth; the point of traffic light to adopt vt two-way jingo floodgate pipe come to control, directly drive with the alternating current source of 220 v, practicality is strong, operating is simple.keywords: only flat machine, traffic light , contro

7、ller , design , realize 引言該設(shè)計是單片機控制交通燈,運用s51單片機實現(xiàn)交通燈的控制?,F(xiàn)今世界單片機作為微型計算機一個重要部分,由于它具有抗干擾能力強、靈活性好、環(huán)境要求不高、價格低廉、開放容易等優(yōu)點,在我國一 廣泛的應(yīng)用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設(shè)備等1 交通信號燈硬件電路的設(shè)計1.1交通燈國內(nèi)外發(fā)展概況 隨著經(jīng)濟的發(fā)展,城市現(xiàn)代化程度不斷提高,交通需求和交通迅速增長,城市交通網(wǎng)絡(luò)中交通擁擠日益嚴重,道路運輸所帶來的交通擁堵、交通事故和環(huán)境污染等負面效應(yīng)日益突出。逐步成為經(jīng)濟和社會發(fā)展中的全球性共同問題。交通問題已經(jīng)日益

8、成為世界性的難題,城市交通事故、交通堵塞和交通污染問題愈加突出。為了解決車和路的矛盾,常用的兩種方法:一是控制需求,最直接的辦法就是限制車輛的增長:二是增加供給,也就是修路。但是這兩個辦法都有其局限性。交通是社會發(fā)展和人民生活水平提高的基本條件,經(jīng)濟的發(fā)展必然帶來出行的增加而且在我國汽車工業(yè)正處在起步階段的時期。因此限制車輛的增長不是解決問題的好辦法。而采取增加供給,即大量修筑道路基礎(chǔ)設(shè)施的方法,在自愿、環(huán)境矛盾越來越突出的今天。面對越來越擁擠的交通,有限的財力是很難支持的!所以在道路管理方面就要加強交通安全,而在道路管理中最長見的就是交通燈。因此交通燈是目前道路最為常見,也是最為廣泛的交通規(guī)

9、范工具!1.2交通信號燈的作用及工作原理1.2.1道路交通控制的作用主要表現(xiàn)為以下幾個方面: 改善交通秩序,增加交通安全。 減少交通延誤,提高經(jīng)濟效益。 降低污染程度,保護生態(tài)環(huán)境。節(jié)省能源和土地消耗。交通信號燈由紅燈、綠燈、黃燈組成。紅燈表示禁止通行,綠燈表示準許通行,黃燈表示警示。交通信號燈分為機動車信號燈、非機動車信號燈、人行橫道信號燈、車道信號燈、方向指示信號燈、閃光警告信號燈、道路與鐵路平面交叉道口信號燈。交通信號燈用于道路平面交叉路口,通過對車輛、行人發(fā)出行進或停止的指令,使各同時到達的人、車交通流盡可能減少相互干擾,從而提高路口的通行能力,保障路口暢通和安全。 (1)機動車信號燈

10、。由綠黃紅三種顏色的燈組成,綠燈亮?xí)r,準許車輛通行,但轉(zhuǎn)彎車輛不得妨礙被放行的直行車輛、行人通行;黃燈亮?xí)r,已越過停止線的車輛可繼續(xù)通行;紅燈亮?xí)r,禁止車輛通行。 (2)車道信號燈。車道信號燈由綠色箭頭燈和紅色叉形燈或紅色箭頭燈組成,綠色箭頭燈亮?xí)r,準許本車道車輛按指示方向通行;紅色叉形燈或紅色箭頭燈亮?xí)r,禁止本車道車輛通行。 (3)人行橫道信號燈。人行橫道信號燈由綠燈和紅燈組成,綠燈亮?xí)r,準許行人通過人行橫道;紅燈亮?xí)r,禁止行人進入人行橫道,但是已經(jīng)進入人行橫道的,可以繼續(xù)通過或者在道路中心線處停留等候第一章 交通信號燈硬件電路的設(shè)計1.2.2 道路交通信號燈的工作原理如下:設(shè)計一個十字路口

11、交通燈自動控制電路。設(shè):a-南北方向綠燈接通; b-東西方向綠燈接通; c-南北方向紅燈接通; d-東西方向紅燈接通;e-南北方向黃燈接通;f-東西方向黃燈接通。 工作順序為abcda, 要求各狀態(tài)的工作時間如下圖所示。 綠燈-(25s)-黃燈-(5s)-紅燈-(30s)-綠燈-(循環(huán))2 系統(tǒng)組成2.1 硬件控制線路圖2.2 器件和原理所需硬件電路的名稱規(guī)格數(shù)量單片機芯片msc-521晶振12m1電容22pf2電解電容10uf2電阻2206排阻2201共陰數(shù)碼管共陰4發(fā)光二極管紅黃綠各兩個開關(guān)1max2321電容1uf4串口1電阻10k12.2.1什么是單片機單片機是指一個集成在一塊芯片上的

12、完整計算機系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:cpu、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機也被稱為微控制器(microcontroler),是因為它最早被用在工業(yè)控制領(lǐng)域。單片機由芯片內(nèi)僅有cpu的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和cpu集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對提及要求嚴格的控制設(shè)備當中。intel的z80是最早按照這種思想設(shè)計出的

13、處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。早期的單片機都是8位或4位的。其中最成功的是intel的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了mcs51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大的提高。隨著intel i960系列特別是后來的arm系列的廣泛應(yīng)用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高

14、了數(shù)百倍。目前,高端的32位單片機主頻已經(jīng)超過300mhz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的windows和linux操作系統(tǒng)。單片機比專用處理器最適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1

15、-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過pc機和其他計算的綜合,甚至比人類的數(shù)量還要多。2.2.2 什么是單片機系統(tǒng)單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng).對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、晶振電路、復(fù)位電路.下面給出一個51單片機的最小系統(tǒng)電路圖. 圖3-1復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當系統(tǒng)一上電,rst腳將會出現(xiàn)高電平,并且,這個高電平持續(xù)的

16、時間由電路的rc值來決定.典型的51單片機當rst腳的高電平持續(xù)兩個機器周期以上就將復(fù)位,所以,適當組合rc的取值就可以保證可靠的復(fù)位.一般教科書推薦c 取10u,r取8.2k.當然也有其他取法的,原則就是要讓rc組合可以在rst腳上產(chǎn)生不少于2個機周期的高電平.至于如何具體定量計算,可以參考電路分析相關(guān)書籍.晶振電路:典型的晶振取11.0592mhz(因為可以準確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12mhz(產(chǎn)生精確的us級時歇,方便定時操作)2.3 部分電路功能2.3.1 晶振電路 2.3.2 復(fù)位電路 2.3.3 信號燈控制電路,led及顯示接口1

17、發(fā)光二極管簡稱led,采用砷化鎵、鎵鋁砷、和磷化鎵等材料制成,其內(nèi)部結(jié)構(gòu)為一個pn結(jié),具有單向?qū)щ娦?當在發(fā)光二極管pn結(jié)上加正向電壓時,pn結(jié)勢壘降低,載流子的擴散運動大于漂移運動,致使p區(qū)的空穴注入到n區(qū),n區(qū)的電子注入到p區(qū),這樣相互注入的空穴與電子相遇后會產(chǎn)生復(fù)合,復(fù)合時產(chǎn)生的能量大部分以光的形式出現(xiàn),因此而發(fā)光。 當所有二極管都發(fā)出光時,大多數(shù)都不是很有效的。在普通二極管里,半導(dǎo)體材料本身吸引大量的光能而結(jié)束。發(fā)光二極管是由一個塑性燈泡覆蓋集中燈光在一個特定方向。由于不同材料的禁帶寬度不同,所以由不同材料制成的發(fā)光二極管可發(fā)出不同波長的光。另外,有些材料由于組分和摻雜不同,例如,有的

18、具有很復(fù)雜的能帶結(jié)構(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)系。一般工作在小電流if10ma,或者1020 ma長時間連續(xù)點亮

19、led溫升不明顯。因此我們選的二極管顏色為紅色,黃色。綠燈是通行信號,面對綠燈的車輛可以直行紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告,信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進入交叉路口。2.4 設(shè)計流程圖 開始初始化a紅燈,b綠燈time 20sa紅燈,b黃燈time 5sa綠燈,b紅燈time 20sa黃燈,b紅燈time 5s圖2.4.13 交通信號燈軟件的系統(tǒng)編程3.1 信號燈亮滅的定時功能3.1.1 單片機的定時器在單片機應(yīng)用系統(tǒng)中,實現(xiàn)定時的方法一般有以下三種:軟件定時:讓計算機執(zhí)行一段程序來進行事件延時。這個程序

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

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

22、他是以加法記數(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=(mtc)t計數(shù) 或t計數(shù)t計數(shù)是單片機時鐘周期的倍;為定時初值如單片機的主脈沖頻率為,經(jīng)過分頻方式213微秒毫秒方式216微秒毫秒我們在這里采用的是方式1,則初始值tc=65536-50000tho=(65536-50000)%256 tl0=(65536-50000)/256顯然秒鐘已經(jīng)超過了計數(shù)器

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

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

25、片內(nèi)溢出中斷源,串行口中斷源。外部中斷源可以分為由片內(nèi)p3.2引腳輸入的int0中斷,以及由p3.3引腳輸入的int1中斷。片內(nèi)溢出中斷分為定時器t0中斷和定時器t1中斷。串行口中斷只有一個,片內(nèi)串行數(shù)據(jù)的接收和發(fā)送中斷。這5個中斷源在程序存儲器中各有中斷服務(wù)程序的入口地址,這個地址也稱為矢量地址。在cpu響應(yīng)中斷時,硬件自動形成各自的入口地址,由此進入中斷服務(wù)程序,從而實現(xiàn)了正確的轉(zhuǎn)移。這些中斷源的符號,名稱,產(chǎn)生的條件和中斷服務(wù)入口地址如圖所3.3軟件流程圖#include<reg52.h>unsigned int i=0,num=0,time=60;unsigned char

26、 ge,shi;unsigned int code table10=0x3f,0xxxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delay(unsigned int);void display();main()tmod=0x01; th0=(65536-50000)/256; tl0=(65536-50000)%256; ea=1; et0=1; tr0=1; ex0=1; it0=1; while(1)while(time!=5) p1=0xf3; if(num=20) time-; num=0; display(); while(time

27、!=2) if(num=10) p1=0xf7; if(num=20) p1=0xf3;num=0; time-; display(); while(time!=0) p1=0xf5; if(num=20) num=0; time-; display(); time=30; while(time!=5) p1=0xde; if(num=20) num=0; time-; display(); while(time!=2) if(num=10) p1=0xfe; if(num=20) p1=0xde;num=0; time-; display(); while(time!=0) p1=0xee;

28、 if(num=20) num=0; time-; display(); time=60; void display() shi=time/10; ge=time%10; p2=0xfe; p0=tablege; delay(5); p2=0xfd; p0=tableshi; delay(5); p2=0xfb; p0=tablege; delay(5); p2=0xf7; p0=tableshi; delay(5);void delay(unsigned int z)unsigned int x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void

29、exter0() interrupt 0 num=0;time=20;/*數(shù)碼管計時顯示*/ p1=0xf6;while(time!=0)if(num=20)num=0;time-disply();void time0() interrupt 1num+; th0=(65536-50000)/256; tl0=(65536-50000)%256; 4 系統(tǒng)仿真 4.1 proteus軟件介紹proteus軟件是labcenter electronics公司的一款電路設(shè)計與仿真軟件,它包括isis、ares等軟件模塊,ares模塊主要用來完成pcb的設(shè)計,而isis模塊用來完成電路原理圖的布圖與

30、仿真。proteus的軟件仿真基于vsm技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比如mcs-51系列、pic系列等等,以及單片機外圍電路,比如鍵盤、led、lcd等等。通過proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。本文中由于我們主要使用proteus軟件在單片機方面的仿真功能,所以我們重點研究isis模塊的用法,在下面的內(nèi)容中,如不特別說明,我們所說的proteus軟件特指其isis模塊。     在進行下面的操作前,我先說明一點:我的proteus版本是7.1,如果你使用的是6.9

31、以前的版本,可能你發(fā)現(xiàn)在鼠標操作上會略有不同。這主要表現(xiàn)在6.9以前的版本鼠標左右鍵的作用與一般軟件剛好相反,而7.0以后已經(jīng)完全改過。下面我們首先來熟悉一下proteus的界面。proteus是一個標準的windows窗口程序,和大多數(shù)程序一樣,沒有太大區(qū)別,其啟動界面如下圖所示:圖 4-1如圖中所示,區(qū)域為菜單及工具欄,區(qū)域為預(yù)覽區(qū),區(qū)域為元器件瀏覽區(qū),區(qū)域為編輯窗口,區(qū)域為對象拾取區(qū),區(qū)域為元器件調(diào)整工具欄,區(qū)域為運行工具條。下面我們就以建立一個和我們在keil簡介中所講的工程項目相配套的proteus工程為例來詳細講述proteus的操作方法以及注意事項。首先點擊啟動界面區(qū)域中的“p”

32、按鈕(pick devices,拾取元器件)來打開“pick devices”(拾取元器件)對話框從元件庫中拾取所需的元器件。對話框如下圖所示: 圖4-2在對話框中的“keywords”里面輸入我們要檢索的元器件的關(guān)鍵詞,比如我們要選擇項目中使用的at89c51,就可以直接輸入。輸入以后我們能夠在中間的“results”結(jié)果欄里面看到我們搜索的元器件的結(jié)果。在對話框的右側(cè),我們還能夠看到我們選擇的元器件的仿真模型、引腳以及pcb參數(shù)。這里有一點需要注意,可能有時候我們選擇的元器件并沒有仿真模型,對話框?qū)⒃诜抡婺P秃鸵_一欄中顯示“no simulator model”(無仿真模型)。那么我們就

33、不能夠用該元器件進行仿真了,或者我們只能做它的pcb板,或者我們選擇其他的與其功能類似而且具有仿真模型的元器件。搜索到所需的元器件以后,我們可以雙擊元器件名來將相應(yīng)的元器件加入到我們的文檔中,那么接著我們還可以用相同的方法來搜索并加入其他的元器件。當我們已經(jīng)將所需的元器件全部加入到文檔中時,我們可以點擊“ok”按鈕來完成元器件的添加。添加好元器件以后,下面我們所需要做的就是將元器件按照我們的需要連接成電路。首先在元器件瀏覽區(qū)中點擊我們需要添加到文檔中的元器件,這時我們就可以在瀏覽區(qū)看到我們所選擇的元器件的形狀與方向,如果其方向不符合你的要求,你可以通過點擊元器件調(diào)整工具欄中的工具來任意進行調(diào)整

34、,調(diào)整完成之后在文檔中單擊并選定好需要放置的位置即可。接著按相同的操作即可完成所有元器件的布置,接下來是連線。事實上proteus的自動布線功能是如此的完美以至于我們在做布線時從來都不會覺得這是一項任務(wù),而通常像是在享受布線的樂趣。布線時我們只需要單擊選擇起點,然后在需要轉(zhuǎn)彎的地方單擊一下,按照你所需走線的方向移動鼠標到線的終點單擊即可。本例我們布線的結(jié)果如下圖所示(仿真我們在上面的keil操作介紹中的簡單例子)。 圖4-3因為該工程十分簡單,我們沒有必要加上復(fù)位電路,所以這點在圖中予以忽略,請大家注意。除此以外,你可能還發(fā)現(xiàn),單片機系統(tǒng)沒有晶振,這一點你需注意。事實上在proteus中單片機

35、的晶振可以省略,系統(tǒng)默認為12mhz,而且很多時候,當然也為了方便,我們只需要取默認值就可以了。下面我們來添加電源。先說明一點,proteus中單片機芯片默認已經(jīng)添加電源與地,所以我們可以省略。然后在添加電源與地以前,我們先來看一下上面第一個圖中區(qū)域的對象拾取區(qū),我們在這里只說明本文中可能會用得到的以及比較重要的工具。l:(selection mode)。選擇模式,通常情況下我們都需要選中它,比如布局時和布線時。    l :(component mode)。組件模式,點擊該按鈕,能夠顯示出區(qū)域中的元器件,以便我們選擇。l  

36、0; :(wire label mode)。線路標簽?zāi)J?,選中它并單擊文檔區(qū)電路連線能夠為連線添加標簽。經(jīng)常與總線配合使用。l   :(text script mode)。文本模式,選中它能夠為文檔添加文本。l    :(buses mode)??偩€模式,選中它能夠在電路中畫總線。關(guān)于總線畫法的詳細步驟與注意事項我們在下面會進行專門講解。l :(terminals mode)。終端模式,選中它能夠為電路添加各種終端,比如輸入、輸出、電源、地等等。l :(virtual instruments mode)。虛擬儀器模式,選中它我們能夠在區(qū)域中看到

37、很多虛擬儀器,比如示波器、電壓表、電流表等等。關(guān)于它們的用法我們會在后面的相應(yīng)章節(jié)中詳細講述。好了,下面我們就來添加電源。首先點擊,選擇終端模式,然后在元器件瀏覽區(qū)中點擊power(電源)來選中電源,通過區(qū)域中的元器件調(diào)整工具進行適當?shù)恼{(diào)整,然后就可以在文檔區(qū)中單擊放置電源了。放置并連接好線路的電路圖一部分如下圖: 圖4-4連接好電路圖以后我們還需要做一些修改。由上圖我們可以看出,圖中的r1電阻值為10k,這個電阻作為限流電阻顯然太大,將使發(fā)光二極管d1亮度很低或者根本就不亮,影響我們的仿真結(jié)果。所以我們要進行修改。修改方法如下:首先我們雙擊電阻圖標,這時軟件將彈出“edit componen

38、t”對話框(見下圖所示的對話框),對話框中的“component referer”是組件標簽之意,可以隨便填寫,也可以取默認,但要注意在同一文檔中不能有兩個組件標簽相同;“resistance”就是電阻值了,我們可以在其后的框中根據(jù)需要填入相應(yīng)的電阻值。填寫時需注意其格式,如果直接填寫數(shù)字,則單位默認為;如果在數(shù)字后面加上k或者k,則表示k之意。這里我們填入270,表示270。修改好各組件屬性以后就要將程序(hex文件)載入單片機了。首先雙擊單片機圖標,系統(tǒng)同樣會彈出“edit component”對話框,如下圖。在這個對話框中我們點擊“program files”框右側(cè)的,來打開選擇程序代碼

39、窗口,選中相應(yīng)的hex文件后返回,這時,按鈕左側(cè)的框中就填入了相應(yīng)的hex文件,我們點擊對話框的“ok”按鈕,回到文檔,程序文件就添加完畢了。 圖4-5裝載好程序,我們就可以進行仿真了。5調(diào)試功能說明5.1 硬件調(diào)試5.1.1最小系統(tǒng)調(diào)試首先應(yīng)該確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,我們所用的電源電壓是5v。接下來就是檢查復(fù)位引腳電壓是否正常。分別測量按下復(fù)位按鈕和放開復(fù)位按鈕的電壓值,看是否正確。然后再檢查晶振是否起振了,一般用示波器來看晶振引腳的波形,注意應(yīng)該使用示波器探頭的“x10”檔。另一個辦法是測量復(fù)位狀態(tài)下的io口電平,按住復(fù)位鍵不放,然

40、后測量io口(沒接外部上拉的p0口除外)的電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。另外還要注意的地方是,要將ea引腳拉高,因為我們用的是片內(nèi)rom,否則會出現(xiàn)程序亂跑的情況。有時用仿真器可以,而燒入片子不行,往往是因為ea引腳沒拉高的緣故(當然,晶振沒起振也是原因只一)。經(jīng)過上面幾點的檢查,一般即可排除故障了。如果系統(tǒng)不穩(wěn)定的話,有時是因為電源濾波不好導(dǎo)致的。在單片機的電源引腳跟地引腳之間接上一個0.1uf的電容會有所改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uf的。遇到系統(tǒng)不穩(wěn)定時,就可以并上電容試試。5.1.2 故障點分析檢測故障點的方法

41、如下:測量電壓法。首先要確認的是各芯片電源引腳的電壓是否正常,其次檢查各種參考電壓是否正常,另外還有各點的工作電壓是否正常等。信號注入法。將信號源加至輸入端,然后依次往后測量各點的波形,看是否正常,以找到故障點。有時我們也會用更簡單的辦法,例如用手握一個鑷子,去碰觸各級的輸入端,看輸出端是否有反應(yīng),當然,還有很多其它的尋找故障點的方法,例如看、聽、聞、摸等?!翱础本褪强丛袩o明顯的機械損壞,例如破裂、燒黑、變形等;“聽”就是聽工作聲音是否正常,例如一些不該響的東西在響,該響的地方不響或者聲音不正常等;“聞”就是檢查是否有異味,例如燒焦的味道、電容電解液的味道等,對于一個有經(jīng)驗的電子維修人員來

42、說,對這些氣味是很敏感的;“摸”就是用手去試探器件的溫度是否正常,例如太熱,或者太涼。一些功率器件,工作起來時會發(fā)熱,如果摸上去是涼的,則基本上可以判斷它沒有工作起來。但如果不該熱的地方熱了或者該熱的地方太熱了,那也是不行的。一般的功率三極管、穩(wěn)壓芯片等,工作在70度以下是完全沒問題的。70度大概是怎樣的一個概念呢?如果你將手壓上去,可以堅持三秒鐘以上,就說明溫度大概在70度以下(注意要先試探性的去摸,千萬別把手燙傷了)。5.2軟件調(diào)試問題及解決一個應(yīng)用系統(tǒng)并非一次就可以正確無誤地設(shè)計出來,尤其是設(shè)計的程序,必須經(jīng)過多次的調(diào)試才能確鑿無誤地工作。為避免浪費,并不把剛剛編寫好的程序直接寫到epr

43、om、eeprom等中去,更不會急于生產(chǎn)安裝部分硬件,在專用的仿真器或開發(fā)試驗臺上進行。我們首先在keil軟件中編寫程序,來進行c語言程序的調(diào)試。然后再把程序加載在preteus軟件上進行仿真調(diào)試。keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。keil軟件可以對我們寫的c語言程序進行編譯,它能清晰的顯示出程序的各種信息,并能明確的指出程序的錯誤之處和錯誤的原由。以致我們能夠得到結(jié)構(gòu),書寫都無誤的c語言的程序。 proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。對于單片機硬件電路和軟件的調(diào)試,proteus 

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論