




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第4章 ATmega8的中斷系統(tǒng) 中斷的基本概念 ATmega8的中斷源 外部中斷有關I/O寄存器 外部中斷的初始化2一、中斷的基本概念主程序、中斷、中斷服務主程序初始化循環(huán)程序中斷服務程序中斷服務中斷3二、ATmega8的中斷源 ATmega8單片機有18個中斷源每個中斷源有一個對應的中斷服務程序入口地址(中斷矢量/中斷向量Interrupt Vectors)復位入口地址和所有中斷源的中斷入口地址排列成表格形式中斷矢量表(p.137表4-1)復位入口地址為0 x000,向量號為1;外部中斷0的入口地址為0 x001,向量號為2;4二、ATmega8的中斷源 ATmega8單片機有18個中斷
2、源外部中斷1的入口地址為0 x002,向量號為3;定時器T0溢出中斷入口地址為0 x009,向量號為10;5Table 4-1 Reset and Interrupt VectorsNo. Program Address Source1 0 x000 RESET20 x001 INT0 30 x002 INT140 x003 TIMER2 COMP5 0 x004 TIMER2 OVF60 x005 TIMER1 CAPT70 x006 TIMER1 COMPA80 x007 TIMER1 COMPB90 x008 TIMER1 OVF10 0 x009 TIMER0 OVF6Table 4-
3、1 Reset and Interrupt VectorsNo. Program Address Source11 0 x00A SPI, STC12 0 x00B USART, RXC13 0 x00C USART, UDRE14 0 x00D USART, TXC15 0 x00E ADC16 0 x00F EE_RDY17 0 x010 ANA_COMP18 0 x011 TWI19 0 x012 SPM_RDY7二、ATmega8的中斷源ATmega8單片機有18個中斷源每個中斷源的中斷優(yōu)先級是固定的(表中從高到低排列),INT0優(yōu)先級最高,SPM_RDY(Store Program
4、Memory Ready)優(yōu)先級最低編程時在中斷入口一般安排相對轉移指令,參見p.1388 中斷源的分類外部中斷2個: INT0, INT1定時器中斷7個:T0溢出;T1溢出、比較匹配A、比較匹配B、捕獲;T2溢出、比較匹配SPI串行傳輸結束:SPI_STCUSART中斷3個:UART_RX, UART_UDRE, UART_TXADC轉換結束: ADCEEPROM準備好:EE_RDY模擬比較器: ANA_COMPTWI狀態(tài)中斷: TWI寫FLASH準備好:SPM_RDY9三、外部中斷有關I/O寄存器1、 MCU控制寄存器MCUCR(MCU Control Register)SE: 休眠使能(
5、Sleep Enable)SM2SM0:休眠模式(Sleep Mode Select)SESM2SM1SM0ISC11ISC10ISC01ISC0010三、外部中斷有關I/O寄存器1、 MCU控制寄存器MCUCR(MCU Control Register)SESM2SM1SM0ISC11ISC10ISC01ISC00ISC11,ISC10:外部中斷1檢測控制(觸發(fā)控制)ISC (interrupt sense control)=00 低電平中斷01 上升沿和下降沿都中斷10 下降沿中斷11 上升沿中斷11三、外部中斷有關I/O寄存器1、 MCU控制寄存器MCUCR(MCU Control Re
6、gister)SESM2SM1SM0ISC11ISC10ISC01ISC00ISC01,ISC00:外部中斷0檢測控制(觸發(fā)控制)ISC (interrupt sense control)=00 低電平中斷01 上升沿和下降沿都中斷10 下降沿中斷11 上升沿中斷12三、外部中斷有關I/O寄存器2、通用中斷控制寄存器 GICR(General Interrupt Control Register)INT11:外部中斷1允許,0:禁止INT01:外部中斷0允許,0:禁止INT1INT0IVSELIVCE最低2位用于選擇中斷向量的位置,AT90S系列(Flash不分用戶區(qū)和引導區(qū))沒有這2位,且該
7、寄存器稱為通用中斷屏蔽寄存器GIMSK 13三、外部中斷有關I/O寄存器3、通用中斷標志寄存器 GIFR(General Interrupt Flag Register)INTF11:外部中斷1有中斷請求INTF01:外部中斷0有中斷請求INTF1INTF014與其它中斷有關的I/O寄存器定時器/計數(shù)器(第6章)T/C中斷標志寄存器 TIFRT/C中斷屏蔽寄存器 TIMSKUSART串行口(第7章)USART控制和狀態(tài)寄存器A UCSRAUSART控制和狀態(tài)寄存器B UCSRBSPI串行口(第7章)SPI狀態(tài)寄存器 SPSRSPI控制寄存器 SPCR15其它中斷有關I/O寄存器ADC(第8章)
8、ADC控制和狀態(tài)寄存器 ADCSR模擬比較器(第8章)模擬比較器控制和狀態(tài)寄存器 ACSRTWI串行口(第7章)TWI控制寄存器 TWCREEPROM(第2章)EEPROM控制寄存器 EECR16四、外部中斷的初始化外部中斷初始化的步驟:(1)設置中斷觸發(fā)方式MCUCR(2)清0中斷標志位GIFR(3)中斷源開中斷(4)CPU開中斷17四、外部中斷的初始化例 INT0下降沿觸發(fā)中斷的初始化程序 LDIR16, 0 x02OUTMCUCR, R16;下降沿觸發(fā) LDIR16, 0 x40OUTGIFR, R16;清中斷標志位OUTGICR, R16;INT0開中斷SEI;CPU開中斷18p.14
9、3例4-1 ATmega8主頻8MHz,利用外部中斷INT0觸發(fā)B口LED依次發(fā)光PB0PB1PB2PB3PB4PB5PB6PB7ATmega8PD2(INT0)Vcc10k19;應用程序設計.include “m8def.inc”.org 0 x000;復位入口RESET: RJMP MAIN.org 0 x001;INT0中斷入口RJMP EX_INT0.org 0 x013;跳過中斷矢量區(qū)MAIN: LDI R16, low(RAMEND)OUTSPL,R16LDIR16,high(RAMEND)OUTSPH,R1620LDIR16,0 xFF ; port B as an output
10、 portOUTDDRB, R16LDIR16,0 x00; shut-down all LEDsOUTPORTB, R16LDIR16, 0 x02 ; INT0 falling edge interruptOUTMCUCR, R16 LDI R16, 0 x40; 或 CLRR16OUTGIFR, R16; 清除中斷標志OUTGICR, R16; 允許INT0中斷CBI DDRD, 3 ;應該為CBI DDRD, 2 (可以省略)SEIHERE: RJMP HERE21;書上中斷服務程序采用查表的方法依次點亮LED;修改如下(比書上容易理解)EX_INT0: IN R1, SREG ; 保
11、存SREGLDIR16,0 xFF; LED全亮,沒有必要OUTPORTB, R16LDI R16, 0 x01LDI R25, 8LOOP: OUTPORTB, R16RCALL DELAYLSLR16DECR25BRNELOOPOUTSREG,R1RETI22;延時0.5S子程序DELAY: LDI R20, 100DEL1: LDIR19,200DEL2: LDIR18, 200DEL3: DECR18BRNEDEL3 DECR19BRNEDEL2 DECR20BRNEDEL1RET23程序要求:采用中斷方式把SRAM中 0 x100 開始的14個數(shù)據(jù)打印輸出。 PB0 PB7ATmeg
12、a8 PD0 PD2 (INT0) GNDDB0 DB7 打印機STBBUSYGND打印機接口電路 例2 打印機接口24例2采用中斷方式打印輸出.include “m8def.inc”.org 0 x000;復位入口RJMP RESET.org 0 x001;INT0中斷入口RJMP EXT_INT0.org 0 x013;跳過中斷矢量區(qū)RESET: LDI R16, low(RAMEND)OUTSPL,R16LDIR16,high(RAMEND)OUTSPH,R1625例2采用中斷方式打印輸出LDIR16,0 xFF ; port B as an output portOUTDDRB, R1
13、6LDIR16,0 x01 ; PD0 as output, PD2 as inputOUTDDRD, R16SBIPORTD, 0 ; set PD0 ; INT0 falling edge interruptLDIR16, 0 x02OUTMCUCR, R16 LDI R16, 0 x40; 或 CLRR16OUTGIFR, R16; 清除中斷標志26例2采用中斷方式打印輸出LDI XH, 0 x01LDI XL, 0 x00LDI R25, 13; output the first dataLD R24, XOUT PORTB, R24CBI PORTD, 0; clear PD0RCALL Delay_1usSBI PORTD, 0; set PD027例2采用中斷方式打印輸出; INT0 interrupt enableLDI R16, 0 x40OUT GICR, R16 SEIHERE:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國強力風扳手數(shù)據(jù)監(jiān)測研究報告
- 籃球比賽賽事官方合作伙伴權益及商務合作合同
- 二零二五年度企業(yè)社保代繳與健康管理服務合同
- 二零二五年度祛斑產品研發(fā)與質量檢測服務合同
- 2025年度高空作業(yè)安全協(xié)議書(高空橋梁油漆涂裝安全協(xié)議)
- 公對公交易合同模板(2025年度):大數(shù)據(jù)分析與應用合作協(xié)議
- 二零二五年度個人小額貸款合同規(guī)范
- 二零二五年度精密儀器委托代工保密合同
- 2025年度水電安裝工程設計與施工一體化分包合同
- 2025年度智慧城市路燈節(jié)能采購合同
- nasm cpt考試試題及答案
- 2023年吉林省吉林市統(tǒng)招專升本民法自考真題(含答案)
- 幼兒園大班教案《改錯》含反思
- 國企治理三會一層詳解
- MT 211-1990煤礦通信、檢測、控制用電工電子產品質量檢驗規(guī)則
- GB/T 8888-2014重有色金屬加工產品的包裝、標志、運輸、貯存和質量證明書
- GB/T 18400.4-2010加工中心檢驗條件第4部分:線性和回轉軸線的定位精度和重復定位精度檢驗
- GB/T 12265-2021機械安全防止人體部位擠壓的最小間距
- GB 8537-2018食品安全國家標準飲用天然礦泉水
- 主要農作物(糧食作物)課件
- 部編人教版道德與法治五年級下冊全冊課時練習講解課件
評論
0/150
提交評論