单片机原理及嵌入式系统应用作者王忠飞第1-5章第5章.pptx

单片机原理及嵌入式系统应用作者王忠飞第1-5章第5章.pptx

单片机原理及嵌入式系统应用作者王忠飞第1-5章第5章

教材其余课件及动画素材请查阅在线教务辅导网在线教务辅导网:/QQ:/349134187 或者直接输入下面地址:/5.1 MCS-51系列单片机的中断请求源 MCS-51系列单片机内部的中断系统包括5个中断请求源,它们是: ● INT0?——外部中断请求0,信号从INT0管脚输入,支持边沿触发或低电平触发; ● INT1——外部中断请求1,信号从INT1管脚输入,支持边沿触发或低电平触发; ● TF0?——定时/计数器0溢出中断请求标志;TF1——定时/计数器1溢出中断请求标志; ● RI或TI——片内串行口完成接收或完成发送的中断请求标志。 这5个中断源采用2级优先级管理,即高优先级和低优先级。MCS-51系列单片机在响应中断时按优先级高低顺序,同等级别(同为高优先级或同为低优先级)的中断请求源的响应顺序按INT0→TF0→INT1→TF1 →RI/TI的先后顺序。正在执行的低优先级中断可以被高优先级中断抢占并暂停,优先响应高优先级中断后再继续执行低优先级中断,同优先级别的中断只能按先后顺序逐个响应。MCS-51系列单片机内部中断系统的结构如图5-1所示。图5-1 MCS-51系列单片机中断系统结构 在图5-1中,2个外部中断请求源INT0和INT1都有两种触发方式可以选择。当ITx(x为0或1)被应用程序置位后,就选择INTx(x为0或1)为下降沿触发;否则,ITx(x为0或1)被清零后,就选择INTx(x是0或1)为低电平触发。IT0和IT1分别是特殊功能寄存器TCON(定时/计数器控制寄存器)中的两个位。TCON中的各位及其功能分别如下: ● IT0?——INT0中断的触发方式控制位。当IT0=0(复位后的缺省值)时,选择INT0为低电平触发,即在INT0管脚为低电平时,产生IE0中断请求信号;当IT0=1时,选择INT0为下降沿触发,即在INT0管脚出现下降沿时,产生IE0中断请求信号。该位可以位寻址,可以被应用程序清零或置位。如: #include io51.h … IT0 = 1; // IT0被置位,设定INT0为下降沿触发模式 IT0 = 0; // IT0被清零,设定INT0为低电平触发模式 … ● IE0?——INT0的中断申请标志。如果INT0的触发模式采用低电平触发(即IT0=“0”),则CPU的每个机器周期采样INT0脚位的电平一次,当采样时INT0管脚为低电平时,CPU内部的硬件自动将IE0置位(即IE0被置“1”),否则IE0被清零(即令IE0=“0”);如果INT0的触发模式采用下降沿触发(即IT0=“1”),则CPU的每个机器周期采样INT0脚位的电平一次,当采样前INT0管脚为高电平,而采样时为低电平(即出现下降沿)时,CPU内部的硬件自动将IE0置位(即IE0被置“1”),该位置“1”后表示INT0向CPU申请中断,当CPU执行中断服务程序(ISR,Interrupt Service Routine)时,由CPU硬件自动对IE0进行清零。 ● IT1——INT1中断的触发方式控制位。当IT1=0(复位后的缺省值)时,选择INT1为低电平触发,即在INT1管脚为低电平时,产生IE1中断请求信号;当IT1=1时,选择INT1为下降沿触发,即在INT1管脚出现下降沿时,产生IE1中断请求信号。该位可以位寻址,可以被应用程序清零或置位。如: #include io51.h … IT1 = 1; // IT1被置位,设定INT1为下降沿触发 IT1 = 0; // IT1被清零,设定INT1为低电平触发 … ● IE1——INT1的中断申请标志。如果INT1的触发模式采用低电平触发(即IT1=“0”),则CPU的每个机器周期采样INT1脚位的电平一次,当采样时INT1管脚为低电平时,CPU内部的硬件自动将IE1置位(即IE1被置“1”),否则IE1被清零(即令IE1=“0”);如果INT1的触发模式采用下降沿触发(即IT1=“1”),则CPU的每个机器周期采样INT1脚位的电平一次,当采样前INT1管脚为高电平,而采样时为低电平(即出现下降沿)时,CPU内部的硬件自动将IE1置位(即IE1被置“1”),该位置“1”后表示INT1向CPU申请中断,当CPU执行中断服务程序时,由CPU硬件自动对IE1进行清零。 ● TR0?——定时器/计数器T0(Timer/Counter 0)的启动控制位(请参考5.3节的相关内容)。 ● TF0——定时器/计数器T0的溢出中断申请标志。MCS-51单片机内部的定时器/计数器T0采用的是加计数器工作模式。当软件启动T0进入定时/计数后,定时器/计数器T0从初始值开始加1计数。当定时器/计数器T0的最高位产生溢出时,CPU内部的硬件自动将TF0置位(即TF0=“

文档评论(0)

1亿VIP精品文档

相关文档