版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 電子工程課程設(shè)計報告書</p><p> 課 程 名 稱 智能電子小產(chǎn)品課程設(shè)計</p><p> 課程設(shè)計總評成績 </p><p> 學(xué)生姓名、學(xué) 號 </p><p> 學(xué) 生 專 業(yè) 班級
2、 </p><p> 指 導(dǎo) 教 師 姓名 </p><p> 課程設(shè)計起止日期 2012.06.21---2012.07.09 </p><p> 一、課程設(shè)計項目名稱</p><p><b> 基于單片機(jī)彩燈控制</b></p&g
3、t;<p> 二、項目設(shè)計目的及技術(shù)要求</p><p> 項目設(shè)計目的:本設(shè)計以AT89C52單片機(jī)為核心并用它來控制發(fā)光二極管雙燈點亮循環(huán)的實驗裝置,用AT89C52單片機(jī)控制16個發(fā)光二極管發(fā)光,實現(xiàn)亮點的循環(huán)移動。通過Proteus軟件設(shè)計、仿真、PCB制版,并能掌握通過軟件控制發(fā)光二極管的思路和技巧。這次設(shè)計重點就在于利用單片機(jī)的知識去控制系統(tǒng)的運行。</p><p
4、><b> 技術(shù)要求:</b></p><p> 1:彩燈至少有5種工作模式。</p><p> 2:當(dāng)按下按鍵后,模式可以切換。</p><p> 3:同時數(shù)碼管要顯示此時是第幾個模式。</p><p> 三、項目設(shè)計方案論證(可行性方案、最佳方案、軟件程序、硬件電路原理圖和PCB圖)</p&g
5、t;<p> 通過單片機(jī)控制二極管的閃爍,通過中斷來改變模式同時串行輸出數(shù)碼管。P0,P1口接16個二極管,P3口接擴(kuò)展板的數(shù)碼顯示接口。</p><p><b> 系統(tǒng)圖</b></p><p> 模式一是P1,P2口從左到右依次點亮。</p><p> 模式二是P1,P2 16個二極管每隔三個亮著,每次亮著的燈向前移一
6、位。</p><p> 模式三是P1口全熄,P2全亮,P1口依次點亮后P2口依次熄滅。</p><p> 模式四是P1口全亮,P2全熄,P1口依次熄滅后P2口依次點亮。</p><p> 模式五是亮點從心型上端從兩邊移動下來。</p><p> 主程序是從判斷是哪個模式到進(jìn)入模式運行不停循環(huán),當(dāng)外部中斷0來了時響應(yīng)中斷,中斷程序是模式
7、加一并顯示此時是模式幾。</p><p> 顯示是用了單片機(jī)的串行輸出,擴(kuò)展板上是四個移位寄存器74LS164,和四個共陽極數(shù)碼管。單片機(jī)串型輸出用的是工作方式0(移位寄存器方式)。串型數(shù)據(jù)通過RXD輸入輸出,TXD輸出頻率為f/12的時鐘脈沖。數(shù)據(jù)格式為8位,地位在前高位在后。單片機(jī)RTD接74LS164的AB, TXD接CLK。</p><p> 74LS164內(nèi)部結(jié)構(gòu)圖:<
8、/p><p> 74LS164真值表及時序圖</p><p> H-高電平 L-低電平 X-任意電平 ↑-低到高電平跳變 QA0,QB0,QH0 -規(guī)定的穩(wěn)態(tài)條件建立前的電平 QAn,QGn -時鐘最近的↑前的電平 </p><p> 單片機(jī)串行輸出四組數(shù)據(jù)到寄存器中,使數(shù)碼管對應(yīng)四個數(shù)字。輸出的碼字與具體的連接有關(guān),此擴(kuò)展板1-9的碼字為0x03,0x9f
9、,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09</p><p><b> 程序流程圖:</b></p><p><b> 中斷程序:</b></p><p><b> 主程序:</b></p><p> 四、項目設(shè)計結(jié)果分析(分析試驗過
10、程中獲得的數(shù)據(jù)、波形、現(xiàn)象或問題的正確性和必然性,分析產(chǎn)生不正確結(jié)果的原因和處理方法)</p><p> 開始時編寫的程序思想是在主程序不停等待中斷,在中斷中執(zhí)行彩燈模式的死循環(huán)模式,再來中斷后響應(yīng)中斷跳出循環(huán)執(zhí)行下一個模式,這樣不斷的通過中斷進(jìn)入死循環(huán),不停的中斷套中斷。后把程序燒到單片機(jī)后發(fā)現(xiàn)不能切換模式。最后反觀程序才明白一個中斷時不能不停嵌套的。</p><p><b>
11、; 小結(jié):</b></p><p> 本次課程設(shè)計耗時三個星期,讓理論聯(lián)系實際,真正的體會了單片機(jī)的應(yīng)用。同時讓我掌握一部分的C語言編寫程序能力,也鞏固了以前所學(xué)的東西。還有要感謝陳迪虎,汪波同學(xué)的幫助,在程序出現(xiàn)問題時,幫我指出了錯誤。同時還要感謝指導(dǎo)老師們的幫助。</p><p> 五、參考文摘(相關(guān)文摘不少于5篇,記錄每篇文獻(xiàn)的作者姓名.文獻(xiàn)名稱.文獻(xiàn)發(fā)行城市:文獻(xiàn)
12、出版社,出版年;文獻(xiàn)內(nèi)容摘要, 每篇不少于100字)</p><p> [1] 祈偉.單片微型計算機(jī)原理與接口技術(shù)教程[M] 北京:北京航空航天大學(xué)出版社, 2007</p><p> [2] 劉同法、陳忠平 眭仁武等.單片機(jī)基礎(chǔ)與最小系統(tǒng)實踐[M] 北京:北京航空航天大學(xué)出版社,2007</p><p> [3] 毛敏.MCS-51系列單片機(jī)系統(tǒng)及應(yīng)用實踐教
13、程[M] 高等教育出版社, 2006</p><p> [4] 陳忠平等.單片機(jī)原理及接口[M] 北京:清華大學(xué)出版社,2007 </p><p> [5] 林伸茂、管繼等.《8051單片機(jī)徹底研究實習(xí)篇》第二版[M] 北京:人民郵電出版社, 2004</p><p> [6] 李廣弟等.單片機(jī)原理機(jī)應(yīng)用[M] 北京:北京航空航天大學(xué)出版社,2003<
14、;/p><p> [7] 潘永雄.《新單片機(jī)原理及應(yīng)用》第三版[M] 西安:西安電子科技大學(xué)出版社, 2003</p><p> [8] 公茂法、馬寶甫編著.單片機(jī)人機(jī)接口實例集[M] 北京:北京航空航天出版社,1998</p><p><b> 附件:</b></p><p><b> 1.程序:<
15、/b></p><p> #include <REG52.H></p><p> int i=0,j=0,g=0;</p><p> LEDIndex=0;</p><p> unsigned char table[16]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0
16、x09,0xff};</p><p> unsigned char disp_data;</p><p> sbit disp=P3^1;</p><p> void delay(int ms)</p><p><b> {</b></p><p> int i1,j1;</p&g
17、t;<p> for(i1=0;i1<ms;i1++)</p><p><b> {</b></p><p> for(j1=0;j1<1141;j1++);</p><p><b> }</b></p><p><b> }</b><
18、/p><p> void dip(int i)</p><p><b> {</b></p><p> PCON=0x00;</p><p> SCON=0x00;</p><p><b> ES=0;</b></p><p> disp_da
19、ta=table[i];</p><p> SBUF=disp_data;</p><p> while(TI==0)</p><p><b> TI=0;</b></p><p> for(j=0;j<3;j++)</p><p> {disp_data=0xff;</p&
20、gt;<p> SBUF=disp_data;</p><p> while(TI==0)</p><p><b> TI=0;</b></p><p><b> }</b></p><p> delay(10);</p><p><b>
21、 }</b></p><p> void LEDShow(unsigned int LEDStatus)</p><p><b> {</b></p><p> P0 = (LEDStatus&0x00FF);</p><p> P1 = ((LEDStatus>>8)&0
22、x00FF);</p><p><b> }</b></p><p> void Mode_1(void)</p><p><b> { </b></p><p> LEDShow(0xfffff<<LEDIndex);</p><p> LEDIn
23、dex = (LEDIndex+1)%17;</p><p> delay(10);</p><p><b> }</b></p><p> void Mode_2(void)</p><p><b> {</b></p><p> unsigned int a=0
24、x77,b,c;</p><p> for(i=0;i<4;i++)</p><p><b> {</b></p><p><b> b=a>>7;</b></p><p><b> c=a<<1;</b></p><p
25、><b> a=c|b;</b></p><p><b> P0=a;</b></p><p><b> P1=a;</b></p><p> delay(15);</p><p><b> }</b></p><p&g
26、t;<b> }</b></p><p> void Mode_3(void)</p><p> {unsigned int a;</p><p><b> P0=0xFF;</b></p><p><b> P1=0x00;</b></p><p
27、><b> a=0xff;</b></p><p> for(j=0;j<9;j++)</p><p><b> {</b></p><p><b> P0=a;</b></p><p><b> a=a<<1;</b>&
28、lt;/p><p> delay(15);</p><p><b> }</b></p><p><b> a=0xff;</b></p><p> for(j=0;j<9;j++)</p><p><b> {</b></p>
29、<p><b> P1=~a;</b></p><p><b> a=a<<1;</b></p><p> delay(15);</p><p><b> }</b></p><p><b> }</b></p>
30、;<p> void Mode_4(void)</p><p> {unsigned int a;</p><p><b> P1=0xFF;</b></p><p><b> P0=0x00;</b></p><p><b> a=0xff;</b>&
31、lt;/p><p> for(j=0;j<9;j++)</p><p><b> {</b></p><p><b> P0=~a;</b></p><p><b> a=a<<1;</b></p><p> delay(15);
32、</p><p><b> }</b></p><p><b> a=0xff;</b></p><p> for(j=0;j<9;j++)</p><p><b> {</b></p><p><b> P1=a;</b
33、></p><p><b> a=a<<1;</b></p><p> delay(15);</p><p><b> }</b></p><p><b> }</b></p><p> void Mode_5(void)&l
34、t;/p><p> {unsigned int a,b;</p><p><b> P0=0xfe;</b></p><p> delay(10);</p><p><b> a=0x02;</b></p><p><b> b=0x80;</b>
35、</p><p><b> P0=~a;</b></p><p><b> P1=~b;</b></p><p> delay(10);</p><p> for(j=0;j<7;j++)</p><p><b> {a=a<<1;<
36、;/b></p><p><b> b=b>>1;</b></p><p><b> P0=~a;</b></p><p><b> P1=~b;</b></p><p> delay(10);</p><p><b>
37、; }</b></p><p><b> }</b></p><p> void ISR0(void) interrupt 0</p><p><b> {g++;</b></p><p><b> if(g==6) </b></p><
38、;p><b> g=1;</b></p><p><b> dip(g);</b></p><p><b> }</b></p><p> void main(void)</p><p><b> {</b></p><
39、p><b> IT0=1;</b></p><p><b> EX0=1;</b></p><p><b> EA=1;</b></p><p><b> dip(1);</b></p><p><b> while(1)<
40、/b></p><p><b> {</b></p><p><b> switch(g)</b></p><p><b> {</b></p><p> case 1:Mode_1();break;</p><p> case 2:Mo
41、de_2();break;</p><p> case 3:Mode_3();break;</p><p> case 4:Mode_4();break;</p><p> case 5:Mode_5();break;</p><p> default:{g=1;Mode_1();}break;</p><p>
42、;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 2.元件清單:</b></p><p> 1.φ3(紅綠各8個) 16</p><p>
43、 2. 1/4W 470Ω 16</p><p><b> 3. 排針1</b></p><p><b> 4. 排線1</b></p><p><b> 5. 電路板1</b></p><p><b> 3.電路原理圖:</
溫馨提示
- 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è)計--彩燈設(shè)計
- 單片機(jī)課程設(shè)計---節(jié)日彩燈控制
- 彩燈單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計---單片機(jī)節(jié)日彩燈控制器
- 單片機(jī)課程設(shè)計--鍵控彩燈
- 單片機(jī)節(jié)日彩燈課程設(shè)計
- 單片機(jī)課程設(shè)計:彩燈控制器設(shè)計
- 單片機(jī)課程設(shè)計彩燈實驗
- 單片機(jī)課程設(shè)計--藝術(shù)彩燈控制系統(tǒng)設(shè)計
- 單片機(jī)課程設(shè)計-- 彩燈控制器的設(shè)計
- 彩燈控制器的設(shè)計 單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計---藝術(shù)彩燈控制系統(tǒng)設(shè)計
- 單片機(jī)流水彩燈課程設(shè)計
- 單片機(jī)課程設(shè)計---簡易節(jié)日彩燈
- 單片機(jī)流水彩燈課程設(shè)計
- 單片機(jī)課程設(shè)計--節(jié)日彩燈控制器設(shè)計
- 單片機(jī)花樣彩燈課程設(shè)計報告
- 單片機(jī)課程設(shè)計---用單片機(jī)設(shè)計節(jié)日彩燈控制器
- 彩燈控制器的設(shè)計 單片機(jī)課程設(shè)計
評論
0/150
提交評論