

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機(jī)課程設(shè)計報告</b></p><p><b> --簡易交通燈設(shè)計</b></p><p> 班級:09級通信工程二班</p><p><b> 學(xué)號: </b></p><p><b> 姓名: </b><
2、;/p><p><b> 指導(dǎo)老師: </b></p><p> 日期:2012年3月24日</p><p> 課題:簡易交通信號控制器</p><p><b> 課程設(shè)計目的: </b></p><p> 單片機(jī)課程設(shè)計是一門實踐課程,要求學(xué)生具有制作調(diào)試單片機(jī)最小系
3、統(tǒng)及外設(shè)的能力,能夠掌握單片機(jī)內(nèi)部資源的使用。</p><p> 單片機(jī)課程設(shè)計內(nèi)容包括硬件設(shè)計、制作及軟件編寫、調(diào)試,學(xué)生在熟練掌握焊接技術(shù)的基礎(chǔ)上,能熟練使用單片機(jī)軟件開發(fā)環(huán)境Keil C51編程調(diào)試,并使用STC ISP調(diào)試工具采用串口下載方式聯(lián)調(diào)制作的單片機(jī)最小系統(tǒng)。</p><p> 課程設(shè)計內(nèi)容及要求:</p><p> 自制一個單片機(jī)最小系統(tǒng),包
4、括串口下載、復(fù)位電路,采用內(nèi)部定時器定時控制南北、東西的交通信號燈(采用LED模擬),交通信號燈由紅、黃、綠燈組成,東西、南北模擬路口由12路LED組成,其中南北、東西均采用并聯(lián)方式連接,雙向均有倒計時牌。</p><p><b> 控制方案如下:</b></p><p><b> 實現(xiàn)思路:</b></p><p>
5、 使用定時器0方式一及中斷實現(xiàn)精準(zhǔn)定時,P0口控制兩組交通燈亮滅,P1,P2口分別控制路口倒計時牌十位和各位數(shù)值顯示,實現(xiàn)倒數(shù)功能!</p><p><b> 實現(xiàn)程序如下:</b></p><p> #include<reg52.h></p><p> #define uint unsigned int</p>
6、<p> #define uchar unsigned char</p><p> uint i=0,num=0;</p><p> uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,</p><p> 0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9</p>&l
7、t;p> sbit dxgreen=P1^0;</p><p> sbit dxyellow=P1^1;</p><p> sbit dxred=P1^2;</p><p> sbit nbgreen=P1^3;</p><p> sbit nbyellow=P1^4;</p><p> sbit n
8、bred=P1^5;</p><p> sbit gewei=P1^6;</p><p> sbit shiwei=P1^7;</p><p> void main()</p><p><b> {</b></p><p><b> P1=0xff;</b><
9、;/p><p> TMOD = 0x01; //使用模式1,16位定時器</p><p> TH0=(65536-50000)/256; //定時50ms,裝初值</p><p> TL0=(65536-50000)%256;</p><p> EA=1; //總中斷打開</p><p&
10、gt; ET0=1; //定時器中斷打開</p><p><b> TR0=1; </b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> if(i==20)</
11、b></p><p><b> {</b></p><p><b> i=0;</b></p><p><b> num++;</b></p><p> if(num>=1&num<=30)</p><p><b&
12、gt; {</b></p><p> if(num>=1&num<=10)</p><p><b> {</b></p><p> if(num==1)</p><p><b> {</b></p><p><b>
13、 nbred=0;</b></p><p><b> dxred=1;</b></p><p> dxgreen=0;</p><p><b> }</b></p><p><b> shiwei=1;</b></p><p> P
14、0=table[2];</p><p><b> shiwei=0;</b></p><p><b> gewei=1;</b></p><p> P2=table[10-num];</p><p><b> gewei=0;</b></p><p&
15、gt;<b> }</b></p><p> if(num>=11&num<=20)</p><p><b> {</b></p><p><b> shiwei=1;</b></p><p> P0=table[1];</p>&l
16、t;p><b> shiwei=0;</b></p><p><b> gewei=1;</b></p><p> P2=table[20-num];</p><p><b> gewei=0;</b></p><p><b> }</b>
17、</p><p> if(num>=21&num<=30)</p><p><b> {</b></p><p><b> shiwei=1;</b></p><p> P0=table[0];</p><p><b> shiwei
18、=0;</b></p><p><b> gewei=1;</b></p><p> P2=table[30-num];</p><p><b> gewei=0;</b></p><p> if(num>=23&num<=27) </p>&l
19、t;p><b> {</b></p><p> dxgreen=~dxgreen;</p><p><b> }</b></p><p> if(num>=28&num<=30)</p><p><b> {</b></p>&
20、lt;p> dxgreen=1;</p><p> dxyellow=0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(num>=31&
21、amp;num<=60)</p><p><b> {</b></p><p> if(num>=31&num<=40)</p><p><b> {</b></p><p> if(num==31)</p><p><b> {
22、</b></p><p> dxyellow=1;</p><p><b> dxred=0;</b></p><p><b> nbred=1;</b></p><p> nbgreen=0;</p><p><b> }</b>
23、</p><p><b> shiwei=1;</b></p><p> P0=table[2];</p><p><b> shiwei=0;</b></p><p><b> gewei=1;</b></p><p> P2=table[4
24、0-num];</p><p><b> gewei=0;</b></p><p><b> }</b></p><p> if(num>=41&num<=50)</p><p><b> {</b></p><p><
25、b> shiwei=1;</b></p><p> P0=table[1];</p><p><b> shiwei=0;</b></p><p><b> gewei=1;</b></p><p> P2=table[50-num];</p><p&
26、gt;<b> gewei=0;</b></p><p><b> }</b></p><p> if(num>=51&num<=60)</p><p><b> {</b></p><p><b> shiwei=1;</b&g
27、t;</p><p> P0=table[0];</p><p><b> shiwei=0;</b></p><p><b> gewei=1;</b></p><p> P2=table[60-num];</p><p><b> gewei=0;&l
28、t;/b></p><p> if(num>=53&num<57) </p><p><b> {</b></p><p> nbgreen=~nbgreen;</p><p><b> } </b></p><p> if(num>
29、=58&num<=60)</p><p><b> {</b></p><p> nbgreen=1;</p><p> nbyellow=0;</p><p><b> }</b></p><p><b> }</b><
30、/p><p><b> }</b></p><p> if(num==61) </p><p><b> {</b></p><p><b> num=0;</b></p><p> nbyellow=1;</p><
31、p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void timer0() interrupt 1 </p>&l
32、t;p><b> {</b></p><p> TH0=(65536-50000)/256; //定時50ms,裝初值</p><p> TL0=(65536-50000)%256;</p><p><b> i++;</b></p><p><b> }</b
33、></p><p> Proteus仿真結(jié)果如下:</p><p><b> 課程設(shè)計心得體會:</b></p><p> 其實在之前的單片機(jī)課程學(xué)習(xí)的時候,就發(fā)現(xiàn)自己對單片機(jī)比較感興趣了,自己買了個單片機(jī)開發(fā)板學(xué)習(xí)了一些簡單控制的教程,這些都為我這次成功的單片機(jī)課程設(shè)計打下了基礎(chǔ),本次單片機(jī)課程設(shè)計一共歷時5天,從拿到課程開始,發(fā)
34、現(xiàn)和數(shù)電課程設(shè)計的課題差不多,當(dāng)時的想法就是做一個不一樣的東西,呵呵,所以就選擇了做交通燈的設(shè)計。話說我編程的時候遇到了很多問題,導(dǎo)致仿真的時候現(xiàn)象老是不正確,后來經(jīng)過積極向同學(xué)和學(xué)長詢問和請教,最終完全成功的實現(xiàn)了正確仿真,不過程序里基本上全是使用的if語句,之所以選擇使用if語句,是因為自我感覺if語句的可讀性好些,呵呵,但是后來,也看到了一些學(xué)長們同樣課題的編程,發(fā)現(xiàn)他們的代碼比我的要精簡高效些,我發(fā)現(xiàn)需要學(xué)習(xí)和提高的地方還有很多
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計報告---交通燈
- 單片機(jī)交通燈課程設(shè)計報告
- 交通燈單片機(jī)課程設(shè)計報告
- 單片機(jī)交通燈課程設(shè)計報告
- 單片機(jī)課程設(shè)計-交通燈報告
- 交通燈單片機(jī)課程設(shè)計報告
- 單片機(jī)交通燈課程設(shè)計報告
- 單片機(jī)課程設(shè)計報告---交通燈
- 單片機(jī)課程設(shè)計-交通燈報告
- 單片機(jī)交通燈課程設(shè)計
- 單片機(jī)課程設(shè)計---交通燈
- 單片機(jī)交通燈課程設(shè)計
- 單片機(jī)課程設(shè)計-交通燈
- 單片機(jī)課程設(shè)計--交通燈
- 單片機(jī)課程設(shè)計(交通燈)
- 單片機(jī)交通燈課程設(shè)計
- 單片機(jī)交通燈課程設(shè)計
- 單片機(jī)交通燈課程設(shè)計
- 單片機(jī)交通燈課程設(shè)計
- 單片機(jī)交通燈課程設(shè)計--基于單片機(jī)的交通燈控制設(shè)計
評論
0/150
提交評論