飞思卡尔27中断

上传人:yc****d 文档编号:243394601 上传时间:2024-09-22 格式:PPT 页数:22 大小:628KB
返回 下载 相关 举报
飞思卡尔27中断_第1页
第1页 / 共22页
飞思卡尔27中断_第2页
第2页 / 共22页
飞思卡尔27中断_第3页
第3页 / 共22页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第7章,S12中断系统,7.1 中断系统概述,中断概念:指某外部事件或异常发生时,CPU暂时停止执行当前的程序(保护断点),转向中断服务程序;中断处理完后返回原来的程序继续运行(恢复断点)。,中断是MCU的重要功能。,S12MCU丰富的中断源:,多个普通中断、多个特殊中断。,1,7.1.1 S12的特殊中断-复位,5种情况可以触发复位中断(不可屏蔽中断):,上电复位,(,低电压),外部,(RESET),复位,非法寻址复位,看门狗定时器溢出复位,设置,COPCTL,寄存器,(CR2:0,非零,),时钟监视失效复位,设置,PLLCTL,寄存器,(CME=1,,,SCME=1),2,上电复位和外部RESET复位中断的向量地址:,$FFFE$FFFF,3,7.1.2 S12XS的中断,不可屏蔽中断:,非法指令中断 TRAP,软件中断 SWI,外部中断 XIRQ,系统中断 SYS,伪中断,可屏蔽中断 ( I位可屏蔽中断 ),IRQ、RTI、TIME、SCI、SPI、CAN等功能部件。,CCR的X、I位 - 0=允许中断;1=屏蔽中断,复位默认1。,CCR的X位可设置一次,不能发生0到1的变化即不能关闭。,4,地址$FF10$FFF8为S12X的中断向量表。,每个向量(2个字节)指向中断服务程序的入口地址。,外部中断IRQ的向量地址: $FFF2$FFF3,中断向量表:,5,6,7,中断优先级:非I位可屏蔽, I位可屏蔽;,非I位可屏蔽中断可以中断I位可屏蔽中断,且IPL不变;,例如:,在中断中加入 SWI指令,可以中断一个I位可屏蔽中断。,伪中断 :$FF10 , 最底部。优先级 ?。,系统中断 :$FF12,8,IVBR = $FF : $FF10 TO $FFFE,IVBR = $EF :$EF10 TO $EFFE,9,7.1.3 中断优先级,不可屏蔽中断高于可屏蔽中断,可以被多级嵌套。,不可屏蔽中断的优先级,-,由硬件规定,按以下次序递减:,上电复位或外部,RESET,引脚复位;,时钟监视复位,看门狗复位,指令陷阱,TRAP,软件中断,SWI,外部中断,XIRQ,10,11,可屏蔽中断的优先级,系统复位后, 小于等于$FF12的中断向量激活状态。,默认优先级为1级,可以重新设置;,非屏蔽中断、SYS中断、伪中断不能被屏蔽;,当优先级相等时, 中断向量地址高的中断优先级高;,12,2.7.3 中断处理过程、优先级与嵌套,1.中断处理的基本流程,(1)中断请求及条件,中断源,未被屏蔽,,且,中断允许,触发器被置位。,(2)中断响应,一般在现行指令结束时检测中断请求,如中断响应条件满足就进入中断响应周期,,自动进行3件事,:,关中断,即将,CCR,的,I,位置,1,,以屏蔽其它中断干扰。,保护断点地址和标志寄存器,CCR,的内容压入到堆栈,即现场保护。,跳转到中断服务程序的入口地址,即将中断向量地址的内容载入,PC,。,13,(3)中断处理程序,完成中断后要处理的功能。中断服务程序通常放在不分页FLASH区。,(4)中断返回,中断服务的最后一条指令必须是RTI,返回时自动将堆栈中的标志寄存器内容和断点地址弹出,使程序回到中断前的地址继续运行原来的程序。,2.中断现场保护,MCU硬件自动将PC ,IY,IX,D,CCD寄存器内容依次压栈,,同时清I位。,14,4. 中断嵌套,中断向量地址: $FF00 TO $FFFF , 共16*8=128个.,中断请求配置地址寄存器INT_CFADDR:,高4为可以写入$0 TO $F , 共16个地址。,例如: $E0 对应选择了8个中断源,$FFE0 ,$FFE2 ,.$FFEE (TC7 TC0 计时器,),15,16,中断请求配置数据寄存器INT_CFDATA0 - 7,17,INT_CFADDR = $E0,INT_CFDATA7 设置TC7 优先级,.,.,.,.,INT_CFDATA0 设置TC0优先级,18,【例】用中断源IRQ产生中断显示LED跑马灯。,(在IRQ引脚和地之间加接一个按键,内部默认上。,),初始化设置外部中断控制寄存器INTCR。,IRQE:0=低电平触发,1=下降沿触发,IRQEN:0=禁止IRQ中断,1=使能,Bit7,Bit6,Bit5,Bit4,Bit3,Bit2,Bit1,Bit0,IRQE,IRQEN,0,0,0,0,0,0,7.3 中断程序设计,主程序中进行中断初始化,并执行占用时间较多的程序;,中断服务程序要求简短、高效,条件苛刻时尽量使用汇编语言,;,在整个源程序的末尾声明中断子程序的所对应的矢量地址,格式如例,;,以上所有源程序会通过,IDE,集成开发环境自动进行编译、链接、定位,形成可执行机器代码。,19,程序说明:IRQ中断触发的LED跑马灯,LED接B口, B口高4位输出低电平时点亮.,MY_EXTENDED_RAM: SECTION,FLAG EQU $2000,MyCode: SECTION ; code section,main:,Entry: LDS #_SEG_END_SSTACK,LDAA #$FF,STAA DDRB ;设置B口为输出,LDAA #$C0,STAA IRQCR ;设置外部中断IRQ使能,;下降沿触发,CLI ;开中断,LDAA #$FF,STAA PORTB ;先全熄灭,LDAA #$00,STAA FLAG ;送停止标志$00给FLAG,20,WAIT: CMPA FLAG,BEQ WAIT ;FLAG为$00等待,SEC ;C置1,LDAA #$FE,SHIFT: STAA PORTB ;亮1个灯,BSR DELAY ;延时,ROLA ;循环左移,BRCLR PTP,#$01,CANCEL ;检测P口最低位的按键,BRA SHIFT ;持续循环,CANCEL: LDAA #$00,STAA FLAG ;送停止标志$00给FLAG,BRA WAIT ;跳回等待,21,IRQ_ISR: ; 中断服务子程序,LDAA #$FF,STAA FLAG ; 送跑马标志$FF给FLAG,RTI ; 中断返回,DELAY: ; 子程序DELAY,PSHX,PSHY,LDX #200,DELAY1: LDY #200,DELAY2: NOP ;1T,NOP ;1T,DBNE Y,DELAY2 ;3T,DBNE X,DELAY1,PULY,PULX,RTS,ORG $FFF2 ;中断向量地址声明,FDB IRQ_ISR,22,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!