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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  單片機課程設計報告</b></p><p>  用單片機設計節日彩燈控制器</p><p><b>  設計任務與要求 </b></p><p>  本實驗中采用匯編語言和89C51單片機實現幾日彩燈控制器,在Keil uVision軟件環境中編輯和調試節日彩燈程序,并在Proteus軟件環境

2、下仿真節日彩燈的硬件電路??删幊坦澣詹薀粝到y采用8個LED燈來模擬彩燈的顯示,設計要求8個LED燈能以多種不同的方式變換的亮滅,以達到節日彩燈的效果。</p><p>  本實驗中彩燈具體的變換方式采用以下四種方式:</p><p>  方式一:啟動彩燈運行,按下與89C51單片機P1.2相連接的按鈕,則彩燈按照由上而下的順序依次點亮。</p><p>  方式二:

3、停止彩燈運行,按下與89C51單片機P1.3相連接的按鈕,則彩燈全部熄滅。</p><p>  方式三:向下依次點亮彩燈,按下與89C51單片機P1.4相連接的按鈕,則彩燈按照由上向下的順序依次點亮。</p><p>  方式四:向上依次點亮彩燈,按下與89C51單片機P1.5相連接的按鈕,則彩燈按照由下向上的順序依次點亮。</p><p><b>  二

4、、設計方案</b></p><p>  以80C51單片機為控制核心,采用模塊化的設計方案,運用LED彩燈、按鍵等組成電路,實現彩燈在開啟時滿足不一樣的閃亮方法。按鍵可以在彩燈使用的時候選擇不同的亮法,使彩燈流動的方向改變,鍵一可以使彩燈由上而下開始流動,鍵二可以使彩燈停止,三號鍵可以使彩燈由上而下流動,四鍵則可以使彩燈由下而上流動。通過按鍵能方便使用者選擇節日彩燈的開啟、流動方向和停止。系統框圖如下

5、:</p><p>  三、單片機設計節日彩燈控制器的硬件電路設計</p><p>  單片機設計過程中用到的管腳說明:</p><p>  VCC(40):供電電壓。</p><p>  GND(20):接地。</p><p>  P1端口(P1.0-P1.7):P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口

6、緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p>  P2端口(P2.0-P2.7):P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入

7、時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p>  P3端口(P3.0-P3.7):P3口管腳是一個帶有內部上拉電阻的8位

8、的雙向I/O端口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入端時,由于外部下拉為低電平,P3口將輸出電流(ILL)。P3口也可作為AT89C51的一些特殊功能口,其中P3.3可作為外部中斷1輸入。</p><p>  XTAL1(19):反向振蕩放大器的輸入及內部時鐘工作電路的輸入。</p><p>  XTAL2(18):來自反向振蕩器

9、的輸出。</p><p>  EA(31):外部程序存儲器訪問允許控制端。</p><p>  打開PROTEUS的ISIS編輯環境,從PROTEUS中選取該電路所需要的元器件,放置元器件、放置電源和地、連線得到下圖所示的電路原理圖,再點菜單欄工具下拉的電氣規則檢查,當規則檢查出現:“NETLIST GENERATED OK NO ERC ERRORD FOUND”,表示通過檢查。電路設計

10、完成。</p><p>  PROTEUS硬件電路原理圖</p><p>  四、單片機設計節日彩燈控制器的軟件設計</p><p>  單片機設計節日彩燈控制器的軟件設計流程圖如下:</p><p>  在Keil uVision軟件環境下編寫單片機設計節日彩燈控制器的軟件,最終編寫成功的程序如下所示:</p><p&g

11、t;  ORG 0000H ;程序入口地址</p><p>  LJMP MAIN ;跳轉到主程序</p><p>  ORG 0013H ;中斷入口地址</p><p>  LJMP INT1X ;跳轉到中斷程序</p><p>  ORG 0100H ;主程序入口地址</p><p

12、>  MAIN:SETB IT1 ;設置外部中斷1為跳沿觸發方式</p><p>  SETB EX1 ;允許外部中斷1</p><p>  SETB EA ;開啟中斷總開關</p><p>  CLR F0 ;清標志位F0</p><p>  MOV A,#0FFH ;為A賦初值</p><p> 

13、 S0:MOV P2,A ;設置P2為0FFH</p><p>  JB F0,S1 ;若F0為1則跳轉S1</p><p>  RR A ;右移A值</p><p>  SJMP S2 ;跳轉S2</p><p>  S1:RL A ;左移A值;</p><p

14、>  S2:LCALL DELA ;調用延時</p><p><b>  SJMP S0</b></p><p>  INT1X:JNB P1.2,LOOP1 ;P1.2端口為0則跳轉LOOP1</p><p>  JNB P1.3,LOOP2</p><p>  JNB P1.4,LOOP1</p

15、><p>  JNB P1.5,LOOP3</p><p>  LOOP1:MOV A,#0FEH ;對A進行賦值</p><p>  SETB F0 ;對標志位置1</p><p>  AJMP INT ; 跳轉至INT</p><p>  LOOP2:MOV A,#0FFH<

16、/p><p><b>  AJMP INT</b></p><p>  LOOP3:MOV A,#7FH</p><p><b>  CLR F0</b></p><p><b>  AJMP INT</b></p><p>  INT:RETI

17、 ;中斷返回</p><p>  DELA:MOV R1,#100 ;延時子程序</p><p>  MOV R3,#50</p><p>  DELA1:MOV R2,#10</p><p>  DELA2: NOP</p><p>  DJNZ R2,DELA2</p><p

18、>  DJNZ R1,DELA1</p><p>  DJNZ R3,DELA1</p><p>  RET ;子程序返回</p><p>  END ;結束</p><p>  五、在PROTEUS中的硬件電路中進行仿真</p><p>  把程序裝入單片機后,通過按不同的按

19、鍵實現彩燈運行的不同方式,檢驗實驗結果是否與要求相符合。若與要求不符,則檢驗電路和程序是否正確,直至實驗結果與要求相符合。</p><p>  六、實驗程序與實驗電路的總體敘述</p><p>  硬件電路中LED燈是共陽極的,在程序運行時,按下與P1.2相連的按鍵,程序進入中斷,并檢測到P1.2為低電平0,此時進入LOOP1,對A賦值FEH和置標志位F0為1,然后返回S0,對P2端口賦值

20、(賦值為FEH,轉換為二進制數為11111110),及此時在電路上為P2.7為低電平0,只有最上面的LED燈亮,程序跳至S1,左移A值,及A變為11111101,調用延時子程序,然后返回S0,此時重復以上過程,使得第二個LED燈亮,依次執行則LED等依次點亮,直到改變按下的按鍵。</p><p>  七、單片機課程設計的體悟</p><p>  本設計本身比較簡單,整個課程設計的過程中每一

21、步都是自己親自做的,在經過遇到問題,思索問題到解決問題的過程中,收獲是最多的。以往沒有注意到的問題,都在這一次的課程設計中得以體現,這培養了我的細心,耐心和專心。</p><p>  經過幾天的努力,終于完成了本學期的單片機課程設計,過程雖是辛苦的,但從中我們卻學到了很多東西。首先鞏固了課上學習的理論知識,對于計算機匯編語言的系統化整體化有了更深的認識。在編寫程序的過程中遇到了很多困難經過我反復修改不斷修正最終才

溫馨提示

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

評論

0/150

提交評論