單片機課程設計--外部脈沖試驗_第1頁
已閱讀1頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計(論文)</b></p><p>  課程名稱:單片機原理及其接口技術 </p><p>  題 目:外部脈沖試驗 </p><p><b>  摘 要</b></p><p>  單片機是單片微型計算機的簡稱,其特點為:它的處理器

2、、RAM、ROM和定時器/計數(shù)器和多種輸入/輸出接口都集中在一起超大規(guī)模集成芯片內,用于電路空間小、功耗低的場合。隨著其技術和體系結構上控制功能的不斷擴展,目前,單片機在國外被稱為微控制器。</p><p>  本次試驗主要采用8051單片機為核心,其包含128 字節(jié)和256 字節(jié)RAM ,32 條I/O口線,3 個16 位定時/計數(shù)器,6 輸入4 優(yōu)先級嵌套中斷結構,1個串行I/O口可用于多機通信I/O 擴展或

3、全雙工UART,以及片內振蕩器和時鐘電路。通過每一次外部中斷,外部中斷由脈沖觸發(fā)器來完成,把脈沖數(shù)記在一個單元中,并用2個數(shù)碼管顯示次數(shù)。此外由于器件采用了靜態(tài)設計可提供很寬的操作頻率范圍率可降至0,可實現(xiàn)兩個由軟件選擇的節(jié)電模式空閑模式和掉電模式空閑模式凍結CPU,但RAM定時器串口和中斷系統(tǒng)仍然工作掉電模式保存RAM的內容,但是凍結振蕩器導致所有其它的片內功能停止工作,由于設計是靜態(tài)的時鐘可停止而不會丟失用戶數(shù)據(jù),運行可從時鐘停止處

4、恢復。</p><p>  關鍵詞:走馬燈,外部中斷、C8051單片機,脈沖觸發(fā)器。</p><p><b>  目 錄</b></p><p>  1設計內容及要求………………………………………… 第1 頁</p><p>  2系統(tǒng)設計原理及方案…………………………………… 第1 頁</p>

5、<p>  3系統(tǒng)軟件硬件設計……………………………………… 第2 頁</p><p>  4系統(tǒng)功能的實現(xiàn)………………………………………… 第8 頁</p><p>  5實驗總結與心得體會…………………………………… 第9 頁</p><p>  6參考文獻………………………………………………… 第10頁</p><p>&l

6、t;b>  外部脈沖試驗</b></p><p><b>  1設計內容及要求</b></p><p><b>  1.1課題簡介</b></p><p>  本次課程設計題目是外部脈沖試驗,是以MCS-51系列單片機Intel8051為基礎充分利用8051芯片的I/O引腳來設計中斷,實現(xiàn)外部脈沖的過程。

7、外部中斷是由脈沖觸發(fā)器來完成,要求把脈沖數(shù)記在一個單元中,并用2個數(shù)碼管顯示計數(shù)。 利用手控單脈沖信號作為計數(shù)輸入脈沖,編寫控制程序。若按下計數(shù)健,則單片機控制兩位一體的數(shù)碼管顯示從 00 開始的數(shù)字,按下一次,則數(shù)字加 一,一次類推;若按下清零鍵,則程序返回程序開始處,并且在走馬燈上顯現(xiàn)出來。 </p><p><b>  1.2設計目的</b></p><

8、;p>  1.2.1 熟練運用匯編語言編程,并且掌握中斷技術。</p><p>  1.2.2 熟悉啟東硬件仿真系統(tǒng),熟練應用該系統(tǒng)調試軟件。</p><p>  1.2.3 軟件上掌握串變并顯示法顯示BCD碼。</p><p>  1.3設計目標 置計數(shù)器0為工作方式2,讓走馬燈全亮。</p><p>  2系統(tǒng)設計原理及方案&

9、lt;/p><p><b>  2.1系統(tǒng)分析</b></p><p>  2.1.1 初始化計數(shù)器,并采用累加器清0。 2.1.2 通過設置中斷,外部中斷0為脈沖觸發(fā)方式。 2.1.3 通過觀察走馬燈亮與滅的計數(shù),來達到試驗目的。</p><p>  2.2 程序框圖及說明</p><p>  設置中斷來進行計數(shù)而做成

10、的流水燈,匯編程序編寫完調試運行后,走馬燈開始全亮,走馬燈通過脈沖次數(shù)改變,使得中斷方式2下工作,通過脈沖信號進行計數(shù)。以此不停循環(huán)。設置CLR A 累加器清0在中斷中用計數(shù)器進行計數(shù)。在程序開始執(zhí)行前,中斷計數(shù)器初值為0。該設計的詳細流程如下圖1。</p><p><b>  圖1 程序框圖</b></p><p>  2.2.1基本原理 </p>&

11、lt;p>  外部中斷的初始化設置共有三項內容:中斷總允許即EA=1,外部中斷允許即EXi=1(i=0或1),中斷方式設置。中斷方式設置一般有兩種方式:電平方式和脈沖方式,本實驗選用后者,其前一次為高電平后一次為低電平時為有效中斷請求。因此高電平狀態(tài)和低電平狀態(tài)至少維持一個周期。</p><p>  中斷控制原理:中斷控制是提供給用戶使用的中斷控制手段。實際上就是控制一些寄存器,51系列用于此目的的控制寄存

12、器有四個:TCON 、IE 、SCON 及IP。 </p><p>  中斷響應的過程:首先中斷采樣然后中斷查詢最后中斷響應。采樣是中斷處理的第一步,對于本實驗的脈沖方式的中斷請求,若在兩個相鄰周期采樣先高電平后低電平則中斷請求有效,IE0或IE1置“1”;否則繼續(xù)為“0”。所謂查詢就是由CPU測試TCON和SCON中各標志位的狀態(tài)以確定有沒有中斷請求發(fā)生以及是那一個中斷請

13、求。中斷響應就是對中斷請求的接受,是在中斷查詢之后進行的,當查詢到有效的中斷請求后就響應一次中斷。 </p><p>  INT0端接單次脈沖發(fā)生器。P1.0接LED燈,以查看信號反轉。</p><p><b>  系統(tǒng)軟硬件設計</b></p><p><b>  3.1 硬件設計</b></p>

14、<p>  3.1.1計數(shù)8051電路圖</p><p>  本次課程設計采用Protues7.5設計的電路圖如圖2所示。圖中單片機采用AT89C51,由圖可見,P0.1(對應89C51的P0.1腳)腳置低電平燈亮,然后燈滅,1s延時過后燈再次變亮,如此反復循環(huán)。</p><p><b>  圖2 系統(tǒng)原理圖</b></p><p&g

15、t;  3.1.2 芯片的選擇</p><p>  硬件電路要實現(xiàn)對交流大電流電源的控制、定時時間的設定功能。若采用40腳的單片機有利于設計,但會增大電路板的體積。本設計采用ATMEL公司的AT89C2051單片機,芯片位20腳,體積小,工作電壓范圍寬(2.7V~6V)。性價比比較高。</p><p><b>  3.2硬件連線圖</b></p><

16、;p><b>  3.2.1預備知識</b></p><p><b>  引腳定義:</b></p><p>  A0——Ai:地址輸入線。</p><p>  D0——D7:并行總線8位地址。</p><p>  CS:片選信號輸入線,低電平有效。</p><p> 

17、 RXD/P3.0:UART串行輸入</p><p>  P0~P0.7:并行輸入輸出P0口</p><p>  WR:寫選通信號線,低電平有效。</p><p><b>  3.2.2實驗說明</b></p><p>  編寫簡單的匯編程序,對實驗板上提供的外部脈沖進行讀寫操作,連續(xù)運行程序,觀察走馬燈的亮與滅來顯示計

18、數(shù)。</p><p><b>  3.2.3實驗連線</b></p><p>  外部脈沖---P3.0口</p><p>  P0-P0.7:并行輸入輸出P0口</p><p>  數(shù)據(jù)線與仿真單片機的數(shù)據(jù)線相連,P0-P0.7口與單片機部分地址線相連</p><p><b>  3.

19、3 軟件設計</b></p><p>  3.3.1計數(shù)初值計算</p><p>  根據(jù)定時器/ 計數(shù)器0的工作方式2邏輯結構圖可知,工作方式2的計數(shù)范圍是1~255。</p><p>  中斷功能,就能快速解決CPU與慢速外設之間的的矛盾,CPU在啟動外設工作后,開始執(zhí)行主程序,同時外設也開始工作。每當外設需要,就能通過CPU發(fā)出申請,請求CPU中斷

20、正在執(zhí)行的主程序,去執(zhí)行中斷服務程序。</p><p>  實現(xiàn)實時處理,在實時控制中,現(xiàn)場的各個參數(shù).信息是隨時間和現(xiàn)場的情況的不斷的變化,有了中斷的功能,外設仍能繼續(xù)工作。這樣,CPU可以令多個外設同時工作,從而提高CPU的利用率。</p><p>  利用串行中斷源一個,發(fā)送或接收中斷請求TI或RI。當串行口發(fā)送或接收一個幀數(shù)據(jù)時,內部產生中斷請求。這一中斷在中斷矢量表中的00023

21、H。</p><p><b>  3.3.2流程圖</b></p><p><b>  圖3 流程圖</b></p><p><b>  3.3.3匯編程序</b></p><p><b>  軟件程序:</b></p><p> 

22、 ORG 0000H </p><p>  LJMP MAIN ;主程序</p><p>  ORG 0003H ;中斷0的入口地址</p><p>  LJMP LOOP ;跳轉到loop </p><p>  ORG 0030H </p>&

23、lt;p><b>  MAIN: </b></p><p>  MOV 30H,#0</p><p>  SETB EA ;開啟中斷</p><p>  SETB PX0 ;設外部中斷0高優(yōu)先級</p><p>  SETB EX0 ;允許外部中斷0中斷</p>

24、<p>  SETB IT0 </p><p>  SETB TR1 </p><p>  MOV 30H,#0</p><p>  MOVR2,#00H;十位</p><p>  MOVR1,#00H;個位 </p><p><b>  M

25、AIN4:</b></p><p><b>  MOV A,30H</b></p><p>  ANL A,#0FH</p><p><b>  MOV R1,A</b></p><p><b>  MOV A,30H</b></p><p>

26、;  ANL A,#0F0H</p><p><b>  SWAP A</b></p><p><b>  MOV R2,A</b></p><p><b>  MAIN1:</b></p><p>  MOV A,R1</p><p>  MO

27、VDPTR, #SGTB1</p><p>  MOVCA,@A+DPTR ;取字符</p><p>  MOVSBUF,A;發(fā)送字符</p><p>  MOVA,SBUF</p><p>  JNBTI,$ ;等待串口發(fā)送完</p><p><b&g

28、t;  CLRTI</b></p><p>  SETB IT0</p><p>  SETB PX0</p><p>  SETB EA</p><p>  SETB EX0</p><p><b>  MOVA,R2</b></p>&

29、lt;p>  MOVCA,@A+DPTR</p><p>  MOVSBUF,A</p><p><b>  JNBTI,$</b></p><p><b>  CLRTI</b></p><p>  CALLDELAY</p><p>  CALLD

30、ELAY</p><p>  CALLDELAY</p><p>  CJNER1,#0AH,MAIN4</p><p>  MOV A,30H</p><p>  ANL A,#0F0H</p><p>  ADD A, #10H</p><p>  MOV

31、 30H,A</p><p>  CJNER2,#0AH,MAIN4</p><p>  MOV A,30H</p><p>  ANL A,#0FH</p><p>  MOV 30H,A</p><p>  AJMP MAIN4</p><p>  DE

32、LAY:MOVR6,#250;延時</p><p>  DELAY1:MOVR7,#250</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,DELAY1</p><p><b>  RET</b></p><p&g

33、t;<b>  LOOP:</b></p><p>  INC 30H ;30自加1</p><p>  MOV A,30H ;30H給A</p><p>  MOV P0,A ;A給p0</p><p><b>  RETI</b></

34、p><p>  SGTB1:DB 03H ;0</p><p>  DB 9FH ;1</p><p>  DB 25H ;2</p><p>  DB 0DH ;3</p><p>  DB

35、 99H ;4</p><p>  DB 49H ;5</p><p>  DB 41H ;6</p><p>  DB 1FH ;7</p><p>  DB 01H ;8</p>

36、<p>  DB 09H ;9 </p><p><b>  END</b></p><p><b>  四、系統(tǒng)功能實現(xiàn)</b></p><p>  4.1 軟件功能調試</p><p>  軟件調試一般分為以下四個階段:</p>

37、<p><b>  編寫程序并查錯;</b></p><p>  在匯編語言的編譯系統(tǒng)中編譯源程序</p><p>  3、對程序進行編譯連接,并及時發(fā)現(xiàn)程序中存在的錯誤;</p><p><b>  4、改正錯誤。</b></p><p>  在軟件調試過程中,最初程序編譯出錯,我經

38、過認真的分析,發(fā)現(xiàn)中斷服務子程序我又跳轉到子程序,編譯后又未得到正確周期指令數(shù)值。在一遍遍重新閱讀程序后方知未我將循環(huán)弄成了死循環(huán),將ajmp loop 刪掉后,經改正終于調試成功,并很好的達到既定的設計效果。</p><p>  此系統(tǒng)還可改進實現(xiàn)電子計數(shù)器、跑馬燈等功能,這是一個比較難的挑戰(zhàn)。</p><p><b>  4.2硬件功能測試</b></p&g

39、t;<p>  此次課程設計主要利用中斷方法,運用循環(huán)調用的方法,簡單的說是000000,通過改變脈沖的次數(shù)運用計數(shù)器,按一次改變?yōu)?00001。用為每一個燈的接口端不同,不同的BCD碼控制不同的燈,用燈的亮與滅來達到計數(shù)的效果。;第二層循環(huán)通過計數(shù)器T1計數(shù)實現(xiàn);通過給T1賦初值0FFH,當它開始溢出時即達亮。計數(shù)器到則置P0.0為低電平,燈則亮,</p><p>  滅,在給脈沖后再置P0.0為

40、低電平,紅燈亮,如此循環(huán)。</p><p>  此次課程設計在實際操作過程中,由于按鍵及代碼執(zhí)行所需時間的影響,設計后的效果并不精準,還有改進的空間。</p><p>  五、實驗總結與心得體會</p><p>  單片機原理及其接口技術是我們電子信息科學與技術的專業(yè)課,因為我們之前做過單片機原理實驗課也對MF2KP軟件有了一定的了解。</p><

41、;p>  經過一學期老師的諄諄教導和自己的努力學習,對單片機原理課程也有了更深入的認識,通過這次的課程設計,我收獲了很多,對各個指令以及語句有了進一步的了解,對各個語句的功能有了更深刻的認識和體會,平時上課的理論知識只是停留在理論概念的層面,而通過了這次的課程設計才真正的體會到,也做到了理論概念和匯編實際的相結合,使理論知識真正運用到了實用中去,還能學到一些軟件的運用,結合一些其他課程,匯編語言程序軟件,通過互相結合,互相滲透,來

42、得到我所需的數(shù)據(jù)與結論。通過查閱了相關書籍才得知取時間的調用指令。也深刻理解了CPU暫?,F(xiàn)行程序的運行而轉為意外事件或特殊請求服務的過程這句中斷的概念。通過對程序不停地修改、測試,終于將程序調試成功,能夠滿足設計要求。</p><p>  我覺的通過這次課程設計,我學到了好多東西,不僅僅是書本上的知識,因為這次課程設計老師給我們分了幾個小組,每組有每組的問題,當我們這組拿到題目時還不知道如何下手,通過組員的互相探

43、討,共同研究,最終設計好流程圖,得出結果,讓我懂得什么是團隊合作,以后我們不管干什么都要持之以恒,堅持不懈,困難并不可怕,可怕的是我們面對困難是的態(tài)度, 加油,我為自己代言!</p><p><b>  六、參考文獻</b></p><p>  [1] 李建忠,單片機原理及應用.西安電子科技大學出版社,2008年</p><p>  [2]啟東

44、單片機仿真試驗系統(tǒng)使用說明書</p><p>  [3]李珍,單片機原理與應用技術.清華大學出版社,2003年</p><p>  [4]楊恢先,黃輝先著.單片機原理與應用.人民郵電出版,2009.7</p><p>  [5]朱定華,單片機原理與接口技術.電子工業(yè)出版社,2001.4 </p><p>  [6]王威,HCS12微控制器原理

溫馨提示

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

評論

0/150

提交評論