控制燈移動張順地_第1頁
控制燈移動張順地_第2頁
控制燈移動張順地_第3頁
控制燈移動張順地_第4頁
控制燈移動張順地_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、課程設計 說 明 書課程名稱:單片機技術設計題目:多級外部中斷控制燈移動 院(部):電子信息與電氣工程學院學生姓名:張順地 學 號: 201002030051專業班級: 通信工程2010級指導教師:范秋鳳2013年 5 月 16 日課程設計任務書設計題目多級外部中斷控制燈移動學生姓名張順地所在院部電子信息與電氣工程學院專業、年級、班通信工程2010級設計要求: 1、利用多級外部中斷控制燈的移動 2、具有電源開關及指示燈,有復位按鍵 3、單片機P1端口接8只LED燈,復位后,8只燈閃爍 4、按下外部中斷開關(外部中斷輸入信號)K1后,8只燈中的一個燈左右移動三次,之后恢復 閃爍;按下外部中斷開關

2、K2(外部中斷輸入信號)后,8只燈中的兩只左右移動四次,之后 恢復閃爍 5、注意多級中斷的優先級,例如:若K2高優先級,K1低優先級。則,當按下K1使一只燈左 右移動過程中按下K2,立即開始兩只燈移動,然后再繼續沒有完成的一只燈移動次數;若先 按下K2,在兩只燈左右移動過程中按下K1,不會影響到兩只燈的移動,直到完成規定的次數 學生應完成的工作: 1、認真理解課程設計書所要求的工作2、查找并收集相關書籍資料,并根據要求確定設計方案3、用DXP軟件畫出硬件原理圖和用PROTEUS軟件畫出硬件連接圖并仿真4、編寫相應的程序,并燒錄程序5、焊接電路板及調試,作出相應的修改 6、完成課程設計報告參考文

3、獻閱讀:1 張毅剛. 單片機原理及應用.北京:高等教育出版社,2010.52 杜尚豐. CAN總線測控技術及其應用.北京:電子工業出版社,2007.13 杜樹春.單片機C語言和匯編語言混合編程實例詳解.北京:北京航空航天大學出版社,2006.6工作計劃: 5月6日 學習課程設計的基本要求和注意事項,查找相應的資料并確定設計方案 5月7. 8 日 確定硬件設計方案并繪制其設計圖 5月9.10日 編寫相應程序并在仿真軟件上進行仿真 5月13日 領取元器件 5月14日 焊接電路板 5月15日 寫入程序并驗證 5月16日 完善設計的產品并書寫課程設計報告 5月17日 交產品和課程設計報告任務下達日期:

4、2013 年5月 6 日 任務完成日期:2013 年5月 17 日指導教師(簽名): 學生(簽名): 多級外部中斷控制燈移動摘 要:本課程設計是用單片機AT89S52、橋堆2W10、7805、晶振、發光二極管等元器件設計一個多級外部中斷控制燈移動的系統。外部電路主要包括:電源電路、復位電路、時鐘電路、二級外部中斷電路以及發光二極管顯示幾個部分。本次課程設計是用匯編語言進行程序的匯編,然后將編好的程序轉換成十六進制的程序寫入PROTEUS軟件并進行仿真,實現用兩個外部中斷控制實現八個發光二極管的閃爍和有規律的左右移動。該系統的兩個外部中斷有優先級區別,使燈在移動中不會出現混亂,并且能方便地調整燈

5、左右的移動,進行實時控制,具有廣泛的實用價值。關鍵詞:AT89S52;單片機;中斷;優先級;匯編程序目 錄1.設計背景11.1應用背景11.2依據背景12.設計方案12.1方案112.2方案212.3方案比較23. 方案實施23.1系統構成23.2硬件設計23.3軟件設計53.4 系統仿真74. 結果與結論84.1系統測試結果84.2各部分淺析95. 收獲與致謝96. 參考文獻107. 附件101.設計背景1.1應用背景由于單片機具有集成度高、處理功能強、可靠性高、系統結構簡單、價格低廉、易于使用等優點,在世界范圍內已經得到廣泛普及和應用。目前在工業控制、智能儀器儀表、家用電器、測控等領域,都

6、可以看到單片機的蹤影。在我國,單片機的開發和使用技術發展迅速。近年來,單片機成為全國各高校相關專業的重要課程。實習是學以致用的重要途徑之一。1.2依據背景中斷可提高CPU的效率,可實現實時處理,滿足實時控制要求。中斷功能可及時處理故障,提高單片機的可靠性。單片機的中斷系統能夠實時的響應片內功能部件和外圍設備發出的中斷請求并及時進入中斷服務子程序進行處理。2.設計方案2.1方案1本課程設計采用AT89S52單片機,P1口接8個發光二極管,12()、13()引腳接兩只開關作為外部中斷源,18(XTAL2)、19(XTAL1)引腳接時鐘脈沖,30(/Vpp)接高電平單片機讀取片內程序程序存儲器中的程

7、序,此為硬件設計。軟件部分采用匯編語言編程,在主程序中調用中斷程序、循環程序和延時程序的嵌套。2.2方案2該方案的硬件部分與方案1相同,軟件部分采用C語言進行編寫。2.3方案比較采用匯編語言編程占用資源少,而且執行效率高,思路清晰,但是程序較繁瑣。采用C語言編程程序較簡短一些,但是編寫比較難理解,占用資源多,中斷優先級容易設置,方案一和方案二都能夠達到實驗要求。在兩種編程語言對比后,結合自己的知識掌握情況,本設計決定采用方案一,使用匯編語言編程。3. 方案實施3.1系統構成本設計以AT89S52單片機為中心,外圍電路有電源電路、時鐘電路、復位電路、二級外部中斷電路以及發光二極管顯示電路五個部分

8、,原理圖如附件7.1。3.2硬件設計各部分電路組成如下:電源電路橋堆是整流電路中常見的器件,它實際上就是將4只整流二極管封裝在一起。橋堆有4根引腳,從它的內電路中可以看出,四只二極管構成橋式電路。7805三端穩壓器件是最常用的線性降壓型DC/DC轉換器,內含過流和過載保護電路。用橋堆2W10和7805以及電容電阻與外界變壓器相連為復位電路、二極管顯示電路、中斷電路和30引腳/Vpp提供+5伏電壓。電源電路開關控制電源,發光二極管為電源指示燈,電源電路如圖3.1所示,圖3.1電源電路復位電路復位電路的基本功能是:系統上電時提供復位信號直至系統穩定后,撤銷復位信號,在初始化程序中應安排一定的復位延

9、遲時間用來系統可靠復位。本設計采用了按鍵手動電平復位,復位電路左端引線接電源,右端引線接AT89S52的RST接口。其工作原理:VCC上電時,電容充電并且在10K電阻上出現電壓使單片機復位;幾個毫秒后,電容充滿,電阻上電流降為0,電壓也為0,使單片機進入工作狀態。工作期間,按下按鍵,電容放電。松手,電容又充電,在2K電阻上出現電壓,使得單片機復位。幾個毫秒后,單片機進入工作狀態。本實驗中,當發光二極管在有規律性閃爍時。按下開關S1,就可以恢復到8個發光二極管閃爍,復位電路如圖3.2所示,圖3.2 復位電路中斷電路AT89S52單片機的外部中斷和為低電平有效,在按下按鍵K1或K2時,外部中斷接收

10、低電平,發出中斷請求,此時發光二極管按照程序循環閃爍。K2的優先級高于K1,中斷電路如圖3.3所示,圖3.3中斷電路時鐘電路AT89S52單片機內部有一個用于構成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為芯片引腳19(XTAL1),輸入端為引腳18(XTAL2),這兩個引腳跨接石英晶體振蕩器和微調電容,構成一個穩定的自激振蕩器,為單片機提供時鐘脈沖,晶振Y1采用11.05926MHz,屬于內部時鐘電路。根據書中所述及計算確定兩個電容的值,C1、C2的值為30PF,時鐘電路如圖3.4所示,圖3.4 時鐘電路二極管顯示電路AT89S52有四個雙向8位并行I/O口,分別記作P0-P3。在

11、此設計中,P1口作為輸出口使用,外電路無需接上拉電阻。八只二極管接到AT89S52的P1端口,在外部電平的驅動下,在程序的執行下,這8只二極管按照要求發光,每個發光二極管都要串聯一個適當的限流電阻作為保護措施 ,二極管顯示電路如圖3.5所示,圖3.5顯示電路3.3軟件設計本次課程設計采用匯編語言編程,在主程序中,先把累加器賦初值0FEH,可以點亮第一個燈。初始化后要進行累加器的取反,主程序調用中斷子程序,此程序的主要部分是兩個中斷子程序和延時程序。中斷要先設置優先級,在設計中我們將K1接作為低級中斷,讓一個工作寄存器循環向右移動一位,在執行三次循環之后返回,K2接作為高級中斷,讓相鄰兩個寄存器

12、依次向右移動兩位,在執行四個循環后返回。兩個中斷子程序均要嵌套調用一個延時程序。在寫完程序之后,要使用KEIL軟件進行編譯,程序主流程圖如圖3.6、子流程圖如圖3.7所示,判斷有無按鍵按下YN開始當K1有鍵按下時調用0號中斷循環程序當K2有鍵按下時調用1號中斷循環程序8只燈閃爍設置優先級,的優先級高于初始化圖3.6 主程序流程圖中斷0賦初值循環左移1次八次到?三次到?循環右移1次八次到?NNYYYN返 回中斷1賦初值循環左移2次四次到?四次到?循環右移2次四次到?返 回NNNYYY圖3.7子程序流程圖3.4 系統仿真軟件調試主要是利用proteus仿真軟件完成電路的搭建,然后將編好的匯編語言程

13、序在keil程序轉換軟件上轉換為十六進制的程序,再將其燒制進AT89S51芯片中,最后進行仿真,將仿真時發現設計中的錯誤及時改正,同時用keil軟件對源程序進行修改,直到仿真結果與設計的一致為止,仿真圖如圖3.8所示,圖3.8系統仿真圖4. 結果與結論4.1系統測試結果變壓器一邊接入220V電源,開啟總開關,指示燈亮,此時8只燈處于閃爍狀態,按下K1,一只燈左右移三次,完成后閃爍;按下K2,兩只燈左右移四次,完成后閃爍;按下K1使一只燈左右移過程中按下K2,立即開始兩只燈左右移,完成后再繼續完成沒有完成的一只燈的移動,最后8燈恢復閃爍。反之先按K2,燈移動沒完成時按下K1則并不影響其移動,直至

14、完成規定次數。系統功能良好,按照程序設計的要求正常工作,LED燈完成顯示中斷和移動過程。該設計實現了外部中斷對燈移動的控制,在許多LED顯示中都有應用。在實際的產品中,程序和電路更加復雜,顯示功能也更加強大。若是對該系統加以修整,可以制作電子顯示屏、流水燈等,應用前景很廣泛。4.2各部分淺析硬件部分主要注重各個模塊與單片機的位置協調,盡可能少的產生交叉線,各模塊間距適中,各模塊的電路在實現功能的情況下盡量減少元器件的使用,使整個硬件系統盡量簡單,這樣看起來簡潔易懂。設計軟件時我選擇用匯編語言進行程序編寫,匯編語言占用資源少,思路清晰,執行效率高,但是也有缺點,其程序比較繁瑣,可能是我的設計水平

15、有限,在中斷子程序里如果適當改變一下使燈移動地快一點就更好了。在仿真軟件上畫仿真圖時要盡量保持與原理圖一致,這樣便于觀察和連接。在制板子的時候,由于我們用的是萬用板,因此各個模塊的謀篇布局很重要,這關乎到板子的簡潔美觀,當然作為我們用萬能板做東西的次數不多,因此設計的板子還是有點不盡如人意。在焊接時,可以將元器件的引腳作為導線的一部分,這樣就減少了跳線的使用,在板子的邊緣有一圈銅線,可以作為地線使用。注意在時鐘電路里晶振和電容要盡量貼近單片機布局,以盡量減少寄生電容,更好保證振蕩器穩定,可靠工作。5. 收獲與致謝通過此次課程設計,我更加深刻的理解了AT89S52單片機的相關知識。電源電路、中斷

16、電路、時鐘電路等的構成及其它們之間如何連接與工作。我在此次課程設計中主要負責單片機程序的編寫,在用匯編語言編寫程序時我查閱與參考了大量資料,然后畫流程圖、編程序,最后編出了并不完美的程序,并對匯編語言有了大概的了解。焊接電路時需要足夠的耐心和細心,稍有疏忽就可能導致整個電路無法正常工作,我們經過多次調試電路查找錯誤,最后終于完成了本次設計課題,我們的電路可以正常工作。這兩周的單片機課程設計實習很快要結束了,在這個過程中我深刻的認識到了自己的不足,也獲得了很多難得的經驗和知識。在本課程設計即將完成之際,我要對所有支持和幫助我的老師和同學表示衷心的感謝。我要特別感謝我的指導老師范老師,在這次課程設

17、計中,由于我們經驗的匱乏,有許多想不到的地方,如果沒有范老師的督促指導,想要完成這個設計是比較難的。當然,我還要感謝我的團隊,是我們團隊的合作才有了現在的結果,謝謝!6. 參考文獻1 張毅剛. 單片機原理及應用.北京:高等教育出版社,20102 杜尚豐.CAN總線測控技術及其應用.北京:電子工業出版社,20073 杜樹春.單片機C語言和匯編語言混合編程實例詳解.北京:北京航空航天大學出版社,20064 張毅剛. 單片機原理及應用設計.北京:高等教育出版社,20085 張毅剛. 新編MCS-51單片機應用設計.哈爾濱:哈爾濱工業大學出版社,20037. 附件7.1 原理圖如下:7.2 程序如下:

18、ORG 00HJMP MAINORG 0003HJMP TIN0ORG 0013HJMP TIN1ORG 0030HMAIN: MOV A,#0FFH MOV P1,A SETB IT0 SETB IT1 SETB EX1 SETB EX0 SETB PX1 SETB EAHERE: CPL A MOV P1,A CALL DELAY SJMP HERETIN0: PUSH ACC ;中斷0入口 PUSH PSW MOV A,#0FEH ;初始化 MOV R2,#08H MOV R4,#03HLOOP1: MOV P1,A ;單燈左移四次 RL A CALL DELAY DJNZ R2,LOOP1 MOV R2,#08H LOOP2: RR A ;單燈右移四次 MOV P1,A CALL DELAY DJNZ R2,LOOP2 MOV R2,#08H DJNZ R4,LOOP1 ;循環三次 MOV R4,#03H POP PSW POP ACC RETITIN1: PUSH A

溫馨提示

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

評論

0/150

提交評論