2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p>  題 目: 流水燈 </p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p><p><b>  系部名稱: </b></p>

2、;<p>  班 級(jí):機(jī)電一體化Z11-1</p><p>  指導(dǎo)教師: </p><p><b>  目錄</b></p><p><b>  摘要3</b></p><p>  一、 課程設(shè)計(jì)題目4</p><p>  二、 設(shè)

3、計(jì)任務(wù)及要求4</p><p><b>  三、 實(shí)驗(yàn)方案4</b></p><p><b>  四、 流程圖4</b></p><p><b>  五、 硬件電路6</b></p><p><b>  六、 軟件設(shè)計(jì)6</b></p>

4、;<p><b>  1 主體程序6</b></p><p>  2 鍵掃描子程序6</p><p>  3 閃爍控制程序6</p><p><b>  4 延時(shí)子程序6</b></p><p><b>  5 源程序設(shè)計(jì)7</b></p>

5、<p>  七、 功能調(diào)試12</p><p>  八、 設(shè)計(jì)總結(jié)12</p><p>  九、 參考文獻(xiàn)13</p><p>  【摘要】單片機(jī)課程設(shè)計(jì)主要是為了讓我們增進(jìn)對(duì)單片機(jī)芯片電路的感性認(rèn)識(shí),加深對(duì)理論方面的理解。了解軟硬件的有關(guān)知識(shí),并掌握軟件設(shè)計(jì)過程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。另外,通過簡單課題的設(shè)計(jì)練習(xí),使我

6、們了解必須提交的各項(xiàng)工程文件,達(dá)到鞏固、充實(shí)和綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問題的目的。</p><p>  一、課程設(shè)計(jì)題目:流水燈</p><p>  二、設(shè)計(jì)任務(wù)及要求:</p><p><b>  任務(wù):</b></p><p>  完成對(duì)接在P1,P3口的發(fā)光二極管閃亮控制程序的設(shè)計(jì)</p><p

7、>  用程序延時(shí)方法讓P1的一個(gè)LED小燈每隔1S交替閃亮</p><p>  用程序延時(shí)方法讓P1的8個(gè)LED小燈循環(huán)(每個(gè)亮50MS)閃亮</p><p>  用程序延時(shí)方法讓P1的8個(gè)LED小燈追逐閃亮(50MS間隔變化)</p><p>  用程序延時(shí)方法讓P1、P3的16個(gè)LED小燈循環(huán)(每個(gè)亮50MS)閃亮</p><p>

8、<b>  要求:</b></p><p>  1. 根據(jù)硬件電路原理,畫出接線</p><p>  2. 設(shè)計(jì)出相應(yīng)的軟件程序</p><p><b>  三、實(shí)驗(yàn)方案:</b></p><p><b>  方案:</b></p><p>  單片機(jī)采

9、用40腳的89C52標(biāo)準(zhǔn)雙列直插系列,有4個(gè)標(biāo)準(zhǔn)輸入/輸出端口共32位控制端口。本次設(shè)計(jì)采用并行口低電平(吸電流)直接驅(qū)動(dòng)LED發(fā)光管發(fā)光形式,選擇了P1和P3口的16個(gè)端口進(jìn)行模擬LED小燈控制,如要多些小燈單元可再將P2口、P0口及其他空余端口用LED小燈驅(qū)動(dòng)控制。因系統(tǒng)功能要求能控制燈亮的方式,在P0.0—P0.3端口接了4個(gè)按鍵小開關(guān),每個(gè)小開關(guān)可控制一種亮燈方式。在端口較緊張的情況下,LED小燈驅(qū)動(dòng)也可用串入/并出移位寄存器(

10、如74HC595),單片機(jī)用并行移位方式進(jìn)行驅(qū)動(dòng)。控制按鍵也可以用一個(gè),用循環(huán)控制實(shí)現(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個(gè)按鈕小開關(guān),用作閃爍方式控制開關(guān)。LED發(fā)光管設(shè)計(jì)電流約為30mA,限流電阻100,單片機(jī)使用12MHz晶振仿真調(diào)試。</p><p><b>  軟件設(shè)計(jì):</b></p><p><b>  主體程序:</b></p><p>  通過掃描P0.0—P0.3端口

12、,判斷是否有按鍵按下,有鍵按下時(shí)在內(nèi)存單元20H低四位的對(duì)應(yīng)位置1標(biāo)志,主程序通過查詢標(biāo)志確定應(yīng)執(zhí)行的閃爍方式。當(dāng)20H.0為1時(shí),發(fā)光管D1交替閃亮;當(dāng)20H.1為1時(shí),發(fā)光管D1-D8循環(huán)閃亮;當(dāng)20H.2為1時(shí),發(fā)光管間D1-D8追逐閃亮;當(dāng)20H.3為1時(shí),發(fā)光管D1-D16循環(huán)閃亮。主程序?qū)?0H的低四位進(jìn)行位值判定后,轉(zhuǎn)入相應(yīng)的閃爍控制程序。</p><p><b>  鍵掃描子程序:<

13、;/b></p><p>  因按鍵較少,采用直接端口掃描鍵開關(guān),用軟件延時(shí)消抖確認(rèn)后對(duì)20H內(nèi)存單元相應(yīng)的位置1并把其余位清零。</p><p><b>  閃爍控制程序:</b></p><p>  閃爍控制程序用來控制P1和P3口的發(fā)光管發(fā)光變化方式。</p><p><b>  延時(shí)子程序:<

14、;/b></p><p>  延時(shí)子程序有 10ms、50ms和1s等,用作鍵掃描消抖及LED發(fā)光管閃亮延時(shí)。</p><p><b>  源程序設(shè)計(jì):</b></p><p>  ;********************************************;</p><p>  ; 課程設(shè)

15、計(jì)一程序:彩燈控制器 ;</p><p>  ;用四個(gè)按鍵控制16個(gè)LED小燈的工作狀態(tài),可使;</p><p>  ;LED小燈實(shí)現(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時(shí)執(zhí)行FUN0</p><p>  JB 01H,FUN1

21、 20H.1位為1時(shí)執(zhí)行FUN1 </p><p>  JB 02H,FUN2 20H.2位為1時(shí)執(zhí)行FUN2</p><p>  JB 03H,FUN3 20H.3位為1時(shí)執(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 延時(shí)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>  ; 延時(shí)程序 ;</p><p>  ;************;</p><p><b>  1s延時(shí)子程序</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延時(shí)子程序</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è)計(jì)好后可先寫一段測試程序(將P1口賦值#00H),經(jīng)編譯后裝入單片機(jī)運(yùn)行,看8個(gè)小燈是否都會(huì)亮。按鍵電路可觀察小開關(guān)的接地端是否為綠燈信號(hào)標(biāo)志(小方塊狀),與單片機(jī)相連的端是否為紅信號(hào)標(biāo)志(小方塊狀),當(dāng)鼠標(biāo)按下小開關(guān)時(shí),觀察與單片機(jī)相連的端是否從紅色變?yōu)榫G色,否則需要檢查小開關(guān)的連線情況。</p><p><b>  設(shè)計(jì)總結(jié):</b></p&

56、gt;<p>  我在此次課程設(shè)計(jì)的主要任務(wù):</p><p>  1. 協(xié)助本組同學(xué)完成Proteus和Keil μVisionX IDE軟件的安裝與調(diào)試。</p><p>  2. 電路原理圖的繪制。</p><p>  協(xié)助本組同學(xué)完成軟件程序的設(shè)計(jì)。</p><p>  本次的課程設(shè)計(jì),要感謝老師的平時(shí)教授的知識(shí)和小組同

57、學(xué)的寶貴意見,我才能順利完成本次設(shè)計(jì)。</p><p>  單片機(jī)有著實(shí)行性很強(qiáng)且成本低廉的諸多的優(yōu)勢,所以單片機(jī)有著廣泛的運(yùn)用,但僅單片機(jī)是不能發(fā)揮作用的,必須配合其它的芯片和硬件才能發(fā)揮它各種各樣的強(qiáng)大的作用,在這次的設(shè)計(jì)中軟件程序的編譯是比較困難的,為此我也上網(wǎng)查看了很多的資料,單片機(jī)的課程設(shè)計(jì)的重點(diǎn)其實(shí)也就是程序語言的匯編,需要很多的方法才能讓LED燈能如我想要的樣子實(shí)現(xiàn)相應(yīng)的閃爍功能,所以本次的課程設(shè)計(jì)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論