單片機試驗-中斷系統試驗_第1頁
單片機試驗-中斷系統試驗_第2頁
單片機試驗-中斷系統試驗_第3頁
單片機試驗-中斷系統試驗_第4頁
單片機試驗-中斷系統試驗_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、實驗四動態數碼管顯示外部中斷計數、實驗目的1 .熟悉 keil 仿真軟件、proteus 仿真軟件的使用和單片機外部中斷的使用。2 .了解并熟悉 51 單片機中中斷的概念,中斷處理系統的工作原理。3 .理解 51 單片機中斷管理系統處理五種中斷源,特別是對外部中斷的設置與控制方法。4 .熟悉中斷處理特別是外部中斷處理的過程,掌握中斷處理子程序的書寫格式和使用方法。二、實驗器材C51 單片機開發板(含動態數碼管)1 塊8PIN 排線 2 根數據線 1 根三、實驗原理1 .實驗仿真原理圖如下所示:2 .實驗的源程序:#includeunsignedchari;unsignedcharcodetab

2、尸0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f;yanshi(void)interrupt2/中斷處理函數 2 表示對應的中斷源為外部中斷 1LrtFTWIFTWI 口FCJWO2FCJWO2bfUJbfUJROWWtROWWt彳:T手工南ALEALE舊詢:3 3FS.WEFS.WE,口PJVTLDPJVTLDPT7iPT7i|Mr|MrJpj3ipj3i H Hn.injn.injMEMEtoisritoisriVIG1 11nzT1nzTHi!Hi!r rIF二Ih大I I -o*-7ZT-7ZT /按鍵按下時發出中斷請求,引起

3、外部中斷i+;if(i=9)i=0;)voidmain()IT1=1;/IT1=1,選擇下降沿觸發i=0;EA=1;/EA=1,CPLFF 中斷EX1=1;/EX1=1,允許 INT1 中斷while(1)P0=tabi;從 0 顯示到 8)3 .中斷控制的有關寄存器(1)中斷的允許和禁止一一中斷控制寄存器 IEEA 中斷總控開關,是 CPU 是否響應中斷的前提。EA=1,CPU 開中斷;EA=0,CPU 關中斷。ES:串行口中斷允許位,ES=1,允許串彳 T 口發送/接收中斷;ES=0,禁止串行口中斷。ET1:定時器 T1 中斷允許位,ET1=1,允許 T1 計數溢出中斷;ET1=0,禁止

4、T1 中斷。ET0:定日寸器 T0 中斷允許位,ET0=1,允許 T1 計數溢出中斷;ET0=0,禁止 T0 中斷。EX1:外部中斷 INT1 允許位,EX1=1,允許 INT1 中斷;EX1=0,禁止 INT1 中斷。EX0:外部中斷 INT0 允許位,EX0=1,允許 INT0 中斷;EX0=0,禁止 INT0 中斷。(2)中斷請求標志及外部中斷方式選擇寄存器 TCONTF1TR1TF0TR0IE1IT1IE0IT0T1請求有/無T1工作啟/停T0請求有/無T0工作啟/停INT1請求有/無INT1方式下沿/低電平INT0 請求有/無INT0方式下沿/低電平說明:1.IT0 和 IT1 為外

5、中斷 INT0 和 INT1 中斷觸發方式選擇,若選下降沿觸發則相應位置 1;若選低電平觸發,IT 相應位置 0。2.某中斷源有中斷請求,該中斷標志置 1,無中斷請求,該中斷標志置 03.TR0 和 TR1 為定時器 T0 和 T1 工作啟動和停止控制。4 .數碼管:按發光二極管數碼管是一種半導體發光器件,其基本單元是發光二極管。數碼管的分類:數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為 1 位、2 位、4 位等等數碼管;按發光二極管單元連接方式分為共陰極數碼管和共陽極數碼管。共陽數碼管是指將所有發光二極管的

6、陽極接到一起形成公共陽極(COM)的數碼管,共陽數碼管在應用時應將公共極 COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM 的數碼管,共陰數碼管在應用時應將公共極 CO 唳到地線 GNDk,當某一字段發光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不鳧。共陰極數碼管和共陽極數碼管如下圖所示:5 .INT1中斷計數用 AT89C51 及電阻、電容、晶振、1 位動態數碼管、排阻、按鈕等實現中斷計數。INT1 中斷計數,每次按下計數鍵時

7、觸發 INT1 中斷,中斷程序累加計數,計數值顯示在動態數碼管上。用單片機的 P0.0-P0.7 端口接動態數碼管的端口,P3.3 作為外部中斷輸入端口。每次按下計數鍵時觸發 INT1 中斷,中斷程序累加計數,計數值顯示在動態數碼管上。四、實驗操作步驟1.接線方法如下圖所示將 P0 與 J12、P3 與 JP5 分別用 8PIN 排線連接,用數據線將單片機開發板與筆記本連接好。+5VgfGNDabedGNDcdp(a)j(b)P3:輸入輸出端口(即 I/O)J12:用來控制共陽極動態數碼管JP5:用來控制 8 位獨立按鍵P3.3 做為外部中斷輸入,每按一下 P3.3 所連接的獨立按鍵 K4,動

8、態數碼管就累計加 1 一次。2 .工程建立先建立一個該工程的文件夾,保存到要存放的路徑,如放在 D:keil。打開 Keil 軟件,先新建一個工程文件,點擊“Project-NewProject 菜單。會彈出工程創建對話框。選擇工程文件要存放的路徑選擇將工程安裝在我們創建的 D:keil 工程文件夾下面,并給該工程命名輸入工程文件名,如 zhongduan 最后單擊保存。在彈出的對話框中選擇 CPU 廠商及型號,選擇好 Atmel 公司的 AT89C51 后,單擊確定。在接著出現的對 t 框中選擇“OK。新建一個 C51 文件,單擊左上角的 NewFile,保存新建的文件,單擊 SAVE在出現

9、的對話框中輸入保存文件名(注意后綴名必須為.C 如 zhongduan.c),再單擊“保存”。P0:輸入輸出端口(即 I/O)電源POWER再單擊左鍵選擇 AddFilestoGroupSourceGroup1。選擇要加入的文件,找到你所保存的.C 文件后(后綴名為.C 的文件),單擊 Add,然后單擊 CloseBuildtargetTarget1asB-iriilingSTARTUP,A51.*.compilingzhenqfduarL.c,*linkmg.ProgramSize:data=10.0Kdata=0code-65creatinghexfilefromzhongcluan-.E

10、hongduan-QE:0Warningfs.至此已經生成了單片機芯片可利用的 zhongduan.hex 文件,如下圖所示:,ETARTUPA51ETARTUPA512000/5/714:272000/5/714:27ASiASi文博文博7KB7KB一 S S- -ARTUP1STARTUP1ST2013/3/2315:20IS貨貨件件14KB14KB_ _STARTUPSBJSTARTUPSBJ2013/3/231520o 助文件助文件1KB1KBzhongdun201i/3/2315:20文件文件2KB2KB_ _.zhcngduan.zhcngduan2013/3/2315:16c_f

11、ilec_file1KB1KB_ _zhongddan.htxzhongddan.htx20n/i/2iIT。HEX 文件文件1KB1KBzhongduen.lnpzhongduen.lnp2913/3/2315:20LNP 文件文件1KB1KB.,rhongdun.LST201V3/2315:201ST 交樓交樓2KB2KBzhongdurirMSl2013/3/2315:20M51 文件文件5KB5KBzhcngduan,OBJzhcngduan,OBJ2013/3/2315:20QBJ 文件文件2KB2KB3、Proteus仿真(1)在元件模式時,從元件庫里找出本次實驗需要用到的元器件,

12、其元件名稱和英文簡寫對應如下:51 芯片 AT89C51數碼管 7SEG-COM-CATHODE按鈕 BUTTON晶振 CRYSTAL電阻 RES排阻 RESPACK-8(2)在終端模式時,從元件庫里找出本次實驗需要用到的元器件,其元件名稱和英文簡寫對應如下:地 GROUND保存好后把此文件加入到工程中方法如下:用鼠標在SourceGroupl 上單擊右鍵,然后在編輯框里輸入代碼,然后編譯鏈接,程序編譯成功如下圖所示:(3)在 Proteus 仿真圖中雙擊 89C51 芯片,在出現的對話框中的 programFile 一欄中選擇生成的.hex 文件并確定,再運行之,觀察現象如下圖所示:每次按下

13、圖中紅框按鈕時觸發 INT1 中斷,中斷程序累加計數,計數值顯示在數碼管上:叱uv-jFZjGruv-jFZjGrfOSfOSfWXFLTJMTlLdlM=!lLdlM=!除加k_M|jk_M|jF3中1 11 1K.S建町3 3始H7H7甲滸P-JMTiTtmmmm七hihi”,亞,n,nn n蟲眨FL1PJ1FL1PJ1KTTKTT4.燒錄程序先打開燒錄軟件,再打開單片機電源,點擊燒錄軟件窗口中的打開文件,選中已在 Keil 軟件下生成的 hex 文件,然后點擊下載程序,若軟件上顯示“數據下載成功,程序下載完畢”字樣,則表示燒錄成功。田PZ-ISPV148PZ-ISPV148t twww.

14、PRECHIN.comwww.PRECHIN.com5 .觀察結果:程序下載成功后,點擊數次 P3.3 所連接的獨立按鍵 K4,并觀察單片機開發板上靜態數碼管的變化。若數碼管每次加 1,則表示實驗成功。否則,實驗失敗,檢查實室iosios堂主怪機率恃-E4E4茸握戶并官需曠STST喟F F扈n=n=芯芯片類型片類型IsjcaacsxxiJIsjcaacsxxiJ;涉;涉串口號 COMCOM4 4(Proli.fieUSR-toYuifL(Proli.fieUSR-toYuifL 仃附ForFor豉特軍豉特軍110110,0 0高速下載低諫下載高速下載低諫下載文件名文件名U:KeilxiMtsh

15、iXsiaiiEhi.h馨的功能打開役音管理罌打開役音管理罌 1 調濘調濘. .耿手耿手 I下下載程序載程序串口串口檢酬檢酬II- -中技中技術市壇術市壇打井文件打井文件Cdl4Sizci:BGByte就,201303-21201303-211&23;311&23;31 星用四弋前點備串口號:弋前點備串口號:COM4COM4在在r r驗過程并分析失敗的原因。實驗成功后,記錄實驗結果并分析產生的原因。五、實驗小結通過實驗熟悉 keil 仿真軟件、proteus 仿真軟件的使用和單片機外部中斷的使用。了解并熟悉 51 單片機中中斷的概念,中斷處理系統的工作原理。理解 51 單片機中

16、斷管理系統處理五種中斷源,特別是對外部中斷的設置與控制方法。熟悉中斷處理特別是外部中斷處理的過程和中斷處理子程序的書寫格式和使用方法。中斷處理過程分為四個階段:中斷請求,中斷響應,中斷處理、中斷返回。使用 MCS51 的中斷,要為使用到的中斷源編寫中斷服務程序。C51 為中斷服務程序的編寫提供了方便的方法。C51 的中斷服務程序是一種特殊的函數,它的說明形式為:void 函數名(void)interruptnusingm(函數體語句這里,interrupt 和 using 是為編寫 C51 中斷服務程序而引入的關鍵字,interrupt 表示該函數是一個中斷服務函數,interrupt 后的整數 n 表示該中斷服務函數是對應哪一個中斷源。每次按下計數鍵 K4 時能夠觸發 INT1 中斷,P3.3 口(即 INT1 口)由高電平變為低電平,此時在單片機的內部會產生一個中斷計數,并使 P0 口的電平發生變化,通過排線

溫馨提示

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

評論

0/150

提交評論