畢業(yè)設(shè)計(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計_第1頁
畢業(yè)設(shè)計(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計_第2頁
畢業(yè)設(shè)計(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計_第3頁
畢業(yè)設(shè)計(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計_第4頁
畢業(yè)設(shè)計(論文)基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要 本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、led顯示、交通燈演示系統(tǒng)組成。系統(tǒng)包括人行道、左轉(zhuǎn)、右轉(zhuǎn)、以及基本的交通燈的功能。系統(tǒng)除基本交通燈功能外,還具有倒計時、時間設(shè)置、緊急情況處理、分時段調(diào)整信號燈的點亮?xí)r間以及根據(jù)具體情況手動控制等功能。隨著社會經(jīng)濟(jì)的發(fā)展,城市交通問題越來越引起人們的關(guān)注。人、車、路三者關(guān)系的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測、交通信號燈控制與交通疏導(dǎo)的計算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。關(guān)鍵詞單片機(jī);交通燈;控制器 目錄第一章 緒論3第二章 方案論證與設(shè)計14第三章 系統(tǒng)硬件設(shè)計143.1總體

2、設(shè)計143.2 單片機(jī)的選擇143.3 單片機(jī)的基本結(jié)構(gòu)173.4 單片機(jī)最小系統(tǒng)202.時鐘電路213. 復(fù)位電路224.輸入輸出引腳233.5 led顯示電路24第四章 系統(tǒng)軟件設(shè)計144.1軟件流程圖設(shè)計144.2 軟件主要子程序設(shè)計153.4 交通燈控制程序15第四章 系統(tǒng)仿真144.1 protues軟件介紹144.2 交通燈系統(tǒng)protues仿真14第五章 調(diào)試與功能說明145.1 硬件調(diào)試145.2 軟件調(diào)試問題及解決14結(jié)論15致謝14第一章 緒論隨著我國社會經(jīng)濟(jì)的發(fā)展,城市化、城鎮(zhèn)化進(jìn)程的加快,道路交通堵塞問題日趨嚴(yán)重,如何對交通進(jìn)行合理的管理和調(diào)度而盡可能減少堵車現(xiàn)象成為目

3、前我國很多地方尤其是特大城市急需解決的問題,顯然交通燈在其中起著不可缺少的作用。 當(dāng)今,紅綠燈安裝在各個道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機(jī)械扳手式信號燈,用以指揮馬車通行。這是世界上最早的交通信號燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會大廈前的廣場上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩種旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投

4、光器組成,1914年開始安裝于紐約市5號大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動紅綠燈,司機(jī)遇紅燈時按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對壓力敏感的路面時,它就能察覺到有人要過馬路。紅外光束能把信號燈的紅燈延長一段時間,推遲汽車放行,以免發(fā)生交通事故。信號燈的出現(xiàn),使交通得以有效管制,對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國道路交通和道路標(biāo)志信號協(xié)定對各種信號燈的含義作了規(guī)定。綠燈是

5、通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以進(jìn)入交叉路口。我國機(jī)動車輛發(fā)展迅速,而城鎮(zhèn)道路建設(shè)由于歷史等各種原因相對滯后。道路擁擠、阻塞現(xiàn)象及交通事故常有發(fā)生。如何利用當(dāng)今自動控制技術(shù),有效地疏導(dǎo)交通,提高城鎮(zhèn)交通路口的通行能力,提高車輛速度,減少交通事故是值得我們研究的新課題。交通燈是城市交通中的重要指揮系統(tǒng),它與人們?nèi)粘I蠲芮邢嚓P(guān)。隨

6、著人們生活水平的提高,對交通管制也提出了更高的要求,因此提供一個可靠、安全、便捷的多功能交通燈控制系統(tǒng)有著現(xiàn)實的必要性,本文介紹的交通燈控制系統(tǒng)除具有一般的紅綠燈顯示功能外,還具有倒計時功能,以方便人們的生活需求。此系統(tǒng)的核心控制器是mcs-51系列單片機(jī)中的at89c51。本次設(shè)計對紅綠燈顯示系統(tǒng)、按鍵系統(tǒng)都采用keil軟件調(diào)試程序,并給出了調(diào)試過程及全部程序代碼。第二章 方案論證與設(shè)計本設(shè)計以單片機(jī)為核心,以led數(shù)碼管作為倒計時指示,根據(jù)設(shè)計的要求我們考慮了各功能模塊的幾種設(shè)計方案,以求最佳方案,實現(xiàn)實時顯示系統(tǒng)各種狀態(tài),系統(tǒng)還增設(shè)了根據(jù)交通擁擠情況可分別設(shè)置主干道和次干道的通行時間,以

7、提高效率,緩減交通擁擠。系統(tǒng)總體設(shè)計框圖如圖所示。交通燈控制的框圖如下圖所示,主要有控制電路、按鍵電路、晶振電路、復(fù)位電路、顯示電路、電源電路等電路組成。 電源電路時鐘電路復(fù)位電路顯示電路信號燈控制電路按鍵控制電路單片機(jī)交通燈總體設(shè)計圖 21電源提供方案為使模塊穩(wěn)定工作,須有可靠電源。本次設(shè)計考慮了兩種電源方案:方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用單片機(jī)控制模塊提供電源。該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約成本;缺點是輸出功率不高。綜上所述,選擇第二種方案。22顯示界面方案該系統(tǒng)要求

8、完成倒計時功能?;谏鲜鲈?,本次設(shè)計考慮了兩種方案:方案一:完全采用點陣式led顯示。這種方案功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等,但實現(xiàn)復(fù)雜,且須完成大量的軟件工作。方案二:完全采用數(shù)碼管顯示。這種方案優(yōu)點是實現(xiàn)簡單,可以完成倒計時功能。缺點是功能較少,只能顯示有限的符號和數(shù)碼字符。根據(jù)本設(shè)計的要求,方案二已經(jīng)滿足了要求,所以本次設(shè)計采用方案二以實現(xiàn)系統(tǒng)的顯示功能。23輸入方案這里同樣討論了兩種方案:方案一:采用8155擴(kuò)展i/o口、鍵盤及顯示等。該方案的優(yōu)點是使用靈活可編程,并且有ram及計數(shù)器。若用該方案,可提供較多i/o口,但操作起來稍顯復(fù)雜。方案二:直接在i/o口線上接

9、上按鍵開關(guān)。因為設(shè)計時精簡和優(yōu)化了電路,所以剩余的端口資源還比較多。由于該系統(tǒng)是對交通燈及數(shù)碼管的控制,只需用單片機(jī)本身的i/o口就可實現(xiàn),且本身的計數(shù)器及ram已經(jīng)夠用,故選擇方案二。 第三章 系統(tǒng)硬件設(shè)計硬件設(shè)計是整個系統(tǒng)的基礎(chǔ),要考慮的方方面面很多,除了實現(xiàn)交通燈基本功能以外,主要還要考慮如下幾個因素:系統(tǒng)穩(wěn)定度;器件的通用性或易選購性;軟件編程的易實現(xiàn)性;系統(tǒng)其它功能及性能指標(biāo);因此硬件設(shè)計至關(guān)重要。現(xiàn)從各功能模塊的實現(xiàn)逐個進(jìn)行分析探討。3.1總體設(shè)計本設(shè)計以單片機(jī)為控制核心,采用模塊化設(shè)計,共分以下幾個功能模塊:單片機(jī)控制系統(tǒng)、鍵盤及狀態(tài)顯示、倒計時模塊等。單片機(jī)作為整個硬件系統(tǒng)的核

10、心,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器。它由單片機(jī)振蕩電路、復(fù)位電路等組成。鍵盤及狀態(tài)顯示,開關(guān)鍵盤輸入交通燈初始時間,通過單片機(jī)p1輸入到系統(tǒng)。系統(tǒng)采用雙數(shù)碼管倒計時計數(shù)功能,最大顯示數(shù)字99。友好的人機(jī)界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)是本設(shè)計的亮點。3.2 單片機(jī)的選擇單片機(jī)微型計算機(jī)是微型計算機(jī)的一個重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機(jī)的基本功能部件:中央處理器、存儲器和i/o接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機(jī)控制系統(tǒng)

11、。 單片機(jī)經(jīng)過1、2、3、3代的發(fā)展,正朝著多功能、高性能、低電壓、低功耗、低價格、大存儲容量、強(qiáng)i/o功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢不外乎以下幾個方面:1、多功能 單片機(jī)中盡可能地把所需要的存儲器和i/o口都集成在一塊芯片上,使得單片機(jī)可以實現(xiàn)更多的功能。比如a/d、pwm、pca(可編程計數(shù)器陣列)、wdt(監(jiān)視定時器-看家狗)、高速i/o口及計數(shù)器的捕獲/比較邏輯等。 有的單片機(jī)針對某一個應(yīng)用領(lǐng)域,集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。例如,有的芯片以51內(nèi)核為核心,集成了usb控制器、smart card接口、mp3解碼器、can或者i*i*c總線控制器等,led

12、、lcd或vfd顯示驅(qū)動器也開始集成在8位單片機(jī)中。2、高效率和高性能 為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開始使用risc、流水線和dsp的設(shè)計技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:單片機(jī)的時鐘頻率得到提高;同樣頻率的單片機(jī)運行效率也有了很大的提升;由于集成度的提高,單片機(jī)的尋址能力、片內(nèi)rom(flash)和ram的容量都突破了以往的數(shù)量和限制。 由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開始使用高級語言(如c語言)來開發(fā)單片機(jī)的程序。使用高級語言可以降低開發(fā) 難度,縮短開發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。3、低電壓和低功耗 單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功耗的特性十

13、分重要。由于cmos等工藝的大量采用,很多單片機(jī)可以在更低的電壓下工作(1.2v或0.9v),功耗已經(jīng)降低到ua級。這些特性使得單片機(jī)系統(tǒng)可以在更小電源的支持下工作更長的時間。4、低價格 單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來的直接好處就是成本的降低。目前世界各大公司為了提高競爭力,在提高單片機(jī)性能的同時,十分注意降低其產(chǎn)品的價格。下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點。(1)家用電器領(lǐng)域 用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī)、空調(diào)、冰箱、微波爐、和電視機(jī)等)功能更完善,更加智能化和易于使用。(2)辦公自動化領(lǐng)域 單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計算機(jī)

14、的鍵盤、磁盤驅(qū)動、打印機(jī)、復(fù)印機(jī)、電話機(jī)和傳真機(jī)等。(3)商業(yè)應(yīng)用領(lǐng)域 商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計量儀器、收款機(jī)、條形碼閱讀器、安全監(jiān)測系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。(4)工業(yè)自動化 在工業(yè)控制和機(jī)電一體化控制系統(tǒng)中,除了采用工控計算機(jī)外,很多都是以單片機(jī)為核心的單片機(jī)和多機(jī)系統(tǒng)。(5)智能儀表與集成智能傳感器 目前在各種電氣測量儀表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來代替?zhèn)鹘y(tǒng)的測量系統(tǒng),使得測量系統(tǒng)

15、具有存儲、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號,可以遠(yuǎn)距離傳輸并與計算機(jī)接口。(6)現(xiàn)代交通與航空航天領(lǐng)域 通常應(yīng)用于電子綜合顯示系統(tǒng)、動力監(jiān)控系統(tǒng)、自動駕駛系統(tǒng)、通信系統(tǒng)以及運行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實時性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。目前,我國生產(chǎn)很多型號的單片機(jī),在此,我們采用型號為stc89c52的單片機(jī)。因為:stc89c52是一個低電壓,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的flash只讀程序存儲器和1

16、28 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-52指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,內(nèi)置功能強(qiáng)大的微型計算機(jī)的at89c52提供了高性價比的解決方案。 stc89c52是一個低功耗高性能單片機(jī),40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,stc89c51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲器可有效地降低開發(fā)成本。3.3 單片機(jī)的基本結(jié)構(gòu)

17、mcs-52單片機(jī)內(nèi)部結(jié)構(gòu)8052單片機(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)的工作,完成運算和控制輸入輸出功能等操作。數(shù)據(jù)存儲器(ram)8052內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能

18、使用的ram只有128個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。圖1 單片機(jī)8051的內(nèi)部結(jié)構(gòu)程序存儲器(rom):8052共有4096個8位掩膜rom,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器:8052有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。并行輸入輸出(i/o)口:8052共有4組8位i/o口(p0、 p1、p2或p3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:8052內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。中斷系統(tǒng):8052具備較完善的中斷功能,有兩個外中斷、兩

19、個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。時鐘電路:8052內(nèi)置最高頻率達(dá)12mhz的時鐘電路,用于產(chǎn)生整個單片機(jī)運行的脈沖時序,但8051單片機(jī)需外置振蕩電容。mcs-52的引腳說明:mcs-52系列單片機(jī)中的8031、8051及8751均采用40pin封裝的雙列直接dip結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:mcs-52的引腳說明:mcs-52系列單片機(jī)中的8031、8051及8751均采用40pin封裝的雙列直接di

20、p結(jié)構(gòu),右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個i/o口,中斷口線與p3口線復(fù)用?,F(xiàn)在我們對這些引腳的功能加以說明:圖2 單片機(jī)的引腳圖pin9:reset/vpd復(fù)位信號復(fù)用腳,當(dāng)8052通電,時鐘電路開始工作,在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),8052的初始

21、態(tài)。8052的復(fù)位方式可以是自動復(fù)位,也可以是手動復(fù)位,見下圖4。此外,reset/vpd還是一復(fù)用腳,vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部ram的數(shù)據(jù)不丟失。 pin30:ale/當(dāng)訪問外部程序器時,ale(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲器時,ale端將有一個1/6時鐘頻率的正脈沖信號,這個信號可以用于識別單片機(jī)是否工作,也可以當(dāng)作一個時鐘向外輸出。更有一個特點,當(dāng)訪問外部程序存儲器,ale會跳過一個脈沖。 如果單片機(jī)是eprom,在編程其間,將用于輸入編程脈沖。pin29:當(dāng)訪問外部程序存儲器時,此腳輸出負(fù)脈沖選通信號,pc的16位地址數(shù)據(jù)將出現(xiàn)

22、在p0和p2口上,外部程序存儲器則把指令數(shù)據(jù)放到p0口上,由cpu讀入并執(zhí)行。pin31:ea/vpp程序存儲器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kb的程序存儲器,當(dāng)ea為高電平并且程序地址小于4kb時,讀取內(nèi)部程序存儲器指令數(shù)據(jù),而超過4kb地址則讀取外部指令數(shù)據(jù)。如ea為低電平,則不管地址大小,一律讀取外部程序存儲器指令。顯然,對內(nèi)部無程序存儲器的8031,ea端必須接地。3.4 單片機(jī)最小系統(tǒng)單片機(jī)最小應(yīng)用系統(tǒng),是指用最少的原件組成的單片機(jī)可以工作的系統(tǒng)。對51系列單片機(jī)來說,最小系統(tǒng)應(yīng)包括單片機(jī)、晶振電路、復(fù)位電路。下面介紹51單片機(jī)的最小系統(tǒng)電路圖 單片機(jī)的最小系統(tǒng)是

23、由電源、復(fù)位、時鐘,下面介紹一下每一個組成部分。1.電源引腳 vcc40電源端gnd20接地端工作電壓為5v,另有at89lv51工作電壓則是2.7-6v, 引腳功能一樣。 2.時鐘電路時鐘電路xtal1是片內(nèi)振蕩器的反相放大器輸入端,xtal2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到xtal1,而xtal2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12mhz,時鐘頻率就為6mhz。晶振的頻率可以在1mhz-24mhz內(nèi)選擇。電容取30pf左右。系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。at89單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳x

24、tal1和xtal2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容c1和c2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12mhz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為22f。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。3. 復(fù)位電路在振蕩器運行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腿時

25、,將使單片機(jī)復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后p0p3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器sfr全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為rom的00h處開始運行程序。復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳rst通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機(jī)器周期的s5p2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時鐘頻率選用6mhz時,c取22f,rs約為200,rk約為1k。復(fù)位操作不會對內(nèi)部ram有所影響。常用的復(fù)位電路如下圖所示:常

26、用復(fù)位電路圖4.輸入輸出引腳(1) p0端口p0.0-p0.7 p0是一個8位漏極開路型雙向i/o端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅(qū)動8個ttl。對內(nèi)部flash程序存儲器編程時,接收指令字節(jié);校驗程序時輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,p0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問期間內(nèi)部的上拉電阻起作用。(2) p1端口p1.0p1.7 p1是一個帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時可驅(qū)動4個ttl。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部flash程序存儲器編程時,接收低8位地址信息。(3) p2端口

27、p2.0p2.7 p2是一個帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時可驅(qū)動4個ttl。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,p2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。(4) p3端口p3.0p3.7 p2是一個帶有內(nèi)部上拉電阻的8位雙向i/0端口。輸出時可驅(qū)動4個ttl。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部flash程序存儲器編程時,接控制信息。除此之外p3端口還用于一些專門功能,具體請看下表。p3引腳兼用功能

28、p3.0串行通訊輸入(rxd)p3.1串行通訊輸出(txd)p3.2外部中斷0( int0)p3.3外部中斷1(int1)p3.4定時器0輸入(t0)p3.5定時器1輸入(t1)p3.6外部數(shù)據(jù)存儲器寫選通wrp3.7外部數(shù)據(jù)存儲器寫選通rd3.5 led顯示電路顯示器普遍地用于直觀地顯示數(shù)字系統(tǒng)的運行狀態(tài)和工作數(shù)據(jù),按照材料及產(chǎn)品工藝,單片機(jī)應(yīng)用系統(tǒng)中常用的顯示器有: 發(fā)光二極管led顯示器、液晶lcd顯示器、crt顯示器等。led顯示器是現(xiàn)在最常用的顯示器之一,如下圖所示。圖3-4 led顯示器的符號圖發(fā)光二極管(led)由特殊的半導(dǎo)體材料砷化鎵、磷砷化鎵等制成,可以單獨使用,也可以組裝成

29、分段式或點陣式led顯示器件(半導(dǎo)體顯示器)。分段式顯示器(led數(shù)碼管)由7條線段圍成8字型,每一段包含一個發(fā)光二極管。外加正向電壓時二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。led數(shù)碼管有共陽、共陰之分。圖是共陽式、共陰式led數(shù)碼管的原理圖和符號共陽式數(shù)碼管的原理圖和數(shù)碼管的符號圖第四章 系統(tǒng)軟件設(shè)計 軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)。系統(tǒng)功能是由軟件共同實現(xiàn)的,由于軟件的可伸縮性,最終實現(xiàn)的系統(tǒng)功能可強(qiáng)可弱,差別可能很大。因此,軟件是本系統(tǒng)的靈魂。軟件采用模塊化設(shè)計方法,不僅易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。同

30、時,對軟件進(jìn)行全面測試也是檢驗錯誤排除故障的重要手段。4.1軟件流程圖設(shè)計軟件總體設(shè)計主要完成各部分的軟件控制和協(xié)調(diào)。本系統(tǒng)主程序模塊主要完成的工作是對系統(tǒng)的初始化,發(fā)送顯示數(shù)據(jù),同時對鍵盤進(jìn)行掃描,等待外部中斷,以及根據(jù)所需要的功能進(jìn)行相應(yīng)的操作。其流程圖如圖所示。軟件總體流程圖4.2 軟件主要子程序設(shè)計 4.2.1 緊急狀況子程序設(shè)計1在緊急狀態(tài)下,只有緊急狀態(tài)手動控制按鍵才可以使所有的led都被置為紅燈,車輛禁行、行人通行。緊急情況結(jié)束后再轉(zhuǎn)成自動狀態(tài)。程序流程如圖所示。緊急狀況子程序3.4 交通燈控制程序 #include #define uchar unsigned char#def

31、ine uint unsigned intsbit p17=p17;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar flash_count = 0,i, j,tt=30,num,shi,ge;operation_type = 1; uint aa;void delayms(uint x) uchar t;while(x-) for(t=120;t0;t-);void delay(uint z) uchar t; while(z-) for(t=10;t0;t-); void tra

32、ffic_lignt() switch(operation_type) case 1:p1=0x21;break;case 2:p1=0x11;delayms(200); p1=0x01;delayms(200); break;case 3:p1=0x0c;break;case 4:p1=0x0a; delayms(200);p1=0x08;delayms(200);break;void main()ea=1; ex0=1; it0=1;tmod=0x01; th0=(65536-50000)/256;tl0=(65536-50000)%256;et0=1; tr0=1; while(1) t

33、raffic_lignt();void jinji_light() interrupt 0 p1=0x09; p2=0x00; p0=0x73;delayms(2000);delayms(2000); void time0() interrupt 1 th0=(65536-5000)/256; tl0=(65536-5000)%256; aa+; if(aa=200) aa=0;p17=p17; tt-;if(tt=3) if(operation_type=5)operation_type=1; operation_type+; if(operation_type=4) tt=3;if(ope

34、ration_type=2)tt=3; if(tt=0) operation_type+; if(operation_type=5) operation_type=1; if(operation_type=3) tt=30; if(operation_type=1) tt=30; shi=tt/10; ge=tt%10; num+; if(num=3) num=1;switch(num) case 1:p2=0x02;p0=tableshi; break;case 2:p2=0x01;p0=tablege; break;default:break;delay(10); 第四章 系統(tǒng)仿真4.1

35、protues軟件介紹proteus軟件是labcenter electronics公司的一款電路設(shè)計與仿真軟件,它包括isis、ares等軟件模塊,ares模塊主要用來完成pcb的設(shè)計,而isis模塊用來完成電路原理圖的布圖與仿真。proteus的軟件仿真基于vsm技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比如mcs-51系列、pic系列等等,以及單片機(jī)外圍電路,比如鍵盤、led、lcd等等。通過proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機(jī)實驗室。4.2 交通燈系統(tǒng)protues仿真用protues軟件,根據(jù)交通燈的原理圖,畫出仿真

36、圖,得到的圖如下所示第五章 調(diào)試與功能說明單片機(jī)應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟/硬件故障。5.1 硬件調(diào)試拿到電路板后,首先要檢查加工質(zhì)量,并確保沒有任何方面的錯誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬用表測其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬用表的探針放到單片機(jī)接電源的引腳上檢測一下,看是否符合要求。5.2 軟件調(diào)試問題及解決軟件程序

37、的調(diào)試一般可以將重點放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課題,keil軟件來調(diào)試程序,通過各個模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 6 professional軟件,此軟件功能強(qiáng)大且操作較為簡單,可以很容易的實現(xiàn)各種系統(tǒng)的仿真。首先打開protus 6 professional軟件,在元件庫中找到要選用的所有元件,然后進(jìn)行原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運行查,直到滿足要求。結(jié)論本設(shè)計以單片機(jī)

溫馨提示

  • 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

提交評論