【51单片机学习记录】:外部中断

外部中断

51基本型有2个中断优先级:高优先级和低优先级。 STC89C52RC有4个中断优先级:3、2、1、0。
可以实现两级的中断嵌套,中断嵌套的基本规则有2条。 (1)低优先级的中断可被高优先级的中断打断,反之不行;
(2)一个被响应的中断,不会被同级的中断打断。

IP:中断优先级控制寄存器
作用:设置各个中断的优先级。
复位状态:IP(××00 0000B)
寻址方式:字节寻址和位寻址

IP:中断优先级控制寄存器

优先级相同时,哪一个中断请求会被CPU相应,取决于中断的自然优先级。如果各中断源的优先级相同,中断响应则按照自上向下,自然优先级由高到低,外部中断0的自然优先级最高,定时器T2的自然优先级最低,CPU会响应自然优先级高的中断。

中断优先级设置

采用C语言编程时,中断号即可表示中断查询次序,中断号越小,自然优先级越高。C语言中中断函数的格式如下。

函数类型  函数名     interrupt   n   using   m
void  EXINT0(void)  interrupt   0  //外部中断0中断函数。
void  Timer0(void)  interrupt   1  //定时器0中断函数。
void  EXINT1(void)  interrupt   2  //外部中断1中断函数。
void  Timer1(void)  interrupt   3  //定时器1中断函数。
void  Uart0(void)   interrupt   4  //串口中断函数。
void  Timer2(void)  interrupt   5  //定时器2中断函数。

1、外部中断0、外部中断1都有2种触发方式,下降沿触发和低电平触发。低电平触发时,相应引脚的低电平的持续时间至少为2个时钟周期;下降沿触发时,高电平和低电平都至少维持一个时钟周期。
2、外部中断请求的标志位是位于TCON寄存器中的IE0(TCON.1)、IE1(TCON.3)。
3、设置外部中断0~3的触发方式的标志位是位于TCON寄存器中的IT0(TCON.0)、IT1(TCON.02)。如ITx=0(x=0,1),则在(x=0,1)引脚检测到至少2个时钟周期的低电平后,相应的中断标志位IEx(x=0,1)被置“1”,向CPU申请中断;当ITx=1(x=0,1),则在(x=0,1)引脚检测到高电平至少持续1个时钟周期,随后的低电平也至少持续1个时钟周期后,相应的中断标志位IEx(x=0,1)被置“1”,向CPU申请中断。当外部中断被响应后,外部中断请求标志位IE0、IE1会被硬件自动清零。

作业要求:
利用开发板完成以下功能:外部中断0发生时,P0口所接的发光二极管自上而下循环点亮3圈;
当外部中断1发生时,发光二极管自上下两端到中间点亮3圈。
要求外部中断1可以打断外部中断0,并且外部中断1恢复后,可以从上次被打断的LED灯处开始点亮。

此实验采用的开发板中,KEY0与KEY1分别对应外部中断0与外部中断1,

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值