260 likes | 508 Views
第三章 NM101 中断系统. 3.1 中断概述 3.2 中断控制寄存器 3.3 外部中断. 3. 1 中断概述. 中断源 软中断 : 指令产生的中断 硬中断 : 硬件产生的中断请求信号引发的中断 屏蔽中断、非屏蔽中断 MN101 中断源 reset 、 non-maskable interrupts(NMI) 16 maskable peripheral interrupts, and
E N D
第三章 NM101中断系统 • 3.1 中断概述 • 3.2 中断控制寄存器 • 3.3 外部中断
3.1 中断概述 中断源 软中断: 指令产生的中断 硬中断: 硬件产生的中断请求信号引发的中断 屏蔽中断、非屏蔽中断 MN101中断源 reset、non-maskable interrupts(NMI) 16 maskable peripheral interrupts, and 6 external interrupts. P55图-1 中断响应过程 12机器周期:接收中断请求到执行中断服务子程序前 11时钟周期:从执行中断服务子程序结束到返回断点
3.1 中断概述 中断系统框图 PSW 7 6 5 4 3 2 1 0 Level deter-mined 中断请求 CPU core Vector 1 IRQ NMI 7 6 5 4 3 2 1 0 WDOG NMICR PI Vector 2 IRQ LVL 2-0 Peripheral function 7 6 5 4 3 2 1 0 IRQ x ICR I/O DEC xxxLV: 中断级 xxxIE:中断允许 xxxIR:中断请求 Vector 28
3.1 中断概述 中断控制寄存器 每一个中断都有一个中断控制寄存器,包括: 1个中断级域(LV1-0) 1个中断允许标志(IE) 1个中断请求标志(IR):中断请求置位、中断响应复位 MIE=1时,每个IE有效(=1) 可屏蔽中断各有一个硬件产生的向量号 3级中断优先级,相同优选级时,向量号低者优先 LV1-0 高于PSW中 IM1-0时,可屏蔽中断请求被接受 非屏蔽中断没有中断允许标志 MN101中断基本情况 P56表4-1
3.1 中断概述 表4-1 中断功能
3.1 中断概述 中断处理过程: 请求、接收、硬件处理 硬件处理,保存PC、PSW等 中断服 务程序 最多12个机器周期 中断请求 11个机器周期 恢复PC、PSW等 RTI
3.1 中断概述 中断源和中断向量地址
3.1 中断概述 中断级和优先权 可屏蔽:分0、1、2级,同级中断向量号小优先 复位最高,非屏蔽次之,可屏蔽按规则 中断级可软件设置 • 中断接收过程 • 外部中断控制寄存器IRQnICR • 内部中断控制寄存器xxxICR 的中断请求标志xxxIR位置位 • 若中断允许标志IE=1,中断请求信号送到CPU • 中断级送CPU • 中断级低于中断屏蔽级,且MIE为1,中断接收 • 复位中断控制器相应位
3.1 中断概述 中断接收操作:P58 低地址 PSW PC8-1 PC16-9 PC0保留PC18-17 HA7-0 HA15-8 SP-6 → SP HA高位字节→(SP+5) HA低位字节→(SP+4) PC的18\17\0位→(SP+3) PC的16--9位→(SP+2) PC的8--1位→(SP+1) PSW →(SP) 中断级xxxLVn →标志寄存器的中断级域 xxxLVn →IMn 硬件转移到中断向量表中的地址,即中断服务程序 SP 原SP 高地址
3.1 中断概述 中断返回操作:P59 可屏蔽中断 中断嵌套:优先级别高的中断 中断 优先级别低的中断 中断标志设置:P59 中断请求标志IR:一般由硬件进行操作 如果用软件进行操作,MEMCTR的IRWE为1 • 设置中断标志过程: • 禁止所有可屏蔽中断 • 选择中断源 • 允许中断请求标志可写 • 改写中断请求标志 • 禁止改写中断请求标志 • 设中断级 • 设中断允许 • 开放可屏蔽中断
3.2中断控制寄存器 • 六类: • 非屏蔽 • 外部 • 定时器 • 串行 • 模数转换 • 自动传送 • 23个寄存器 • P61表4-3
3.2中断控制寄存器 非屏蔽中断 P61 PIR程序中断请求标志 0 无中断 1 有中断请求 WDIR 监视时钟中断请求标志 0 无中断 1 有中断请求
3.2中断控制寄存器 外部中断 有6个P62
3.2中断控制寄存器 定时器中断 P62
3.2中断控制寄存器 串行中断 P63
3.2中断控制寄存器 模数转换
3.2中断控制寄存器 自动传送
3.3外部中断 6个外部中断
3.3外部中断 外部中断接口框图P65、66、67
3.3外部中断 控制寄存器 P66-67 共13个
3.3外部中断 噪声滤波控制寄存器 7 6 5 4 3 2 1 0 P21IM:交流过零ACZ输入允许 NF1SCK1-0:IRQ0滤波器采样周期 NF1EN: 噪声滤波设置
3.3外部中断 双边沿中断控制寄存器 EDGDT 7 6 5 4 3 2 1 0 EDGSEL2 :IRQ2双边沿中断选择 0 1 EDGSEL3 :IRQ3双边沿中断选择 单边沿 双边沿
3.3外部中断 端口4键中断控制寄存器 P4IMD 7 6 5 4 3 2 1 0 IRQ4SEL:IRQ4 中断源选择 0—外部中断IRQ4 1—P4键中断 P4KYEN1 :P41,40 键中断选择 0-禁止 1-允许 P4KYEN2 :P43,42 键中断选择 0-禁止 1-允许 P4KYEN1 :P45,44 键中断选择 0-禁止 1-允许 P4KYEN1 :P47,46 键中断选择 0-禁止 1-允许
3.3外部中断 外部中断编程示例 例1: 用引脚P25输入信号的上升沿激活外部中断IRQ5 IRQICR 参考P62 IRQ5ICR.BIT.REDG = 1; IRQ5ICR.BIT.LV = 2; IRQ5ICR.BIT.IE = 1.
3.3.4 外部中断—噪声滤波 原理: 对外部中断引脚输入,按设定的采样周期进行采样: 如果采样的信号连续三次电平相同,采集的信号送到单片机内部; 如果连续三次相同不出现,就把前面的信号送单片机内部。 波形见P70 编程例: 信号从P20输入,在上升沿产生外部中断IRQ0,加入噪声滤波器,采样时钟设为fosc,频率为20MHz。
3.3.4 外部中断—交流过零检测 原理: 如果输入信号电平在中间值时,过零检测电路输出高电平; 如果输入信号电平不在中间值时,过零检测电路输出低电平。 波形见P71 编程例: 利用P21/ACZ进行交流过零检测,产生外部中断IRQ1请求信号。 噪声滤波控制寄存器 NFCTR