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

下載本文檔

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

文檔簡介

1、<p>  2012屆應(yīng)用電子技術(shù)專業(yè)畢業(yè)設(shè)計(jì)(論文)</p><p>  論文標(biāo)題:LED流水燈單片機(jī)的設(shè)計(jì)</p><p><b>  系(部):成人函授</b></p><p>  專業(yè)班級: 電子電工一班</p><p><b>  學(xué)生姓名: </b></p>&l

2、t;p><b>  指導(dǎo)教師: </b></p><p>  完成時間:2012年4月23日</p><p><b>  目 錄</b></p><p>  摘要……………………………………………………………………………………1</p><p>  引言………………………………………………

3、……………………………………2</p><p>  1 硬件組成……………………………………………………………………………2</p><p>  2 軟件編程……………………………………………………………………………3</p><p>  2.1 位控法……………………………………………………………………………4</p><p>  2.3

4、循環(huán)移位法………………………………………………………………………5</p><p>  2.3 查表法……………………………………………………………………………6</p><p>  3 小結(jié)…………………………………………………………………………………9</p><p>  4 參考文獻(xiàn)………………………………………………………………………… 10</p&g

5、t;<p>  5 致謝詞…………………………………………………………………………… 11</p><p>  6 獨(dú)撰聲名………………………………………………………………………… 12</p><p>  LED流水燈的單片機(jī)設(shè)計(jì)</p><p>  作者:薛麗 指導(dǎo)教師:朱秋慧 </p><p> ?。昙墝I(yè):20

6、06級應(yīng)用電子技術(shù))</p><p>  摘 要 本文介紹了交通燈及數(shù)碼管的軟硬件設(shè)計(jì)過程,重點(diǎn)給出了其軟件編程的思想方法,以期給單片機(jī)學(xué)習(xí)者以啟發(fā)。</p><p>  關(guān)鍵詞 MCS51單片機(jī)、LED流水燈</p><p>  MCU Design LED water la</p><p>  Author:xuyang Tutor:

7、 mouxiaoling</p><p>  (grade and major:Grade 2008 Applied Electronic Technology)</p><p>  Abstract This article describes the traffic lights and digital hardware and software design process, Giv

8、en its focus on software programming way of thinking in order to inspire learners to the microcontroller..</p><p>  Key words MCS51 Microcontroller、LED water lamp</p><p><b>  引言</b>&

9、lt;/p><p>  當(dāng)今時代是一個新技術(shù)層出不窮的時代,在電子領(lǐng)域尤其是自動化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動控制的核心就是單片機(jī)。目前,一個學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。學(xué)習(xí)單片機(jī)的最有效方法就是理論與實(shí)踐并重,本文筆者用AT89C51單

10、片機(jī)自制了一款簡易的流水燈,重點(diǎn)介紹了其軟件編程方法,以期給單片機(jī)初學(xué)者以啟發(fā),更快地成為單片機(jī)領(lǐng)域的優(yōu)秀人才。</p><p><b>  1硬件組成</b></p><p>  按照單片機(jī)系統(tǒng)擴(kuò)展與系統(tǒng)配置狀況,單片機(jī)應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C51單片機(jī)是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),具有豐富的內(nèi)部資

11、源:4kB閃存、128BRAM、32根I/O口線、2個16位定時/計(jì)數(shù)器、5個向量兩級中斷結(jié)構(gòu)、2個全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機(jī)時無須外擴(kuò)存儲器。因此,本流水燈實(shí)際上就是一個帶有八個發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機(jī)。其具體硬件組成如圖1所示。</p><p>  圖1 流

12、水燈硬件原理圖</p><p>  從原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來,那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖?同理,接在P1.1~P1.7口的其他7個LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~LED8依次點(diǎn)亮、熄滅,8只LED燈便會一亮一暗的做流水燈了。在此我

13、們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。</p><p><b>  2軟件編程</b></p><p>  單片機(jī)的應(yīng)用系統(tǒng)由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能看到流水燈循環(huán)點(diǎn)亮的現(xiàn)象,我們還需要告訴單片機(jī)怎么來進(jìn)行工作,即編寫程序控制

14、單片機(jī)管腳電平的高低變化,來實(shí)現(xiàn)發(fā)光二極管的一亮一滅。軟件編程是單片機(jī)應(yīng)用系統(tǒng)中的一個重要的組成部分,是單片機(jī)學(xué)習(xí)的重點(diǎn)和難點(diǎn)。下面我們以最簡單的流水燈控制功能即實(shí)現(xiàn)8個LED燈的循環(huán)點(diǎn)亮,來介紹實(shí)現(xiàn)流水燈控制的幾種軟件編程方法。</p><p><b>  2.1位控法</b></p><p>  這是一種比較笨但又最易理解的方法,采用順序程序結(jié)構(gòu),用位指令控制P1

15、口的每一個位輸出高低電平,從而來控制相應(yīng)LED燈的亮滅。程序如下:</p><p>  ORG 0000H ;單片機(jī)上電后從0000H地址執(zhí)行</p><p>  AJMP START ;跳轉(zhuǎn)到主程序存放地址處</p><p>  ORG 0030H ;設(shè)置主程序開始地址</p><p>  START:MOV SP,#60H ;設(shè)置堆棧起

16、始地址為60H</p><p>  CLR P1.0 ;P1.0輸出低電平,使LED1點(diǎn)亮</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.0 ;P1.0輸出高電平,使LED1熄滅</p><p>  CLR   P1.1 ;P1.1輸出低電平,使LED2點(diǎn)亮</p><

17、p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.1 ;P1.1輸出高電平,使LED2熄滅</p><p>  CLR   P1.2 ;P1.2輸出低電平,使LED3點(diǎn)亮</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.2 ;P1.2輸出高電平,使

18、LED3熄滅</p><p>  CLR   P1.3 ;P1.3輸出低電平,使LED4點(diǎn)亮</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.3 ;P1.3輸出高電平,使LED4熄滅</p><p>  CLR   P1.4 ;P1.4輸出低電平,使LED5點(diǎn)亮</p><

19、;p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.4 ;P1.4輸出高電平,使LED5熄滅</p><p>  CLR   P1.5 ;P1.5輸出低電平,使LED6點(diǎn)亮</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.5 ;P1.5輸出高電平,

20、使LED6熄滅</p><p>  CLR   P1.6 ;P1.6輸出低電平,使LED7點(diǎn)亮</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.6 ;P1.6輸出高電平,使LED7熄滅</p><p>  CLR   P1.7 ;P1.7輸出低電平,使LED8點(diǎn)亮</p>&l

21、t;p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  SETB  P1.7 ;P1.7輸出高電平,使LED8熄滅</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  AJMP  START ;8個LED流了一遍后返回到標(biāo)號START處再循環(huán)</p><p>  DELAY:  ;延時子程

22、序</p><p>  MOV R0,#255  ;延時一段時間</p><p>  D1: MOV R1,#255</p><p><b>  DJNZ R1,$</b></p><p>  DJNZ R0,D1</p><p>  RET ;子程序返回 </p&

23、gt;<p><b>  END ;程序結(jié)束</b></p><p><b>  2.2 循環(huán)移位法</b></p><p>  在上個程序中我們是逐個控制P1端口的每個位來實(shí)現(xiàn)的,因此程序顯得有點(diǎn)復(fù)雜,下面我們利用循環(huán)移位指令,采用循環(huán)程序結(jié)構(gòu)進(jìn)行編程。我們在程序一開始就給P1口送一個數(shù),這個數(shù)本身就讓P1.0先低,其他位為高,然

24、后延時一段時間,再讓這個數(shù)據(jù)向高位移動,然后再輸出至P1口,這樣就實(shí)現(xiàn)“流水”效果啦。由于8051系列單片機(jī)的指令中只有對累加器ACC中數(shù)據(jù)左移或右移的指令,因此實(shí)際編程中我們應(yīng)把需移動的數(shù)據(jù)先放到ACC中,讓其移動,然后將ACC移動后的數(shù)據(jù)再轉(zhuǎn)送到P1口,這樣同樣可以實(shí)現(xiàn)“流水”效果。具體編程如下所示,程序結(jié)構(gòu)確實(shí)簡單了很多。</p><p>  ORG 0000H ;單片機(jī)上電后從0000H地址執(zhí)行</

25、p><p>  AJMP START ;跳轉(zhuǎn)到主程序存放地址處</p><p>  ORG 0030H ;設(shè)置主程序開始地址</p><p>  START:MOV SP,#60H ;設(shè)置堆棧起始地址為60H</p><p>  MOV  A,#0FEH ;ACC中先裝入LED1亮的數(shù)據(jù)(二進(jìn)制的11111110)</p><

26、;p>  MOV  P1,A ;將ACC的數(shù)據(jù)送P1口</p><p>  MOV  R0,#7 ;將數(shù)據(jù)再移動7次就完成一個8位流水過程</p><p>  LOOP: RL A ;將ACC中的數(shù)據(jù)左移一位</p><p>  MOV P1,A ;把ACC移動過的數(shù)據(jù)送p1口顯示</p><p>  ACALL DELAY ;調(diào)用延

27、時子程序</p><p>  DJNZ R0,LOOP ;沒有移動夠7次繼續(xù)移動</p><p>  AJMP START ;移動完7次后跳到開始重來,以達(dá)到循環(huán)流動效果</p><p>  DELAY:  ;延時子程序</p><p>  MOV R0,#255  ;延時一段時間</p><p>  D1: MO

28、V R1,#255</p><p><b>  DJNZ R1,$</b></p><p>  DJNZ R0,D1</p><p>  RET ;子程序返回</p><p><b>  END ;程序結(jié)束</b></p><p><b>  2.3查表法</

29、b></p><p>  上面的兩個程序都是比較簡單的流水燈程序,“流水”花樣只能實(shí)現(xiàn)單一的“從左到右”流方式。運(yùn)用查表法所編寫的流水燈程序,能夠?qū)崿F(xiàn)任意方式流水,而且流水花樣無限,只要更改流水花樣數(shù)據(jù)表的流水?dāng)?shù)據(jù)就可以隨意添加或改變流水花樣,真正實(shí)現(xiàn)隨心所欲的流水燈效果。我們首先把要顯示流水花樣的數(shù)據(jù)建在一個以TAB為標(biāo)號的數(shù)據(jù)表中,然后通過查表指令“MOVC A,@A+DPTR”把數(shù)據(jù)取到累加器A中,然

30、后再送到P1口進(jìn)行顯示。具體源程序如下,TAB標(biāo)號處的數(shù)據(jù)表可以根據(jù)實(shí)現(xiàn)效果的要求任意修改。</p><p>  ORG 0000H ;單片機(jī)上電后從0000H地址執(zhí)行</p><p>  AJMP START ;跳轉(zhuǎn)到主程序存放地址處</p><p>  ORG 0030H ;設(shè)置主程序開始地址</p><p>  START:MOV S

31、P,#60H ;設(shè)置堆棧起始地址為60H</p><p>  MOV DPTR,# TAB ;流水花樣表首地址送DPTR</p><p>  LOOP: CLR A ;累加器清零</p><p>  MOVC A,@A+DPTR ;取數(shù)據(jù)表中的值</p><p>  CJNE A,#0FFH,SHOW;檢查流水結(jié)束標(biāo)志</p>

32、<p>  AJMP START ;所有花樣流完,則從頭開始重復(fù)流</p><p>  SHOW: MOV P1,A ;將數(shù)據(jù)送到P1口</p><p>  ACALL DELAY ;調(diào)用延時子程序</p><p>  INC DPTR ;取數(shù)據(jù)表指針指向下一數(shù)據(jù)</p><p>  AJMP LOOP ;繼續(xù)查表取數(shù)據(jù)<

33、/p><p>  DELAY:  ;延時子程序</p><p>  MOV R0,#255   ;延時一段時間</p><p>  D1: MOV R1,#255</p><p><b>  DJNZ R1,$</b></p><p>  DJNZ R0,D1</p><p&g

34、t;  RET ;子程序返回</p><p>  TAB:     ;下面是流水花樣數(shù)據(jù)表,用戶可據(jù)要求任意編寫</p><p>  DB 11111110B ;二進(jìn)制表示的流水花樣數(shù)據(jù),從低到高左移</p><p>  DB 11111101B</p><p>  DB 11111011B</p><p>  DB

35、11110111B</p><p>  DB 11101111B</p><p>  DB 11011111B</p><p>  DB 10111111B</p><p>  DB 01111111B</p><p>  DB 01111111B ;二進(jìn)制表示的流水花樣數(shù)據(jù),從高到低右移</p><

36、;p>  DB 10111111B</p><p>  DB 11011111B</p><p>  DB 11101111B</p><p>  DB 11110111B</p><p>  DB 11111011B</p><p>  DB 11111101B</p><p>  DB

37、 11111110B</p><p>  DB 11111101B</p><p>  DB 11111110B</p><p>  DB 0FEH,0FDH,0FBH,0F7H ;十六進(jìn)制表示的流水花樣數(shù)據(jù)</p><p>  DB 0EFH,0DFH,0BFH,7FH</p><p>  DB 7FH,0BFH,0

38、DFH,0EFH</p><p>  DB 0F7H,0FBH,0FDH,0FEH</p><p><b>  ……</b></p><p>  DB 0FFH ;流水花樣結(jié)束標(biāo)志0FFH</p><p><b>  END ;程序結(jié)束</b></p><p><b&g

39、t;  3小結(jié)</b></p><p>  當(dāng)上述程序之一編寫好以后,我們需要使用編譯軟件對其編譯,得到單片機(jī)所能識別的二進(jìn)制代碼,然后再用編程器將二進(jìn)制代碼燒寫到AT89C51單片機(jī)中,最后連接好電路通電,我們就看到LED1~LED8的“流水”效果了。本文所給程序?qū)崿F(xiàn)的功能比較簡單,旨在拋磚引玉,用戶可以自己在此基礎(chǔ)上擴(kuò)展更復(fù)雜的流水燈控制,比如鍵盤控制流水花樣、控制流水燈顯示數(shù)字或圖案等等。<

40、;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1]徐煜明,韓雁.單片機(jī)原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2005-1</p><p>  [2]萬光毅,嚴(yán)義,邢春香.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2006-4</p><p>  [3]單片機(jī)實(shí)驗(yàn)教學(xué)改進(jìn)芻議

41、0;  葉劍超 臺州學(xué)院學(xué)報 2006-6</p><p>  [4]何立民. 單片機(jī)高級教程. 第1版.北京:北京航空航天大學(xué)出版社,2001</p><p>  [5]李廣第. 單片機(jī)基礎(chǔ). 第1版.北京:北京航空航天大學(xué)出版社,1999 </p><p>  [6]肖洪兵. 跟我學(xué)用單片機(jī). 北京:北京航空航天大學(xué)出版社,2002-8 </p&

42、gt;<p><b>  致 謝 詞</b></p><p>  首次撰寫畢業(yè)論文,由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有指導(dǎo)教師的的督促指導(dǎo),想要完成這篇論文是難以想象的。在這里首先要感謝我的論文指導(dǎo)老師吳小華老師,在繁忙的工作中抽出寶貴的時間從選題到查閱資料,論文提綱的確定,中期論文的修改,后期論文格式調(diào)整等各個環(huán)節(jié)中給予的悉心指導(dǎo)。同時班上的許多同學(xué)也給

43、予了我多方面的幫助,在此一并表示感謝!</p><p><b>  獨(dú) 撰 聲 明</b></p><p>  我聲明,本論文(設(shè)計(jì))是由本人在指導(dǎo)教師的指導(dǎo)下獨(dú)立完成的,在完成論文(設(shè)計(jì))時所利用的一切資料均已在參考文獻(xiàn)中列出。</p><p><b>  姓名:孟雄志</b></p><p> 

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論