ARM學(xué)習(xí)筆記---中斷
中斷優(yōu)先級(jí)由高到低
51單片機(jī):INT0(P3.2)、TIMER0、INT1(P3.3)、TIMER1、串口中斷(P3.0、P3.1)
52單片機(jī):TIMER2
外部中斷下降沿觸發(fā)
內(nèi)部定時(shí)器:TMOD寄存器(M1M0)
M1 M0 方式
0 0 0 13位
0 1 1 16位
1 0 2 8 auto
1 1 3 兩個(gè)8位
串口{RI->while(RI!)
TI->while(TI!)}
執(zhí)行指令時(shí)中斷來(lái)了,先執(zhí)行完這條指令再處理中斷.
單片機(jī)與外部進(jìn)行信息交換的方式:輪詢方式、中斷方式、DMA
2451 53個(gè)中斷源
程序初始地址:0x30000000
中斷向量地址:0x00000000
中斷模式:
IRQ:正常觸發(fā)中斷模式
FIQ:快速中斷模式(緊急狀況使用,優(yōu)先級(jí)高)
寄存器:
SRCPND1 首標(biāo)識(shí)寄存器,32位,對(duì)應(yīng)中斷被請(qǐng)求該位置為1,默認(rèn)值為0
INTMSK 屏蔽寄存器,32位,對(duì)應(yīng)中斷被屏蔽該位置為1,默認(rèn)為1
INTPND 尾標(biāo)識(shí)寄存器,32位,和首標(biāo)識(shí)寄存器內(nèi)容一樣
SUBSRCPND 子標(biāo)識(shí)寄存器,32位,
INTSUBMSK 子屏蔽寄存器,32位,
PRIORITY 優(yōu)先級(jí)寄存器,28位,
INTMOD 模式寄存器,32位,默認(rèn)都置位0,0代表IRQ模式,1代表FIQ
(沒有被屏蔽)->INTMODE(IRQ)->PRIORITY(10、12、28)->INTPND(10位置1)->INTOFFSET(置為10)->TIMR0 中斷服務(wù)函數(shù)(ISR)->INTPND、SRCPND、SUBSRCPN
清第10 位的中斷標(biāo)識(shí)位
1.優(yōu)先級(jí)順序默認(rèn)
2.都不屏蔽
3.IRQ模式
定時(shí)器中斷:
51單片機(jī):
時(shí)鐘周期: 1/110592M = 1.09us, 1/12M
機(jī)械周期: 12*1.09us,
2個(gè)機(jī)械周期 = 1個(gè)節(jié)拍
指令周期 = 若干機(jī)械周期(>=1)
T0、 1、 16位 TH0(高8位); 加計(jì)數(shù)->65535 溢出
2^16 - 1 = 65535
12M 機(jī)械周期 1us
65.535ms
定時(shí)50ms
TH0 = (65535-50000)/256; //高8位
TL0 = (65535-50000)%256; //低8位
2451:
PWM:占空比 高電平所占時(shí)間
寄存器:
TCFG: 預(yù)分頻寄存器,32位
TCON:定時(shí)器控制寄存器,22位
TCNTB: 計(jì)數(shù)寄存器
TCMPB: 比較寄存器
TCNTO: 觀測(cè)TCNTB
簡(jiǎn)單定時(shí)器初始化步驟:
1、配置預(yù)分頻系數(shù)(199)
2、配置分頻系數(shù)(8)
3、配置計(jì)數(shù)初始值(41250)
4、配置為自動(dòng)重載功能(TCON)
5、Update初值(TCON)
6、開啟定時(shí)器(TCON)
7、清除bit(Update初值控制位)(TCON)