課程設(shè)計(jì)(論文)基于stc89c52單片機(jī)的交通燈設(shè)計(jì)_第1頁
課程設(shè)計(jì)(論文)基于stc89c52單片機(jī)的交通燈設(shè)計(jì)_第2頁
課程設(shè)計(jì)(論文)基于stc89c52單片機(jī)的交通燈設(shè)計(jì)_第3頁
課程設(shè)計(jì)(論文)基于stc89c52單片機(jī)的交通燈設(shè)計(jì)_第4頁
課程設(shè)計(jì)(論文)基于stc89c52單片機(jī)的交通燈設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄1 系統(tǒng)設(shè)計(jì)51.1 設(shè)計(jì)要求51.2 硬件設(shè)計(jì)部分5交通燈系統(tǒng)電路5單片機(jī)最小系統(tǒng)電路(見附錄1)6復(fù)位電路6晶振電路6的功能(見附錄2)7發(fā)光二極管8數(shù)碼管82 軟件設(shè)計(jì)(見附錄3)93 電路原理圖的制作93.1電路原理圖的設(shè)計(jì)93.2 PCB的制作10結(jié) 論13參 考 文 獻(xiàn)14摘要本次設(shè)計(jì)系統(tǒng)有交通燈設(shè)置電路、單片機(jī)、顯示電路等構(gòu)成。信號燈控制的實(shí)現(xiàn)是通過電路與C語言程序的結(jié)合來完成,其中信號燈的模擬采用了發(fā)光二極管,發(fā)光二極管有熄滅、點(diǎn)亮和閃爍三種信號,其中閃爍信號的產(chǎn)生運(yùn)用了延時程序來實(shí)現(xiàn),而時間倒數(shù)方面引進(jìn)了LED數(shù)字顯示,克服了人們在等待時的心急的心情,減少了紅燈未滅,闖紅

2、燈的現(xiàn)象。電路部分原理圖是通過用 Protel 99SE軟件繪制設(shè)計(jì),C語言程序的設(shè)計(jì)與調(diào)試都在KEIL上完成。 本系統(tǒng)功能設(shè)計(jì)完善,采用AT89C52單片機(jī)為核心,具有實(shí)用,方便,靈活的特點(diǎn)。隨著電子技術(shù)的廣泛應(yīng)用,車輛日益增多將成為一種發(fā)展趨勢,所以要有一套安全可靠的交通指示燈。單片機(jī)AT89S52為控制核心,以紅、綠、黃三種LED發(fā)光管作為直行和左右拐彎以及行人通行的指示,以LED數(shù)碼管作為倒計(jì)時指示,完成了題目要求的所有功能。在此基礎(chǔ)上對系統(tǒng)進(jìn)行了優(yōu)化設(shè)計(jì),整體性好,人性化強(qiáng)、可靠性高。關(guān)鍵詞:單片機(jī);交通燈;顯示1 系統(tǒng)設(shè)計(jì)1.1 設(shè)計(jì)要求 南北方向紅燈與東西方向綠燈同時亮,倒計(jì)時3

3、0秒,數(shù)碼管顯示;南北方向黃燈與東西方向黃燈亮,倒計(jì)時3秒,數(shù)碼管顯示;南北方向綠燈與東西方向紅燈亮?xí)r,倒計(jì)時30秒,數(shù)碼管顯示。 1.2 硬件設(shè)計(jì)部分根據(jù)本設(shè)計(jì)交通燈的模型和實(shí)現(xiàn)的功能,硬件部分可以分為以下兩個大的系統(tǒng):單片機(jī)系統(tǒng)、交通燈演示系統(tǒng)。倒計(jì)時電路主要是由雙位共陰數(shù)碼管和74HC573N驅(qū)動模塊組成,控制信號通過單片機(jī)的端口P1口進(jìn)行信號的傳輸。倒計(jì)時電路負(fù)責(zé)的是顯示紅綠燈持續(xù)顯示的時間。當(dāng)綠燈或者紅燈持續(xù)顯示時,數(shù)碼管顯示該狀態(tài)的持續(xù)時間,在黃燈閃爍顯示時,起到倒計(jì)時秒數(shù)的作用。紅綠燈功能電路主要是由各色的發(fā)光二極管組成,控制信號通過P1口進(jìn)行傳輸。紅綠燈電路負(fù)責(zé)的是各個車行道和

4、人行道通行狀態(tài)的顯示。 本設(shè)計(jì)單片機(jī)主要是用于控制交通燈的演示系統(tǒng),故只需要單片機(jī)最小系統(tǒng)即可完成。單片機(jī)的最小系統(tǒng)是指能夠驅(qū)動單片機(jī)工作的最小電路。此電路由單片機(jī)、顯示電路、電源、復(fù)位電路4個組成部分組成。單片機(jī)最小電路的電路圖單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復(fù)位后PC0000H,使單片機(jī)從第個單元取指令。無論是在單片機(jī)剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間(即RST為高電平期間),P0口為高組態(tài),P1P3口輸出高電平;外部程序存儲器讀選通信號PSEN無效。地址鎖存信號ALE也為高電平。 晶振電路圖 STC

5、89C52引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按下圖2.3所示方式連接。晶振、電容C1C2及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在033MHz之間,電容C1、C2取值范圍在30pF左右。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用11.0592MHZ做系統(tǒng)的外部晶振。電容取值為33pF。晶振電路的電路圖SL74HC573跟 LS/AL573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn)CMOS輸出兼容的;加上拉電阻,他們能和 LS/ALSTTL輸出兼容。 當(dāng)鎖存使能端為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說

6、輸出同步)。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。   原理說明:  M54HC563/74HC563/M54HC573/74HC573的八個鎖存器都是透明的D 型鎖存器,當(dāng)使能(G)為高時,Q 輸出  將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時,  新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動總線,而不需要外接口。特別適用于緩沖寄存器,I/O 通道,雙向總線驅(qū)動器和工作寄存器。HC573引腳

7、功能表:引腳號符號名稱及功能1OE3態(tài)輸出使能輸入(低電平)2, 3, 4, 5, 6, 7, 8, 9D0 to D7數(shù)據(jù)輸入12,13,14,15,16,17,18,19Q0 to Q73態(tài)鎖存輸出11LE鎖存使能輸入10GND接地(0V)20VCC電源電壓1. LED數(shù)碼管分類:按其內(nèi)部結(jié)構(gòu)可分為共陰型和共陽型;導(dǎo)通時正向壓降一般為1.52V,額定電流為10mA,最大電流為40mA。 2. 數(shù)碼管工作原理共陽極數(shù)碼管的82 軟件設(shè)計(jì)(見附錄3)相較于C語言,匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),復(fù)雜一點(diǎn)的程序就更是難讀懂,而C 語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng)

8、,但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且C 語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。對于開發(fā)周期來說,中大型的軟件編寫用C 語言的開發(fā)周期通常要小于匯編語言很多。綜合以上C 語言的優(yōu)點(diǎn),本設(shè)計(jì)在編程的時候選擇了C 語言。本設(shè)計(jì)在編程環(huán)境上也選擇了Keil Vision 4.0。這款軟件支持眾多不同公司的MCS51架構(gòu)芯片,它集編輯、編譯、仿真為一體,同時還支持PLM、匯編和C語言的程序設(shè)計(jì),界面友好、簡單易學(xué),在調(diào)試程序。軟件仿真方面都有很強(qiáng)大的功能。在初期的軟件調(diào)試階段,Keil Vision會提供非常便利的環(huán)境。在本次設(shè)計(jì)中,采用了C語言作為程序編程的語言,程序見附錄3。3 電

9、路原理圖的制作3.1電路原理圖的設(shè)計(jì)1、設(shè)置電路圖紙參數(shù)及相關(guān)信息根據(jù)電路圖的復(fù)雜程度設(shè)置圖紙的格式、尺寸、方向等參數(shù)以及與設(shè)計(jì)有關(guān)的信息,為以后的設(shè)計(jì)工作建立一個合適的工作平面。2、裝入所需要的元件庫將所需的元件庫裝入設(shè)計(jì)系統(tǒng)中,以便從中查找和選定所需的元器件。3、設(shè)置元件將選定的元件放置到已建立好的工作平面上,并對元件在工作平面上的位置進(jìn)行調(diào)整,對元件的序號、封裝形式、顯示狀態(tài)等進(jìn)行定義和設(shè)置,以便為下一步的布線工作打好基礎(chǔ)。4、電路圖布線利用Protel所提供的各種工具、命令進(jìn)行畫圖工作,將事先放置好的元器件用具有電氣意義的導(dǎo)線、網(wǎng)絡(luò)標(biāo)號等連接起來,布線結(jié)束后,一張完整的電路原理圖基本完

10、成。5、調(diào)整、檢查和修改利用Protel所提供的各種工具對前面所繪制的原理圖做進(jìn)一步的調(diào)整和修改。6、補(bǔ)充完善對原理圖做一些相應(yīng)的說明、標(biāo)注和修飾,增加可讀性和可觀性。7、保存和打印輸出,電路如圖3-1如圖3-1 基于STC89C52單片機(jī)的交通燈設(shè)計(jì)原理圖 3.2 PCB的制作1 得到正確的原理圖和網(wǎng)絡(luò)表 繪制原理圖是繪制PCB板圖的前提,網(wǎng)絡(luò)表是連接原理圖和PCB板圖的中介,所以在繪制PCB電路板之前一定要先得到正確的原理圖和網(wǎng)絡(luò)表。2 畫出自己定義的非標(biāo)準(zhǔn)器件的封裝庫 自己獨(dú)立繪制的封裝一定要在PCB設(shè)計(jì)之前完成,在制作PCB電路板時,我們會導(dǎo)入這

11、些自己制作的封裝。 3 規(guī)劃電路板 電路板是采用單面板還是多層板,電路板的形狀、尺寸等具體的參數(shù)以及電路板的安裝方式等在這里都要一并考慮。另外,還要考慮電路板與外界的接口形式,選擇具體接插件的封裝形式。  4 設(shè)置環(huán)境參數(shù) 我們可以根據(jù)自己的習(xí)慣來設(shè)置環(huán)境參數(shù)。環(huán)境參數(shù)包括柵格大小、光標(biāo)捕捉大小、公制英制的轉(zhuǎn)換、工作層面顏色等。 5 打開所有要用到的庫文件后調(diào)入網(wǎng)絡(luò)表文件需要注意的是要先把所有的庫文件全都打開后,再導(dǎo)入網(wǎng)絡(luò)表文件。否則,在導(dǎo)入網(wǎng)絡(luò)表時會出現(xiàn)元件找不到封裝的情況。6 設(shè)定工作參數(shù)主

12、要進(jìn)行PCB板的圖層設(shè)定。 7 元件手工布局 應(yīng)當(dāng)從機(jī)械結(jié)構(gòu)、散熱、電磁干擾、將來布線的方便性等方面綜合考慮。先布置與機(jī)械尺寸 有關(guān)的器件并鎖定這些器件,然后是大的占位置的器件和電路的核心元件,再是外圍的小元件。對于同一個器件用多種封裝形式的,可以把這個器件的封裝改為第二 種封裝形式并放好后 這個器件用撤消元件組功能,然后再調(diào)入一次網(wǎng)絡(luò)表并放好新調(diào)入的這個器件,有更多種封裝形式時依此類推。放好后可以用VIEW3功能查看一下實(shí)際效果.如果不甚滿意的話可以根據(jù)實(shí)際情況再作適當(dāng)調(diào)整,然后將全部器件鎖定。假如板上空間允許,則可在板上放上一些類似于實(shí)驗(yàn)板

13、的布線區(qū)。對于大板子應(yīng)在 中間多加固定螺絲孔,板上有重的器件或較大的接插件等受力器件邊上也應(yīng)加固定螺絲孔。有需要的話,可在適當(dāng)位置放上一些測試用焊盤。將過小的焊盤過孔改 大,將所有固定螺絲孔焊盤的網(wǎng)絡(luò)定義到地或保護(hù)地等。 8 制訂詳細(xì)的布線規(guī)則 布線規(guī)則包括使用層面、各組線寬、過孔間距、布線的拓樸結(jié)構(gòu)等,我們要根據(jù)所設(shè)計(jì)的板子的實(shí)際情況來進(jìn)行設(shè)定。另外,還要在不希望有走線的區(qū)域內(nèi)放置FILE填充層9 對線路進(jìn)行手工布線 電路需要自己手動布線,必須要按照指定路線布線的電路也要進(jìn)行手工布線。 10 布線完成后

14、的調(diào)整 布通之后,對布線進(jìn)行手工初步調(diào)整。調(diào)整的內(nèi)容有:需加粗的地線、電源線、功率輸出線等進(jìn)行手動加粗;某幾根繞得太多,太過繁瑣的線重布;消除部分不必要的過孔。另外,我們還要切換到單層顯示模式下將每個布線層的線拉整齊和美觀。手工調(diào)整時應(yīng)經(jīng)常進(jìn)行DRC,因?yàn)橛袝r有些線會斷開??焱瓿蓵r可將每個布線層單獨(dú)打印出來以方便改線。調(diào)整完畢后用VIEW3D功能查看實(shí)際效果,滿意后進(jìn)行下一步。 11 印制板文件的保存和導(dǎo)出 Protel DXP繪制PCB 電路板的設(shè)計(jì)完成后,我們還要完成印制板文件整理并存檔,打印出圖紙等工作。可以導(dǎo)出元件明細(xì)表,生成

15、電子表格文檔作為元件清單等。 最后,我們還要說明電路板上有特殊要求的地方,然后提交給制板加工廠進(jìn)行電路板的加工其PCB圖,圖3.2PCB圖圖3.2 基于STC89C52單片機(jī)的交通燈設(shè)計(jì)PCB圖結(jié) 論本文探究了單片機(jī)在當(dāng)今智能交通方面的應(yīng)用。相對于其他解決方案來說,單片機(jī)具有成本低廉,通用性高,維護(hù)簡單,軟件靈活,成熟度高等優(yōu)勢。但是,單片機(jī)發(fā)展到現(xiàn)在也有存儲空間較小、下游方案較少等局限性。本設(shè)計(jì)在實(shí)現(xiàn)相應(yīng)功能的時候主要是考慮到現(xiàn)有的條件,采用成熟度高的STC89C52作為CPU的解決方案,同時用LED燈和雙位數(shù)碼管作為顯示模塊,軟件則使用了移植性好的C語言。從功能需求上來看,已經(jīng)能

16、夠滿足實(shí)際需要,對提高交通運(yùn)輸系統(tǒng)的運(yùn)行效率也有很大的幫助。參 考 文 獻(xiàn)附錄1 單片機(jī)最小系統(tǒng)附錄2 74HC573的功能引腳圖 附錄3 軟件程序/基于STC89C52單片機(jī)的交通燈設(shè)計(jì) 徐梅#include<reg52.h>#include<xianshi.h>void main() /主函數(shù)(調(diào)用xianshi.h文件中的函數(shù) ) init(); /中斷初始化while(1) xianshi(); /循環(huán)顯示函數(shù)#ifndef _XIANSHI_H_#define _XIANSHI_H_#include<reg52.h>#define uchar un

17、signed char#define uint unsigned intuchar code shuzhu=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f; /數(shù)碼管顯示數(shù)組void delay (uint x) /延時 uint i,j; for(i=x;i>0;i-) for(j=110;j>0;j-); sbit dula=P26;sbit wela=P27;uchar n,s,g,w=30,num=0,deng=0xf5;/定義變量 /定義變量deng并賦初值0xf5bit flag=0; /標(biāo)志位 void init(

18、) /初始化定時時器中斷 TMOD=0x01;TL0=(65536-45872)/256;TH0=(65536-45872)%256;EA=1;ET0=1;TR0=1; void xianshi() /顯示 g=w%10;/數(shù)據(jù)分離取得個位上的數(shù) s=w/10;/數(shù)據(jù)分離取得十位上的數(shù)wela=1;P0=0xdf;wela=0;dula=1;P0=shuzhug;dula=0;delay(5);wela=1;P0=0xef;wela=0;dula=1;P0=shuzhus;dula=0;delay(5);void timer0() interrupt 1 /中斷函數(shù) TL0=(65536-45872)/2

溫馨提示

  • 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

提交評論