基于c語言單片機(jī)交通燈_第1頁
基于c語言單片機(jī)交通燈_第2頁
基于c語言單片機(jī)交通燈_第3頁
基于c語言單片機(jī)交通燈_第4頁
基于c語言單片機(jī)交通燈_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 設(shè)計(jì)課題設(shè)計(jì)要求及總體方案介紹1.1 設(shè)計(jì)課題任務(wù) 設(shè)計(jì)一個(gè)具有特定功能的十字路口交通燈。該交通燈上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“d.1004-16”, 進(jìn)入準(zhǔn)備工作狀態(tài)。按開始鍵則開始工作,按結(jié)束鍵則返回“d.1004-16”狀態(tài)。1.2 功能要求說明要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行,甲車道為主車道,每次通車時(shí)間為60秒,乙車道為次車道,每次通車時(shí)間為30秒,要求黃燈亮3秒,并且1秒閃爍一次。有應(yīng)急車輛出現(xiàn)時(shí),紅燈全亮,應(yīng)急車輛通車時(shí)間10秒,同時(shí)禁止其他車輛通過。1.3 交通燈總體方案介紹及工作原理說明1.3.1 電源提供方案為使模塊穩(wěn)定工作,須有可靠電源,采用單片

2、機(jī)控制模塊提供電源。此方案的優(yōu)點(diǎn)是系統(tǒng)簡明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。1.3.2 復(fù)位方案復(fù)位方式有兩種:按鍵復(fù)位與軟件復(fù)位。由考慮到程序的簡潔,避免冗長,本設(shè)計(jì)采用按鍵復(fù)位,在芯片的復(fù)位端口外接復(fù)位電路,通過按鍵對(duì)單片機(jī)輸入一個(gè)高電平脈沖,達(dá)到復(fù)位的目的。1.3.3 輸入方案直接在IO口線上接上按鍵開關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡和優(yōu)化了電路,所以剩余的口資源還比較多,我們使用2個(gè)按鍵,分別是K1、K2。 由于該系統(tǒng)對(duì)于交通燈及數(shù)碼管的控制,只用單片機(jī)本身的I/O 口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器及RAM已經(jīng)夠用1.3.4 顯示界面方案 該系統(tǒng)要求完成倒計(jì)時(shí)、狀態(tài)燈等功能。采用數(shù)碼管與點(diǎn)陣LED (點(diǎn)

3、陣式和8段式LED)相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時(shí)間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。2 交通燈硬件系統(tǒng)的設(shè)計(jì)2.1 交通燈硬件系統(tǒng)各模塊功能簡要介紹2.1.1 設(shè)計(jì)方框圖 圖2-12.1.2 復(fù)位電路模塊復(fù)位方式有多種,本設(shè)計(jì)采用按鍵復(fù)位,在設(shè)定的定時(shí)時(shí)間內(nèi),89S52必須在RST引腳產(chǎn)生一個(gè)由高到低的電平變化,以清內(nèi)部定時(shí)器。 2.1.3 晶振電路模塊選取原則:傳統(tǒng)做法,但能夠?qū)崿F(xiàn)所需,即

4、最簡單也最是實(shí)用。電容選取33pF,晶振為12MHz。2.1.4 流水燈電路模塊流水燈電路直接接在單片機(jī)的P2口上,采用共陽接法。2.1.5 數(shù)碼管電路模塊數(shù)碼管的段控口接在單片機(jī)的P0口上,位控通過三極管接在單片機(jī)的P2口上。2.1.6 按鍵電路模塊按鍵電路的設(shè)計(jì)就是在一段共接地,另一端通過上拉電阻接到P1口有按鍵時(shí)。相應(yīng)的口就會(huì)變成低電平,產(chǎn)生一個(gè)下降沿。2.1.7 下載口電路下載口的1腳接在P1.5口,2腳懸空,3腳接在單片機(jī)的復(fù)位口上,4腳接在P1.6口,5叫接在P1.7口,6、7、8、9、10接地。2.2 交通燈電路原理圖、PCB圖、元器件分布圖電路原理圖見附錄1PCB頂層圖見附錄2

5、PCB底層圖見附錄3元器件布局圖見附錄42.3 交通燈元器件清單元器件清單見附錄53 交通燈軟件系統(tǒng)的設(shè)計(jì)3.1 單片機(jī)資源使用情況AT89S52的P3口用來接八個(gè)發(fā)光二極管的陰極,控制其亮與滅,P0口和P2口外接由8個(gè)LED數(shù)碼管構(gòu)成的顯示器,用P0口作LED的段碼輸出口(P0.0P0.7對(duì)應(yīng)于LED的adp),P2口作LED的位控輸出線,P2口外接3個(gè)按鍵A、B、C(分別對(duì)應(yīng)于P1.0、P1.1、P1.2)用于調(diào)整顯示接口電路。3.2 軟件各模塊簡要介紹軟件設(shè)計(jì)是由C語言來編寫的,由主程序、鍵處理和鍵掃描程序、顯示程序、延時(shí)程序這幾個(gè)模塊組成的。3.2.1 主程序主程序中會(huì)一直調(diào)用顯示程序

6、、鍵掃描程序,延時(shí)程序,當(dāng)沒有鍵按下時(shí),數(shù)碼管會(huì)一直顯示P.,當(dāng)有按鍵按下時(shí),就會(huì)按操作執(zhí)行。3.2.2 顯示程序顯示程序主要完成數(shù)碼管動(dòng)態(tài)顯示。3.2.3 鍵處理和鍵掃描程序鍵處理程序主要將P1口的取值送往單片機(jī)進(jìn)行取反。鍵掃描主要判斷是否有鍵按下,即過度前沿抖動(dòng)在判斷是否有鍵按下。最終將處理完的鍵值作為返回值返回。3.2.4 延時(shí)程序延時(shí)程序主要是用來倒計(jì)時(shí)用的,用來計(jì)算秒數(shù)。3.3 交通燈程序流程圖3.3.1 主程序流程框圖主程序流程圖如圖3-1所示圖3-1緊急情況時(shí)的中斷服務(wù)程序(外中斷0) 中斷響應(yīng) 返回 恢復(fù)現(xiàn)場 延時(shí)10S A紅燈、B紅燈 保護(hù)現(xiàn)場圖3-23.3.2 顯示子程序流

7、程框圖顯示子程序框圖如圖3-3所示圖3-33.3.3 鍵掃子程序流程框圖鍵掃子程序流程框圖如圖3-4所示 圖3-43.4交通燈設(shè)計(jì)程序清單程序清單見附錄64 交通燈設(shè)計(jì)結(jié)論4.1 使用說明通電后,數(shù)碼管會(huì)顯示d.1004-16,按下S2鍵后,交通燈開始進(jìn)入運(yùn)行狀態(tài)。運(yùn)行時(shí)按S1復(fù)位,如果按下S2鍵,主車道綠燈亮60秒,次車道紅燈亮60秒,隨后主車道黃燈亮2秒,閃3下,然后主車道紅燈亮30秒,次車道綠燈亮30秒,緊接著次車道黃燈亮2秒閃三下,一直循環(huán),如果按下S3則回到初始值P.為緊急情況使用;再按S2鍵主次車道紅燈都亮10秒。4.2 系統(tǒng)調(diào)試單片機(jī)AT89S52是系統(tǒng)的核心,利用萬用表檢測單片

8、機(jī)電源VCC是否為(40腳)+5V、晶振是否正常工作(可視波器調(diào)試,也可用萬用表檢測,亮引腳電壓一般為1.82.3V之間)、復(fù)位引腳RST(復(fù)位時(shí)為高電平,單片機(jī)工作時(shí)為低電平)、EA是否為+5V(高電平),單片機(jī)能工作了,再結(jié)合電路圖,檢測故障就容易了。4.3 交通燈運(yùn)行圖交通燈運(yùn)行實(shí)拍圖見附錄4.4設(shè)計(jì)體會(huì)本次設(shè)計(jì)中,因?yàn)楸救藛纹瑱C(jī)基礎(chǔ)學(xué)到不少很好,所以費(fèi)了很大的時(shí)間,在硬件方面,一直都不是很順利,出現(xiàn)虛焊的情況很多,在檢查板子的時(shí)候由于焊孔太多遇到很大的困難,甚至想放棄,但最后還是堅(jiān)持下來了,軟件設(shè)計(jì)方面,也不是很會(huì),通過別人的一些幫忙,使我完成了這次的設(shè)計(jì),真的很不容易。結(jié)束語通過這學(xué)

9、期單片機(jī)的學(xué)習(xí),本人喜歡上了在軟件上的編程,雖然學(xué)的不是很好,但本人會(huì)不斷努力,在學(xué)習(xí)編程技能,為以后進(jìn)去手機(jī)開發(fā)設(shè)計(jì)方面打好基礎(chǔ),本人已經(jīng)喜歡上了這個(gè)行業(yè),相信能在以后有一番作為。致 謝感謝王老師這個(gè)學(xué)期對(duì)我們單片機(jī)這門課程學(xué)習(xí)的嚴(yán)格要求,讓我們學(xué)到了很多,不盡在學(xué)習(xí)上,還是做人方面,都起到很大的作用,還要感謝在學(xué)習(xí)中幫助我的同學(xué),在沒有老師的情況下解決了我的疑惑,真的很謝謝你們。參考文獻(xiàn)1李朝青.單片機(jī)原理及接口技術(shù)(第3版).2005年10月 Li Zhaoqing. The SCM theory and Interface Technology ( Third Edition ) .2

10、005 year in October2.蔡朝洋.單片機(jī)控制實(shí)習(xí)與專題制作 Cai Zhaoyang SCM control practice and special topic production3.樓然苗.單片機(jī)課程設(shè)計(jì)指導(dǎo) building and seedlings. SCM curriculum design guidanceZhao Guanglin4.趙廣林.電路設(shè)計(jì)與制版circuit design and plate making.附錄2: PCB頂層圖附錄3: PCB底層圖附錄4:元器件分布圖附錄5: 元器件清單名稱數(shù)量參數(shù)電阻3個(gè)1K數(shù)碼管2個(gè)4位一體電阻1個(gè)200下載

11、口1個(gè)普通插座1個(gè)40PIN電阻24個(gè)470按鍵9個(gè)三極管9個(gè)PNPUSB供電線1根晶振1個(gè)12MHz電容2個(gè)22pF極性電容1個(gè)220F芯片1塊AT89S52發(fā)光二極管9個(gè)六角開關(guān)1個(gè)表2 元件清單附錄6:程序清單/名稱:十字路口交通燈控制/作者: /時(shí)間: 2013年5月28日/設(shè)計(jì)要求:上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“d.1004-16”, 進(jìn)入準(zhǔn)備工作狀態(tài)。按開始鍵則開始工作,按結(jié)束鍵則返回“P.”狀態(tài)。要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行,甲車道為主車道,每次通車時(shí)間為60秒,乙車道為次車道,每次通車時(shí)間為30秒,要求黃燈亮3秒,并且1秒閃爍一次。有應(yīng)急車輛出現(xiàn)時(shí),紅

12、燈全亮,應(yīng)急車輛通車時(shí)間10秒,同時(shí)禁止其他車輛通過。/*/#include#includechar code dis_code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0c,0xff; char time;char v;char flag=0;/*顯示緩沖數(shù)組(存放顯示信息的字型碼的序號(hào))*/ char find_code8;/*/函數(shù)名: void DelayX1ms(uint count)/功能: 延時(shí)時(shí)間為1ms/調(diào)用函數(shù):/輸入?yún)?shù):count,1ms計(jì)數(shù)/輸出參數(shù):/說明:總共延時(shí)時(shí)間為1ms乘以count,cryst

13、al=12Mhz/*/#define uchar unsigned char#define uint unsigned intvoid DelayX1ms(uint count) uint j; while(count-!=0) for(j=0;j80;j+); /*顯示函數(shù)*/void disp() char i,j=0xEF; char k; for(i=0;i=0&v!=2;b-) P3=0X6F; find_code6=b%10; find_code7=b/10; find_code2=b%10; find_code3=b/10; delay1s(); flag=0; void mai

14、n() while(1) find_code0=11; find_code1=11; find_code2=11; find_code3=11; find_code4=11; find_code5=11; find_code6=11; find_code7=10; disp(); EA=1;EX1=1;IT1=1; v=key(); switch(v) case 0: disp(); break; case 1: while(v!=2) int m,n=60,t=30,a=4; find_code7=11; for(m=60;m=0&v!=2;m-) P3=0xAF; find_code6=m

15、%10; find_code7=m/10; find_code2=n%10; find_code3=n/10; delay1s(); n-; if(flag=1&v!=2) jinji(); for(m=0;m2&v!=2;m+) P3=0XCF; find_code6=a%10; find_code7=a/10;find_code2=n%10; find_code3=n/10; delay1s();n-;a-; if(flag=1&v!=2) jinji(); for(m=0;m=0&v!=2;m-)P3=0X7D; find_code6=m%10; find_code7=m/10;find_code2=t%10; find_code3=t/10; delay1s(); t-; if(flag=1&v!=2) jinji(); for(m=0;m2&v!=2;m+) P3=0X7E; find_code6=a%10; find_code7=a/10; find_code2=t%10; find_co

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論