![交通燈控制器課程設(shè)計報告 STC12C5410AD單片機 c語言 KeilC51軟件_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/de22a75f-2093-4793-854c-bab1843cffcd/de22a75f-2093-4793-854c-bab1843cffcd1.gif)
![交通燈控制器課程設(shè)計報告 STC12C5410AD單片機 c語言 KeilC51軟件_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/de22a75f-2093-4793-854c-bab1843cffcd/de22a75f-2093-4793-854c-bab1843cffcd2.gif)
![交通燈控制器課程設(shè)計報告 STC12C5410AD單片機 c語言 KeilC51軟件_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/de22a75f-2093-4793-854c-bab1843cffcd/de22a75f-2093-4793-854c-bab1843cffcd3.gif)
![交通燈控制器課程設(shè)計報告 STC12C5410AD單片機 c語言 KeilC51軟件_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/de22a75f-2093-4793-854c-bab1843cffcd/de22a75f-2093-4793-854c-bab1843cffcd4.gif)
![交通燈控制器課程設(shè)計報告 STC12C5410AD單片機 c語言 KeilC51軟件_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/de22a75f-2093-4793-854c-bab1843cffcd/de22a75f-2093-4793-854c-bab1843cffcd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄目 錄1摘 要4關(guān) 鍵 詞4abstract4keywords51、引言62、設(shè)計方案論證62.1主控芯片選擇方案62.2電源模塊選擇方案62.3顯示模塊選擇方案62.4數(shù)碼管顯示模塊選擇方案72.5鍵盤接口模塊選擇方案73、簡介73.1調(diào)試軟件keil73.2硬件仿真proteus84、課題描述與分析84.1系統(tǒng)需求描述與分析84.2系統(tǒng)工作流程95、課題設(shè)計105.1總體設(shè)計105.2硬件設(shè)計115.2.1單片機最小系統(tǒng)115.2.2 電源模塊電路模塊125.2.3時鐘和復(fù)位電路模塊125.2.4數(shù)碼管顯示電路模塊135.2.5 led燈顯示模塊145.2.6鍵盤接口電路模塊155.
2、2.7串行通信接口電路155.3軟件設(shè)計165.3.1整體流程圖165.3.2主程序模塊175.3.3數(shù)碼管顯示模塊175.3.4鍵盤掃描程序模塊185.3.5閃爍顯示程序模塊195.3.6按鍵處理程序模塊205.3.7定時器0和定時器1中斷模塊206、系統(tǒng)測試216.1硬件調(diào)試216.1.1 電源模塊調(diào)試216.1.2 單片機最小系統(tǒng)模塊調(diào)試226.1.3 max232下載模塊檢測236.14 紅綠燈顯示檢測236.1.5 數(shù)碼管顯示檢測236.2整體電路測246.3軟件調(diào)試247、結(jié)論24參考文獻25附 錄26謝 辭45摘 要 本文介紹了交通燈系統(tǒng)的設(shè)計。本系統(tǒng)硬件部分基于stc
3、12c5410ad單片機,由鍵盤接口模塊,穩(wěn)壓電源模塊,串行通信接口模塊和數(shù)碼管、交通燈顯示接口模塊組成。本系統(tǒng)的軟件部分基于keilc51軟件系統(tǒng)。本系統(tǒng)利用單片機的定時器產(chǎn)生秒信號,控制十字路口的紅綠黃燈交替點亮和熄滅,并且用4只數(shù)碼管顯示十字路口兩個方向的剩余時間。本系統(tǒng)除了可以按照設(shè)定程序自行運行外,還可以通過按鍵設(shè)置主干道和次干道的通行時間和暫緩?fù)ㄐ袝r間。本系統(tǒng)可實現(xiàn)基本交通燈功能,系統(tǒng)實用性強、操作簡單。關(guān) 鍵 詞單片機最小系統(tǒng) stc12c5410ad 紅綠燈控制 仿真abstractthis article describes a design of traffic signa
4、l systems. the hardware of system consists of stc12c5410ad single-chip, keyboard, steady power, communication interface,led digitron and traffic light display. the software of system is mad up of keilc51 .the use of stc12c5410ad timer generates seconds signals to control the turn at the crossroads o
5、f the red and green lights and yellow lights, and 4 led digital display at the crossroads of the remainder time of the two directions. it also can manually set keys to adjust main roads and sub-passage time and the suspension of access time, so it achieves the basic function of traffic lights, the s
6、ystem is practical, simple .keywordsthe least system of sing lechip,stc12c5410ad, traffic light control,simulation 1、引言本設(shè)計的目的是應(yīng)用單片機最小系統(tǒng)實現(xiàn)簡易交通燈的設(shè)計,可利用單片機的定時器產(chǎn)生秒信號,控制十字路口的紅綠黃燈交替點亮和熄滅,并且用4只數(shù)碼管顯示十字路口兩個方向的剩余時間。并能用按鍵設(shè)置兩個方向的通行時間(綠燈點亮的時間)和暫緩?fù)ㄐ袝r間(黃燈點亮的時間),系統(tǒng)的工作符合一般交通燈控制要求。本設(shè)計的背景是當前全國大中城市普遍存在著道路擁擠、車輛堵塞、交通秩序混亂
7、的現(xiàn)象,如何解決城市交通問題已成為全社會關(guān)注的焦點和大眾的迫切呼聲。城市交通路口實現(xiàn)交通信號控制是城市交通管理現(xiàn)代化的基本標志之一,是提高交通管理效能的重要技術(shù)手段。紅綠燈控制器是控制交叉路口交通信號的設(shè)備,它是交通信號控制的重要組成部分。各種交通控制方案,最終都要由紅綠燈控制器來實現(xiàn)。本設(shè)計的適用范圍是適用于城市交通燈的實現(xiàn)。本設(shè)計的適用范圍是沒有考慮人行道的紅綠燈設(shè)計,也沒有考慮機動車輛拐向的紅綠燈設(shè)計,只考慮了機動車輛行駛的紅綠燈設(shè)計,而且通行時間和暫緩?fù)ㄐ袝r間的范圍都是兩位數(shù)。本課題的研究意義是應(yīng)用單片機來控制交通燈, 使交通燈在控制中靈活而有效。本設(shè)計將程序結(jié)構(gòu)模塊化處理,
8、使程序的可讀性、可維護性和可移植性都得到進一步的提高。本系統(tǒng)結(jié)構(gòu)簡單,操作方便;可實現(xiàn)自動控制;對優(yōu)化城市交通具有一定的意義。2、設(shè)計方案論證2.1主控芯片選擇方案方案一:使用以89c51單片機芯片51系列單片機芯片的優(yōu)點是結(jié)構(gòu)完整、特殊功能寄存器的規(guī)范化以及指令系統(tǒng)的控制功能出眾,含有32個i/o口,適合需要多端口控制的系統(tǒng),設(shè)計時無需另接程序存儲器,為設(shè)計和調(diào)試帶來極大的方便;缺點是其功耗很大。 方案二:使用以stc12c5410ad單片機芯片stc12c5410ad是增強型51單片機,具有寬電壓、不怕電源抖動、高抗靜電等優(yōu)點,有掉電模式、空閑模式、正常工作模式等低功耗模式,可在系統(tǒng)編程,
9、無需編程器。串口對應(yīng)i/o口可以通過改變寄存器換成別的i/o口作為串口來通信,i/o口可以有四種模式可設(shè)置,stc單片機可以為1時鐘每機器周期,指令執(zhí)行速度大提高。綜合上面兩種方案,考慮到課程設(shè)計要求和stc12c5410ad的優(yōu)點,選擇方案二。2.2電源模塊選擇方案方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用變壓器控制模塊提供電源。將220v的電壓轉(zhuǎn)換為12v的低電壓,經(jīng)過電容濾波后再經(jīng)過lm7805穩(wěn)壓得到5v的直流電供系統(tǒng)工作,該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約成本;缺點是輸出功率不
10、高。綜上所述,選擇方案二。2.3顯示模塊選擇方案方案一:使用lcd液晶由液晶驅(qū)動芯片ht1621和lcd玻璃片twm259組成的自制液晶,顯示清晰,能美觀的顯示數(shù)字,小數(shù)點,負號等,滿足題目要求,但結(jié)構(gòu)復(fù)雜,操作難,需要復(fù)雜的語言編程能力,且價格昂貴。方案二:采用led數(shù)碼管用4個led數(shù)碼管,數(shù)碼管原理簡單,價格低廉、性能可靠、操作簡單,但功耗大。南北向和東西向各采用2個數(shù)碼管計時,對該方向的指示燈的點亮時間進行倒計時,最長計時范圍為99秒。設(shè)計時可利用單片機的p1口和p1.0p1.3作為字段和片選信號輸出,經(jīng)驅(qū)動芯片后驅(qū)動數(shù)碼管顯示倒計時時間,數(shù)碼管采用動態(tài)掃描方式顯示。綜合上面兩種方案,
11、選擇方案二。2.4數(shù)碼管顯示模塊選擇方案方案一:數(shù)碼管顯示直接使用單片機i/o口輸出。該方案的優(yōu)點是硬件方便實現(xiàn),電路簡單;缺點是顯示數(shù)碼管需要較多的引腳數(shù)碼管段選需要8個引腳,位選需要4個引腳,所以顯示數(shù)碼管共需要12個引腳。方案二:使用2個74hc573鎖存器顯示數(shù)碼管該方案的優(yōu)點是引腳利用較少,由于74hc573鎖存器的性質(zhì),可以將數(shù)碼管的段選和位選共用一個p1口,分別鎖存輸出,這樣引腳利用了8個;缺點是需要增加兩個鎖存器,增加了硬件電路的復(fù)雜度。綜上所述,增加鎖存器復(fù)雜程度,軟件編程沒有變得復(fù)雜,但是節(jié)省了引腳,對于引腳較少的單片機芯片來說這是一大優(yōu)勢,因此選擇方案二。2.5鍵盤接口模
12、塊選擇方案方案一:使用4×4的鍵盤矩陣鍵盤,16個按鍵包括09共10個數(shù)字按鍵,1個加1按鍵,1個減1按鍵,1個設(shè)置完成按鍵,南北和東西方向2個按鍵。本方案的優(yōu)點是按鍵比較多,每個按鍵可以可以實現(xiàn)不同的功能,方便用戶調(diào)整;缺點是按鍵較多,單片機需要擴展接口,硬件和軟件處理起來都比較麻煩。方案二:直接在單片機的i/o口線上接上按鍵開關(guān)。使用3個獨立按鍵,分別設(shè)置鍵、增加鍵和減少鍵,設(shè)置鍵選擇方向和指示燈,增加鍵增加指示燈亮的時間,減少鍵減少指示燈亮的時間。 本方案的優(yōu)點是按鍵少,單片機不需要擴展接口,系統(tǒng)復(fù)雜性比較低,硬件和軟件處理起來都比較容易;缺點是用戶進行設(shè)置時,由于按鍵少功能集
13、合在一起,使用不太方便。綜合考慮上述兩個方案的優(yōu)缺點,考慮到stc12c5410ad的引腳比較少,鍵盤使用率較少,擴展接口增加了硬件和軟件的復(fù)雜程度,選擇方案二。3、簡介3.1調(diào)試軟件keil簡介keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢。keil c51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。然
14、后分別由c51及a51編譯器編譯生成目標文件(.obj)。目標文件可由lib51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)l51連接定位生成絕對目標文件(.abs)。abs文件由oh51轉(zhuǎn)換成標準的hex文件,以供調(diào)試器dscope51或tscope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如eprom中。通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。3.2硬件仿真proteus簡介proteus isis是英國labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集
15、成電路,該軟件的特點是:實現(xiàn)了單片機仿真和spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能
16、;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如keil c51 uvision2等軟件。具有強大的原理圖繪制功能。proteus能很好的對硬件電路進行仿真測試,采用proteus 仿真軟件進行虛擬單片機實驗,具有比較明顯的優(yōu)勢,涉及到的實驗實習內(nèi)容全面、硬件投入少、實驗過程中損耗小、與工程實踐最為接近等。總之,該軟件是一款集單片機和spice分析于一身的仿真軟件,功能極其強大。4、課題描述與分析4.1系統(tǒng)需求描述與分析 十字交叉路口的交通燈控制系統(tǒng)的結(jié)構(gòu)如圖一所示: 南北東西圖一 十字交叉路口的交通燈控制系統(tǒng)往南和往北的信號一致,即紅燈(綠燈或黃燈)同時亮或同時熄滅。用兩個數(shù)碼管來顯示被點亮的指示燈
17、還將點亮多久。往東和往西方向的信號一致,其工作方式與南北方向一樣,也采用兩個數(shù)碼管來倒計時。當南北方向為綠燈和黃燈時,東西向的紅燈點亮禁止通行;而東西方向為綠燈和黃燈時,南北向的紅燈點亮禁止通行。假設(shè)南北方向為主干道,通行時間為60秒,東西方向是次干道,通行時間為30秒,黃燈點亮的時間均為4秒。假設(shè)南北方向為主干道,通行時間(即綠燈亮的時間)為60秒,東西方向是次干道,通行時間為30秒,暫緩?fù)ㄐ袝r間(即黃燈點亮的時間)均為4秒,則其工作方式如表1所示循環(huán)點亮信號燈。表1 交通信號燈工作模式南北方向綠燈亮60秒黃燈亮04秒紅燈亮34秒東西方向紅燈亮64秒綠燈亮40秒黃燈亮04秒主干道和次干道的通
18、行時間及黃燈點亮的時間可以手動設(shè)置;在沒有手動設(shè)置通行時間時,系統(tǒng)自動按表1的模式進行工作。4.2系統(tǒng)工作流程 接通電源時或系統(tǒng)復(fù)位后,系統(tǒng)按程序給定的時間工作,即南北向通行60秒,東西向通行30秒,黃燈亮4秒。首先南北向通行,然后東西向通行,如此循環(huán)。通行時間的設(shè)置:當需要更改主、次干道的通行時間時,可以用“設(shè)置鍵、增加鍵、減少鍵”進行設(shè)置。第一次按“設(shè)置鍵”時,南北向的綠燈亮,南北向的數(shù)碼管顯示當前南北向的通行時間,并且按每秒3次的頻率閃爍(每秒鐘亮3次暗3次),其余的信號指示燈和東西向的數(shù)碼管熄滅,此時可以用“增加鍵”和“減少鍵”來改變南北向的通行時間。按一次“增加鍵”或“減少鍵”,數(shù)碼
19、管的顯示時間增加1秒或減小1秒,長按“增加鍵”或“減少鍵”(按下的時間超過1秒鐘以上),則數(shù)碼管顯示的時間按每秒鐘增加或減少10的速度快速變化。 第二次按“設(shè)置鍵”時,南北向的黃燈亮,南北向的數(shù)碼管顯示當前南北向黃燈的點亮時間,并且按每秒3次的頻率閃爍(每秒鐘亮3次暗3次),其余的信號指示燈和東西向的數(shù)碼管熄滅,此時可以用“增加鍵”和“減少鍵”來改變南北向黃燈的點亮時間。 第三次按“設(shè)置鍵”時,東西向的綠燈亮,東西向的數(shù)碼管顯示當前東西向的通行時間,并且按每秒3次的頻率閃爍,此時可以用“增加鍵”和“減少鍵”來改變東西向的通行時間。第四次按“設(shè)置鍵”時,東西向的黃燈亮,東西向的數(shù)碼管顯示當前東西
20、向黃燈的點亮時間,并且按每秒3次的頻率閃爍,此時可以用“增加鍵”和“減少鍵”來改變東西向黃燈的點亮時間。第五次按“設(shè)置鍵”時,系統(tǒng)退出設(shè)置狀態(tài),回到交通信號燈狀態(tài),并且南北向先通行,東西向后通行。表2 設(shè)置鍵的功能按“設(shè)置鍵”的次數(shù)第一次第二次第三次第四次第五次調(diào)整內(nèi)容南北方向綠燈點亮時間南北方向黃燈點亮時間東西方向綠燈點亮時間東西方向黃燈點亮時間回復(fù)交通燈工作狀態(tài)調(diào)整范圍099秒09秒099秒09秒5、課題設(shè)計5.1總體設(shè)計本系統(tǒng)的整體框圖由stc12c5410ad構(gòu)成主控芯片,主要是實現(xiàn)各個功能模塊之間功能交互。本系統(tǒng)包括電源模塊、時鐘、復(fù)位電路模塊,程序下載模塊,鍵盤接口模塊,數(shù)碼管和l
21、ed發(fā)光二極管顯示模塊。程序下載模塊由串口和max232芯片組成;鍵盤接口模塊用于設(shè)置各個方向指示燈的點亮時間;數(shù)碼管顯示模塊用來顯示被點亮的指示燈還將點亮多久;led發(fā)光二極管模塊用于指示該方向的3種狀態(tài):通行(綠燈亮)、暫緩?fù)ㄐ校S燈亮)和禁止通行(紅燈亮);220v交流電轉(zhuǎn)5v直流電線性穩(wěn)壓電源構(gòu)成電源模塊。系統(tǒng)結(jié)構(gòu)框圖如圖二所示: 圖二 系統(tǒng)結(jié)構(gòu)框圖紅綠燈控制器的總體的設(shè)計如圖三所示(注本次硬件仿真用的是80c51單片機,proteus軟件庫里沒有stc12c5410ad):圖三 紅綠燈控制器總體設(shè)計圖從圖三可以看出整個設(shè)計圖。首先由220v交流電轉(zhuǎn)5v直流電線性穩(wěn)壓電源模塊得到穩(wěn)定的
22、5v直流電源,提供了模塊間工作供電所需,然后由stc12c5410ad單片機最小系統(tǒng)模塊來控制紅綠黃發(fā)光二極管組合模塊與led數(shù)碼管動態(tài)顯示模塊的聯(lián)合動態(tài)顯示,最后可以通過東西南北要道通行時間按鍵設(shè)置模塊來隨意設(shè)置交通干道的通行暫停時間。5.2硬件設(shè)計5.2.1單片機最小系統(tǒng)單片機最小系統(tǒng)以stc12c5410ad為核心,外加時鐘和復(fù)位電路,電路結(jié)構(gòu)簡單,抗干擾能力強。stc12c5410ad芯片的速度比普通8051 快12 倍,工作周期為1 個時鐘/ 機器周期,risc 型8051 內(nèi)核, 512 字節(jié)片內(nèi)ram 數(shù)據(jù)存儲器,外部晶體或內(nèi)部rc 振蕩器可選,在isp 下載編程用戶程序時設(shè)置時
23、鐘。10 位adc,8 通道,stc12c2052ad 系列為8 位adc,2 個硬件16 位定時器,兼容普通8051 的定時器。4 路pca 還可再實現(xiàn)4 個定時器。先進的指令集結(jié)構(gòu),兼容普通8051 指令集4 組,8 個8 位通用工作寄存器(共32 個通用寄存器),主要有硬件乘法/ 除法指令。時鐘電路在單片機的外部通過xtal1,xtal2這兩個引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器.本系統(tǒng)采用的為11.0592mhz的晶振,微調(diào)電容為20pf。單片機最小系統(tǒng)如圖四所示:圖四 單片機最小系統(tǒng)圖5.2.2 電源模塊電路模塊220v的高電壓經(jīng)過變壓器后得到12v交流電,經(jīng)二極管整流
24、成脈動直流電,經(jīng)過電容濾波又經(jīng)過lm7805穩(wěn)壓得到5v的直流電供系統(tǒng)工作,電源的指示可以由一個發(fā)光二極管來實現(xiàn),2個100uf的電容是起一個再次濾波的作用。穩(wěn)壓電源模塊電路圖如圖五所示:圖五 穩(wěn)壓電源電路模塊圖5.2.3時鐘和復(fù)位電路模塊時鐘采用外部晶振,頻率為11.0592mhz,時鐘和復(fù)位電路電圖如圖六所示:圖六 時鐘和復(fù)位電路模塊圖5.2.4數(shù)碼管顯示電路模塊圖七所示的是共陽數(shù)碼管及其電路,其中每個數(shù)碼管的8個段: h、g、f、e、d、c、b、a(h是小數(shù)點)都連在一起。圖八是4 位數(shù)碼掃描顯示電路,4個數(shù)碼管分別由4個選通信號k1k4來選擇。被選通的數(shù)碼管顯示數(shù)據(jù)。例如,在某一時刻,
25、k3為低電平,其余選通信號為高電平,這時僅k3對應(yīng)的數(shù)碼管顯示來自段信號端的數(shù)據(jù),就必須使得4個選通信號k1k4分別被單獨選通,與此同時,在段信號輸入口加上希望在該對應(yīng)數(shù)碼管上顯示的數(shù)據(jù),于是隨著選通信號的掃變,就能實現(xiàn)掃描顯示的目的。共陽數(shù)碼管及其電路示意圖如圖七所示:圖七 共陽數(shù)碼管及其電路4位數(shù)碼掃描電路的示意圖如圖八所示: 圖圖八 4位數(shù)碼掃描電路 數(shù)碼管顯示電路圖如圖九所示:圖九 數(shù)碼管動態(tài)顯示模塊圖5.2.5 led燈顯示模塊led燈采用的是共陽接法,即所有的led管陽級通過一個限流電阻上拉到5v電源,所有的陰級接到單片機的相應(yīng)引腳。只要該i/o口置低,該燈就能點亮。led燈顯示模
26、塊如圖十所示:圖十 led燈顯示模塊圖5.2.6鍵盤接口電路模塊交通燈的時間設(shè)置主要是通過按鍵的設(shè)置來實現(xiàn)的。set設(shè)置鍵接單片機的外部中斷0口(引腳p3.2),up鍵對應(yīng)端口定時/計數(shù)器(引腳p3.4) ,down對應(yīng)端口定時/計數(shù)器1(引腳p3.5)。在程序初始化的時候兩個定時器均工作于定時模式,定時器1主要完成長按鍵加十和減十的功能,定時器0則只要完成數(shù)碼管動態(tài)顯示時間間隔的定時功能。平時工作時,只有定時器0工作,一但外部中斷0觸發(fā),則激活定時器1,開始設(shè)置初始化,當進中斷0次數(shù)標志位flag滿5次時,退出設(shè)置模式,進入倒計時模式。鍵盤接口電路模塊如圖十一所示:圖十一 鍵盤接口電路模塊圖
27、5.2.7串行通信接口電路 將程序下載到單片機內(nèi)部需要完成串并數(shù)據(jù)的轉(zhuǎn)換和電平轉(zhuǎn)換,因此需要串行通信接口電路。由于電腦內(nèi)部的電平為ttl電平,串口的電平為cmos電平,因此必須轉(zhuǎn)接一個ttl-cmos電平轉(zhuǎn)換芯片max232。串行通信接口電路如圖十二所示:圖十二 串行通信接口電路圖5.3軟件設(shè)計5.3.1整體流程圖各個模塊的都是用c語言來編寫的。本系統(tǒng)軟件設(shè)計主要分為4個模塊,即主程序模塊、中斷子程序模塊、鍵盤掃描模塊、顯示模塊。整個系統(tǒng)工作流程為當系統(tǒng)上電復(fù)位后進入主程序模塊,在主程序模塊中調(diào)用顯示模塊來完成信息的顯示,在沒有用戶觸發(fā)中斷的情況下程序一直在主程序里循環(huán),以維持系統(tǒng)的正常工作。
28、整個軟件流程圖如圖十三所示: 圖十三 軟件流程圖5.3.2主程序模塊主要完成ram清零,定時器t0,t1的設(shè)置,綠、黃燈的初值設(shè)定以及各子程序的調(diào)用。主程序的流程圖如圖十四所示:圖十四 主程序的流程圖5.3.3數(shù)碼管顯示模塊數(shù)碼管顯示模塊包括南北方向數(shù)碼管顯示、東西方向數(shù)碼管顯示和設(shè)置狀態(tài)下的數(shù)碼管閃爍顯示。數(shù)碼管顯示模塊的程序流程圖如十五所示:圖十五 數(shù)碼管顯示模塊程序流程圖5.3.4鍵盤掃描程序模塊在設(shè)置狀態(tài)下,啟動鍵盤掃描模塊,判斷是否有鍵被按下,是增加鍵還是減少鍵被按下,鍵被長按還是短按,還有鍵盤消抖功能。鍵盤掃描程序模塊流程圖如圖十六所示:圖十六 鍵盤掃描程序模塊流程圖5.3.5閃爍
29、顯示程序模塊在設(shè)置東西南北通行時間時,數(shù)碼管顯示當前的通行時間,并且按每秒3次的頻率閃爍(每秒鐘亮3次暗3次),因此將1秒分為6份,偶數(shù)份數(shù)碼管亮,奇數(shù)份數(shù)碼管熄滅。閃爍顯示程序模塊如圖十七所示:圖十七 閃爍顯示程序模塊圖5.3.6按鍵處理程序模塊當設(shè)置按鍵被按第一下時,進入設(shè)置模塊,然后根據(jù)鍵盤掃描得到的鍵值轉(zhuǎn)向響應(yīng)的處理程序,相應(yīng)指示燈的點亮時間是增加還是減少,是增加(或減少)1還是增加(或減少)10,其中設(shè)置按鍵使用外部中斷0。檢測p3.2端口,判斷是否有鍵按下,如果有鍵按下,則進行延時去抖動并將設(shè)置鍵標志位flag加一,根據(jù)flag的值,轉(zhuǎn)相應(yīng)鍵處理子程序。按鍵處理程序模塊流程圖如圖十
30、八所示:圖十八 按鍵處理程序模塊流程圖5.3.7定時器0和定時器1中斷模塊在程序初始化的時候兩個定時器均工作于定時模式,定時器1主要完成長按鍵加十和減十的功能,定時器0則只要完成數(shù)碼管動態(tài)顯示時間間隔的定時功能。平時工作時,只有定時器0工作,一但外部中斷0觸發(fā),則激活定時器1,開始設(shè)置初始化,當進中斷0次數(shù)標志位flag滿5次時,退出設(shè)置模式,進入倒計時模式。定時器0主要通過計數(shù)產(chǎn)生1秒的定時時間,使數(shù)碼管按照每秒減1的倒計時。定時器0中斷模塊的程序流程圖如十九所示:圖十九 定時器0中斷模塊程序流程圖6、系統(tǒng)測試系統(tǒng)調(diào)試分為硬件調(diào)試和軟件調(diào)試,分別用于檢測硬件和軟件是否能正常工作。由于硬件采用
31、模塊化設(shè)計,所以調(diào)試的時候只需要調(diào)試各自的模塊即可,最后連在一起調(diào)試整個系統(tǒng)。軟件由于采用子函數(shù)模塊調(diào)用實現(xiàn),所以調(diào)試的時候采用子函數(shù)單獨調(diào)試,最后用keil軟件強大的仿真調(diào)試功能來結(jié)合硬件聯(lián)機調(diào)試。本系統(tǒng)軟硬件的設(shè)計完成后先經(jīng)過仿真調(diào)試,才進行具體的硬件焊接部分,這樣能避免誤操作或設(shè)計不合理而帶來開發(fā)成本的不必要的提高,而且還能提高系統(tǒng)開發(fā)的效率。6.1硬件調(diào)試6.1.1電源模塊調(diào)試用萬用表檢測電源模塊是否完整,若完整,把相應(yīng)的元件焊上,并用萬用表檢測開關(guān)兩端是否輸出5v穩(wěn)壓直流電源。如果輸出的時12v的交流電,則檢測穩(wěn)壓芯片是否正常工作;如果得到220v的交流電,則檢測變壓器是否正常工作;
32、如果都正常工作,則說明電源模塊正常工作。硬件電源模塊如圖二十所示:圖二十 硬件電源模塊6.1.2單片機最小系統(tǒng)模塊調(diào)試首先確定此模塊的線路是否聯(lián)通;如果檢測到單片機的晶振不起振,檢測是否虛焊或是晶振已壞;檢測單片機的地線是否連通。檢查是否可以正常工作。例如將單片機的某個引腳接一個的指示燈,然后使此引腳輸出高低電平,檢查指示燈是否亮滅,檢測電源到單片機的線路是否短路或是虛焊。單片機最小系統(tǒng)擴展圖(紅綠燈控制器系統(tǒng)硬件圖)如圖二十一所示:圖二十一 單片機最小系統(tǒng)擴展圖(紅綠燈控制器系統(tǒng)硬件圖)6.1.3 max232下載模塊檢測用萬用表檢測電路,看電源線、地線是否完整,然后按照原理圖焊接。打開st
33、c-isp軟件,設(shè)置好后,先下載一個讓單片機的所有引腳均拉低的程序,看是否能下載。如果軟件提示下載失敗,檢測串口是否連接好,rxd、txd是否和單片機連接好;如果提示下載成功,則檢測單片機的引腳是否拉低,否則的話檢測程序是否正確。6.1.4 紅綠燈顯示檢測把紅黃綠燈按照原理圖焊接后,若燈不亮,檢測上拉電阻是否接到電源上;如果已連接,則檢測各自引腳是否虛焊。紅綠燈檢測程序在附錄里面(第42頁)。6.1.5 數(shù)碼管顯示檢測按照原理圖焊接好元件,然后燒寫一個讓數(shù)碼管從0顯示到9的程序。如果數(shù)碼管不顯示,則檢測數(shù)碼管的選通端是否虛焊;如果數(shù)碼管顯示不全,則檢測數(shù)碼管的數(shù)據(jù)口是否鏈接正確。將串口的和電路
34、板上的接口連接,將寫好的測試程序刷寫到芯片內(nèi),開電源即可測試。數(shù)碼管顯示模塊程序在附錄里面(第43頁)。6.2整體電路測系統(tǒng)上電,燒進程序即可開始測試,觀測一個周期的顯示狀態(tài)是否正常,同時觀察倒計的計數(shù)是否正常。對程序進行調(diào)試、仿真后,再進行焊接,確保焊接點無連接、短路等現(xiàn)象后,燒入程序,接著對設(shè)計進行調(diào)試,對照實驗要求進行幾個功能的調(diào)試。整體電路檢測如圖二十二所示(電路圖正在調(diào)試南北綠燈的通行時間):圖二十二 整體電路檢測圖6.3軟件調(diào)試程序的編寫采用的是c語言,用c語言設(shè)計主要優(yōu)點是編程比較簡單,c語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高,并且適用范圍大,可移植性好 。具體程序見附錄。7、結(jié)
35、論本次單片機課程設(shè)計的紅綠燈控制器結(jié)構(gòu)簡單,操作方便,對優(yōu)化城市交通具有一定的意義。本設(shè)計將各任務(wù)進行細分包裝,使各任務(wù)保持相對獨立;能有效改善程序結(jié)構(gòu),便于模塊化處理,使程序的可讀性、可維護性和可移植性都得到進一步的提高。由于使用的是單片機作為核心的控制元件,使得電路的可靠性比較高,功能也比較強大而且可以隨時的更新系統(tǒng),進行不同狀態(tài)的組合。參考文獻1劉文濤.單片機應(yīng)用開發(fā)實例.北京:清華大學(xué)出版社,2005年9月.191132周寶善.經(jīng)典電子設(shè)計與實踐diy.北京:人民郵電出版社,2008年8月.78,6192 3 寧武 唐曉宇 閆曉金 編著 電子設(shè)計競賽技能指導(dǎo) 電子工業(yè)出版社4 胡偉、季
36、曉衡.單片機c程序設(shè)計及應(yīng)用,人民郵電出版社,2003年7月.671355 童詩白,華成英.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,2001年1月.5015506 張靖武, 周靈彬單片機原理應(yīng)用與proteus仿真電子工業(yè)出版社2008年7 張超琦,鐘明哲單片機原理及實例.實踐篇上海交通大學(xué)出版社2007年8潘超群單片機控制技術(shù)在通信中的應(yīng)用:mcs-51電子工業(yè)出版社2008年9陳濤單片機原理及c51程序設(shè)計機械工業(yè)出版社2008年附 錄#include<reg52.h>#define uchar unsigned char#define uint unsigned int/*參
37、數(shù)初始化*uchar count=0,count2=0; /定時器0,定時器1的計數(shù)初值uchar green_ns=60,green_ew=30,red_ns=34,red_ew=64,yellow_ns=4,yellow_ew=4;/南北綠燈亮60 東西綠燈30 南北紅燈34 東西紅燈64 南北黃燈4 東西黃燈4uchar snorth=60,ewest=64; /上電后南北綠燈亮60秒,東西紅燈亮64秒uchar ding_ns=0,ding_ew=0; /南北狀態(tài)轉(zhuǎn)換標志位,東西狀態(tài)轉(zhuǎn)換標志位uchar flag=0,flag2=0; /設(shè)置鍵按下次數(shù)的標志位,長按鍵的標志位/*引腳定
38、義*sbit wela=p20; /鎖存器位選sbit dula=p21; /鎖存器位選sbit ns_r=p22; /南北發(fā)光二極管sbit ns_y=p23;sbit ns_g=p24; sbit ew_r=p25; /東西發(fā)光二極管sbit ew_y=p26;sbit ew_g=p27; sbit set=p32; /按鍵 設(shè)置鍵 加1鍵 減1鍵sbit up=p34;sbit down=p35;/*函數(shù)聲明部分*void delay(uint z);void inital();void display(uchar s);void display_ew(uchar w) ;void di
39、splay_ns(uchar r);void turnkey();void show();/*共陽數(shù)碼管段碼*unsigned char code seg710= 0xc0,/*0*/ 0xf9,/*1*/ 0xa4,/*2*/ 0xb0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xf8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ ; /*軟件延時函數(shù) 延時1毫秒*void delay(uint z) uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*初始化函數(shù)*void inital() we
40、la=0; /鎖存器初始化dula=0;tmod = 0x11; /計數(shù)器0,1工作在方式1,數(shù)值大小16位,定時時間=12*(65536-x)/f x為初值,f為時鐘頻率th0 = 0xd8; /定時器0高8位tl0 = 0xf0; /定時器0低8位ea = 1; /開總中斷et0 = 1; /定時器0中斷允許 tr0=1; /定時器0開始計時th1=0xd8; /定時器1高8位tl1=0xf0; /定時器1低8位et1 = 1; /定時器1中斷允許ex0=1; /外部中斷0允許it0=0; /外部中斷0電平觸發(fā)ns_r=1; /南北發(fā)光二極管初始化ns_g=0;ns_y=1;ew_r=0;
41、 /東西發(fā)光二極管初始化ew_g=1;ew_y=1;/*數(shù)碼管顯示函數(shù)*void display(uchar s) p1=seg7s;/*數(shù)碼管顯示東西方向數(shù)字*void display_ew(uchar w) uchar x,y,i=0;x=w%10; /個位y=w/10; /十位dula=1;display(x);dula=0; p1=0x00;wela=1;p1=0x04;wela=0;delay(5); dula=1;display(y); dula=0; p1=0x00;wela=1;p1=0x08;wela=0;delay(5);/*數(shù)碼管顯示南北方向數(shù)字*void display
42、_ns(uchar r) uchar x,y,i=0;x=r%10; /個位y=r/10; /十位 dula=1;display(x);dula=0; p1=0x00;wela=1;p1=0x01;wela=0;delay(5); dula=1;display(y);dula=0; p1=0x00;wela=1;p1=0x02;wela=0;delay(5);/ *鍵盤掃描函數(shù)*void turnkey() flag2=0; /掃描之前加10減10標志位清零if(!up)delay(10); /按鍵消抖 延時10msif(!up) tr1=1; /定時器1開始1s定時,用于鍵盤掃描的定時數(shù)值加
43、10while(!up)switch(flag)case 0:break;case 1: display_ns(green_ns); ns_g=0;break;case 2:display_ns(yellow_ns); ns_y=0;break;case 3:display_ew(green_ew); ew_g=0;break;case 4:display_ew(yellow_ew); ew_y=0;break; while(!up); /等待按鍵結(jié)束 delay(10); /按鍵消抖 延時10ms while(!up); tr1=0; /定時器1結(jié)束 if(count2>=100) f
44、lag2=1;count2=0; switch(flag2%3) case 0:break;case 1:switch(flag) case 0:break; case 1:green_ns+=9;if(green_ns>99)green_ns=0;break;case 2:break;case 3:green_ew+=9;if(green_ew>99)green_ew=0;break;case 4:break; break;case 2: switch(flag)case 0:break;case 1:green_ns-=9;if(green_ns<=0)green_ns=99;break;case 2:break;case 3:green_ew-=9;if(green_ew<=0)green_ew=99;break;case 4:break; break; switch(flag) /短按鍵加一 case 0:break;case 1: /南北綠燈加一green_ns+; if(green_ns=100)green_ns=0;red_ew
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年戶外運動鞋個性化設(shè)計企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年排球服裝定制專家行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年成長陪伴可調(diào)節(jié)車行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年可穿戴式體溫監(jiān)測器行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年口腔護理牙貼企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年原味瓜子店行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年抽象藝術(shù)裝飾畫企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年微生物資源數(shù)據(jù)庫企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 個人用車合同范例
- 分成協(xié)議合同范本
- (正式版)JBT 14932-2024 機械式停車設(shè)備 停放客車通-用技術(shù)規(guī)范
- (正式版)JBT 14682-2024 多關(guān)節(jié)機器人用伺服電動機技術(shù)規(guī)范
- 2024年職業(yè)衛(wèi)生技術(shù)人員評價方向考試題庫附答案
- 紅樓夢詩詞全集
- 像科學(xué)家一樣思考-怎么做-怎么教-
- 苯胺合成靛紅工藝
- 三年級上冊數(shù)學(xué)脫式計算大全600題及答案
- 2024年度農(nóng)村電子商務(wù)ppt演示課件
- 計算機控制系統(tǒng) 課件 第10章 網(wǎng)絡(luò)化控制系統(tǒng)的分析與設(shè)計
- 高原反應(yīng)的癥狀和處理方法
- 南京大學(xué)儀器分析習題集
評論
0/150
提交評論