版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機(jī)課程設(shè)計報告</b></p><p> 題 目: 流水燈 </p><p> 學(xué)生姓名: </p><p> 學(xué) 號: </p><p><b> 系部名稱: </b></p>
2、;<p> 班 級:機(jī)電一體化Z11-1</p><p> 指導(dǎo)教師: </p><p><b> 目錄</b></p><p><b> 摘要3</b></p><p> 一、 課程設(shè)計題目4</p><p> 二、 設(shè)
3、計任務(wù)及要求4</p><p><b> 三、 實驗方案4</b></p><p><b> 四、 流程圖4</b></p><p><b> 五、 硬件電路6</b></p><p><b> 六、 軟件設(shè)計6</b></p>
4、;<p><b> 1 主體程序6</b></p><p> 2 鍵掃描子程序6</p><p> 3 閃爍控制程序6</p><p><b> 4 延時子程序6</b></p><p><b> 5 源程序設(shè)計7</b></p>
5、<p> 七、 功能調(diào)試12</p><p> 八、 設(shè)計總結(jié)12</p><p> 九、 參考文獻(xiàn)13</p><p> 【摘要】單片機(jī)課程設(shè)計主要是為了讓我們增進(jìn)對單片機(jī)芯片電路的感性認(rèn)識,加深對理論方面的理解。了解軟硬件的有關(guān)知識,并掌握軟件設(shè)計過程、方法及實現(xiàn),為以后設(shè)計和實現(xiàn)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。另外,通過簡單課題的設(shè)計練習(xí),使我
6、們了解必須提交的各項工程文件,達(dá)到鞏固、充實和綜合運用所學(xué)知識解決實際問題的目的。</p><p> 一、課程設(shè)計題目:流水燈</p><p> 二、設(shè)計任務(wù)及要求:</p><p><b> 任務(wù):</b></p><p> 完成對接在P1,P3口的發(fā)光二極管閃亮控制程序的設(shè)計</p><p
7、> 用程序延時方法讓P1的一個LED小燈每隔1S交替閃亮</p><p> 用程序延時方法讓P1的8個LED小燈循環(huán)(每個亮50MS)閃亮</p><p> 用程序延時方法讓P1的8個LED小燈追逐閃亮(50MS間隔變化)</p><p> 用程序延時方法讓P1、P3的16個LED小燈循環(huán)(每個亮50MS)閃亮</p><p>
8、<b> 要求:</b></p><p> 1. 根據(jù)硬件電路原理,畫出接線</p><p> 2. 設(shè)計出相應(yīng)的軟件程序</p><p><b> 三、實驗方案:</b></p><p><b> 方案:</b></p><p> 單片機(jī)采
9、用40腳的89C52標(biāo)準(zhǔn)雙列直插系列,有4個標(biāo)準(zhǔn)輸入/輸出端口共32位控制端口。本次設(shè)計采用并行口低電平(吸電流)直接驅(qū)動LED發(fā)光管發(fā)光形式,選擇了P1和P3口的16個端口進(jìn)行模擬LED小燈控制,如要多些小燈單元可再將P2口、P0口及其他空余端口用LED小燈驅(qū)動控制。因系統(tǒng)功能要求能控制燈亮的方式,在P0.0—P0.3端口接了4個按鍵小開關(guān),每個小開關(guān)可控制一種亮燈方式。在端口較緊張的情況下,LED小燈驅(qū)動也可用串入/并出移位寄存器(
10、如74HC595),單片機(jī)用并行移位方式進(jìn)行驅(qū)動。控制按鍵也可以用一個,用循環(huán)控制實現(xiàn)燈亮功能的轉(zhuǎn)換。</p><p><b> 四、流程圖:</b></p><p><b> 五、硬件電路圖:</b></p><p> 下圖為彩燈控制器的Proteus硬件仿真電路圖。單片機(jī)采用89C52系列,P1和P3口作LED發(fā)
11、光管模擬流水燈輸出控制端口,P0.0--P0.3端口接4個按鈕小開關(guān),用作閃爍方式控制開關(guān)。LED發(fā)光管設(shè)計電流約為30mA,限流電阻100,單片機(jī)使用12MHz晶振仿真調(diào)試。</p><p><b> 軟件設(shè)計:</b></p><p><b> 主體程序:</b></p><p> 通過掃描P0.0—P0.3端口
12、,判斷是否有按鍵按下,有鍵按下時在內(nèi)存單元20H低四位的對應(yīng)位置1標(biāo)志,主程序通過查詢標(biāo)志確定應(yīng)執(zhí)行的閃爍方式。當(dāng)20H.0為1時,發(fā)光管D1交替閃亮;當(dāng)20H.1為1時,發(fā)光管D1-D8循環(huán)閃亮;當(dāng)20H.2為1時,發(fā)光管間D1-D8追逐閃亮;當(dāng)20H.3為1時,發(fā)光管D1-D16循環(huán)閃亮。主程序?qū)?0H的低四位進(jìn)行位值判定后,轉(zhuǎn)入相應(yīng)的閃爍控制程序。</p><p><b> 鍵掃描子程序:<
13、;/b></p><p> 因按鍵較少,采用直接端口掃描鍵開關(guān),用軟件延時消抖確認(rèn)后對20H內(nèi)存單元相應(yīng)的位置1并把其余位清零。</p><p><b> 閃爍控制程序:</b></p><p> 閃爍控制程序用來控制P1和P3口的發(fā)光管發(fā)光變化方式。</p><p><b> 延時子程序:<
14、;/b></p><p> 延時子程序有 10ms、50ms和1s等,用作鍵掃描消抖及LED發(fā)光管閃亮延時。</p><p><b> 源程序設(shè)計:</b></p><p> ;********************************************;</p><p> ; 課程設(shè)
15、計一程序:彩燈控制器 ;</p><p> ;用四個按鍵控制16個LED小燈的工作狀態(tài),可使;</p><p> ;LED小燈實現(xiàn)交替閃亮、循環(huán)閃亮、追逐閃亮功能 ;</p><p> ; 12MHZ晶振 ;</p><p> ;********
16、************************************;</p><p> LAMPOUT0 EQU P1 小燈輸出口</p><p> LAMPOUT1 EQU P3 小燈輸出口</p><p> KEYSW0 EQU P0.0 按鍵0</p><p> KEYSW1 EQU P0.1
17、 按鍵1</p><p> KEYSW2 EQU P0.2 按鍵2</p><p> KEYSW3 EQU P0.3 按鍵3</p><p> ;************;</p><p><b> ;中斷入口程序;</b></p><p> ;********
18、****;</p><p> ORG 0000H 程序執(zhí)行開始地址</p><p> LJMP START 跳至START執(zhí)行</p><p> ************;</p><p><b> ; 初始化程序 ;</b></p><p&g
19、t; ;************;</p><p> CLEAR:MOV 20H,#00H 20H單元內(nèi)存清0(閃爍標(biāo)志清0) </p><p> RET 子程序返回</p><p> ************;</p><p> ; 主 程 序 ;</p><p&g
20、t; ;************;</p><p> START:ACALL CLEAR 調(diào)用初始化子程序</p><p> MAIN:LCALL KEYWORK 調(diào)用鍵掃描子程序</p><p> JB 00H,FUN0 20H.0位為1時執(zhí)行FUN0</p><p> JB 01H,FUN1
21、 20H.1位為1時執(zhí)行FUN1 </p><p> JB 02H,FUN2 20H.2位為1時執(zhí)行FUN2</p><p> JB 03H,FUN3 20H.3位為1時執(zhí)行FUN3</p><p> AJMP MAIN 返回主程序MAIN</p><p&
22、gt; ;************;</p><p> ; 功能程序 ;</p><p> ;************;</p><p> ;第1種閃爍功能程序</p><p> FUN0:SETB P1.1</p><p><b> SETB P1.2</b></p>
23、<p><b> SETB P1.3</b></p><p><b> SETB P1.4</b></p><p><b> SETB P1.5</b></p><p><b> SETB P1.6</b></p><p><b
24、> SETB P1.7</b></p><p><b> SETB P1.0</b></p><p> LCALL DL1S</p><p><b> CLR P1.0</b></p><p><b> SETB P1.0</b></p>
25、<p><b> AJMP MAIN</b></p><p><b> 第2種閃爍功能程序</b></p><p> FUN1: MOV A,#0FEH</p><p> FUN11:MOV LAMPOUT0,A</p><p> LCALL DL05S</p>
26、<p> JNB ACC.7,MAIN</p><p><b> RL A</b></p><p> AJMP FUN11</p><p><b> 第3種閃爍功能程序</b></p><p> FUN2:MOV A,#0FEH</p><p> FU
27、N21:MOV LAMPOUT0,A</p><p> LCALL DL05S</p><p><b> JZ MAIN</b></p><p><b> RL A</b></p><p> ANL A,LAMPOUT0</p><p> AJMP FUN21<
28、;/p><p><b> 第4種閃爍功能程序</b></p><p><b> FUN3:</b></p><p><b> SETB P1.1</b></p><p><b> SETB P1.2</b></p><p>&l
29、t;b> SETB P1.3</b></p><p><b> SETB P1.4</b></p><p><b> SETB P1.5</b></p><p><b> SETB P1.6</b></p><p><b> SETB P1
30、.7</b></p><p><b> CLR P1.0</b></p><p> LCALL DL05S</p><p><b> SETB P1.0</b></p><p><b> CLR P1.1</b></p><p>
31、LCALL DL05S</p><p><b> SETB P1.1</b></p><p><b> CLR P1.2</b></p><p> LCALL DL05S</p><p><b> SETB P1.2</b></p><p>&l
32、t;b> CLR P1.3</b></p><p> LCALL DL05S</p><p><b> SETB P1.3</b></p><p><b> CLR P1.4</b></p><p> LCALL DL05S</p><p><
33、;b> SETB P1.4</b></p><p><b> CLR P1.5</b></p><p> LCALL DL05S</p><p><b> SETB P1.5</b></p><p><b> CLR P1.6</b></p&g
34、t;<p> LCALL DL05S</p><p><b> SETB P1.6</b></p><p><b> CLR P1.7</b></p><p> LCALL DL05S</p><p><b> SETB P1.7</b></p&g
35、t;<p><b> CLR P3.0</b></p><p> LCALL DL05S</p><p><b> SETB P3.0</b></p><p><b> SETB P3.1</b></p><p> LCALL DL05S</p&g
36、t;<p><b> SETB P3.1</b></p><p><b> CLR P3.2</b></p><p> LCALL DL05S</p><p><b> SETB P3.2</b></p><p><b> CLR P3.3&l
37、t;/b></p><p> LCALL DL05S</p><p><b> SETB P3.3</b></p><p><b> CLR P3.4</b></p><p> LCALL DL05S</p><p><b> SETB P3.4&l
38、t;/b></p><p><b> CLR P3.5</b></p><p> LCALL DL05S</p><p><b> SETB P3.5</b></p><p><b> CLR P3.6</b></p><p> LCAL
39、L DL05S</p><p><b> SETB P3.6</b></p><p><b> CLR P3.7</b></p><p> LCALL DL05S</p><p><b> SETB P3.7</b></p><p><b&
40、gt; AJMP MAIN</b></p><p> ************;</p><p> ; 掃鍵程序 ;</p><p> ;************;</p><p> KEYWORK:MOV P0,#0FFH 置P0口為輸入狀態(tài)</p><p> JNB KE
41、YSW0,KEY0 讀KEYSW0口,若為0轉(zhuǎn)KEY0</p><p> JNB KEYSW1,KEY1 讀KEYSW1口,若為0轉(zhuǎn)KEY1</p><p> JNB KEYSW2,KEY2 讀KEYSW2口,若為0轉(zhuǎn)KEY2</p><p> JNB KEYSW3,KEY3 讀KEYSW3口,若為0轉(zhuǎn)KEY3</p>&
42、lt;p> RET 子程序返回</p><p> ;閃爍功能0鍵處理程序</p><p> KEY0:LCALL DL10MS 延時10毫秒消抖</p><p> JB KEYSW0,OUT0 KEYSW0為1,子程序返回(干擾)</p><p> SETB 00H
43、 20H.0位置1(執(zhí)行閃爍功能1標(biāo)志)</p><p> CLR 01H 20H.1位清0</p><p> CLR 02H 20H.2位清0</p><p> CLR 03H 20H.3位清0</p><p> OUT0:RET
44、 子程序返回</p><p> 閃爍功能1鍵處理程序</p><p> KEY1:LCALL DL10MS</p><p> JB KEYSW1,OUT1</p><p> SETB 01H 20H.1位置1(執(zhí)行閃爍功能2標(biāo)志)</p><p><
45、;b> CLR 00H</b></p><p><b> CLR 02H</b></p><p><b> CLR 03H</b></p><p><b> OUT1:RET</b></p><p> KEY2:LCALL DL10MS</p&
46、gt;<p> JB KEYSW2,OUT2</p><p> SETB 02H 20H.2位置1(執(zhí)行閃爍功能3標(biāo)志)</p><p><b> CLR 00H</b></p><p><b> CLR 01H</b></p><p><b&g
47、t; CLR 03H</b></p><p><b> OUT2:RET</b></p><p> KEY3:LCALL DL10MS</p><p> JB KEYSW3,OUT3</p><p> SETB 03H 20H.3位置1(執(zhí)行閃爍功能4標(biāo)志)</p&
48、gt;<p><b> CLR 00H</b></p><p><b> CLR 01H</b></p><p><b> CLR 02H</b></p><p><b> OUT3:RET</b></p><p> *******
49、*****;</p><p> ; 延時程序 ;</p><p> ;************;</p><p><b> 1s延時子程序</b></p><p> DL1S :MOV R7,#0A7H</p><p><b> DL01:</b></p&
50、gt;<p> MOV R6,#0ABH</p><p><b> DL0:</b></p><p> MOV R5,#10H</p><p><b> DJNZ R5,$</b></p><p> DJNZ R6,DL0</p><p> DJNZ
51、 R7,DL01</p><p><b> NOP</b></p><p><b> RET</b></p><p><b> 50ms延時子程序</b></p><p> DL05S:MOV R6,#0ADH</p><p> DL1:MOV
52、 R5,#8FH</p><p><b> DJNZ R5,$</b></p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p><b> 10毫秒延遲程序</b></p><p> DL10MS:MO
53、V R7,#01H</p><p><b> DL21:</b></p><p> MOV R6,#26H</p><p><b> DL2:</b></p><p> MOV R5,#82H</p><p><b> DJNZ R5,$</b>
54、;</p><p> DJNZ R6,DL2</p><p> DJNZ R7,DL21</p><p><b> RET</b></p><p> END 程序結(jié)束</p><p><b> 功能調(diào)試:</b></p
55、><p> 電路設(shè)計好后可先寫一段測試程序(將P1口賦值#00H),經(jīng)編譯后裝入單片機(jī)運行,看8個小燈是否都會亮。按鍵電路可觀察小開關(guān)的接地端是否為綠燈信號標(biāo)志(小方塊狀),與單片機(jī)相連的端是否為紅信號標(biāo)志(小方塊狀),當(dāng)鼠標(biāo)按下小開關(guān)時,觀察與單片機(jī)相連的端是否從紅色變?yōu)榫G色,否則需要檢查小開關(guān)的連線情況。</p><p><b> 設(shè)計總結(jié):</b></p&
56、gt;<p> 我在此次課程設(shè)計的主要任務(wù):</p><p> 1. 協(xié)助本組同學(xué)完成Proteus和Keil μVisionX IDE軟件的安裝與調(diào)試。</p><p> 2. 電路原理圖的繪制。</p><p> 協(xié)助本組同學(xué)完成軟件程序的設(shè)計。</p><p> 本次的課程設(shè)計,要感謝老師的平時教授的知識和小組同
57、學(xué)的寶貴意見,我才能順利完成本次設(shè)計。</p><p> 單片機(jī)有著實行性很強(qiáng)且成本低廉的諸多的優(yōu)勢,所以單片機(jī)有著廣泛的運用,但僅單片機(jī)是不能發(fā)揮作用的,必須配合其它的芯片和硬件才能發(fā)揮它各種各樣的強(qiáng)大的作用,在這次的設(shè)計中軟件程序的編譯是比較困難的,為此我也上網(wǎng)查看了很多的資料,單片機(jī)的課程設(shè)計的重點其實也就是程序語言的匯編,需要很多的方法才能讓LED燈能如我想要的樣子實現(xiàn)相應(yīng)的閃爍功能,所以本次的課程設(shè)計
溫馨提示
- 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è)計led流水燈設(shè)計報告
- 單片機(jī)課程設(shè)計---led流水燈
- 單片機(jī)課程設(shè)計--廣告流水燈設(shè)計
- 單片機(jī)課程設(shè)計--花樣流水燈設(shè)計
- 課程設(shè)計-- 基于單片機(jī)的雙向流水燈
- 課程設(shè)計-- 基于單片機(jī)的雙向流水燈
- 單片機(jī)課程設(shè)計--基于單片機(jī)的led流水燈系統(tǒng)設(shè)計
- 課程設(shè)計-基于單片機(jī)的led流水燈設(shè)計
- 單片機(jī)原理與應(yīng)用課程設(shè)計---流水燈的設(shè)計
- 課程設(shè)計-- 基于單片機(jī)的雙向流水燈.doc
- 單片機(jī)實驗流水燈報告
- 課程設(shè)計(論文)基于單片機(jī)的心形流水燈設(shè)計
- 基于單片機(jī)的流水燈設(shè)計
- 基于單片機(jī)at89c51控制的鍵控流水燈課程設(shè)計報告
- 凌陽單片機(jī)流水燈
- 信息與通信學(xué)院課程設(shè)計--- 基于51單片機(jī)的流水燈
評論
0/150
提交評論