单片机—外部中断与定时器 学习笔记

51单片机中断与定时器详解
本文深入解析51单片机的中断机制,包括中断源、中断标志寄存器、中断允许标志寄存器等,并详细介绍定时器的工作原理、控制寄存器及其初始化过程。此外,还提供了具体的编程示例。

外部中断的一些预备知识

在这里插入图片描述

一、中断源
在这里插入图片描述
二、中断申请标志寄存器——TCON(和定时器的那个TCON是一样的)
(每次中断都需要先申请)
在这里插入图片描述
在这里插入图片描述

1、每一个中断源都有相应的中断标志位;
2、某一个中断源申请中断,相应中断标志位置1,系统自动置1,程序可通过检查中断申请标志位0 还是1,判断有无中断产生

二、中断允许标志寄存器IE
(申请外部中断之后要开允许,不开允许外部中断是不能接受中断的)
在这里插入图片描述
在这里插入图片描述

1、EA:总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;
2、某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。(这两个就有点像是总开关和局部开关的关系)

三、中断的优先级标志寄存器IP
(当有多个中断来临的时候,设置优先级可以决定哪个中断程序先执行)
在这里插入图片描述

1、单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级);
2、同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。

例子:按照按键次序,先后依次点亮8盏灯中的一盏,要求采用中断方式编程。
在这里插入图片描述
代码展示:

ORG  0000H
     LJMP MAIN
ORG  0013H  ; 中断矢量,外部中断1—INT1—P3.3  
      LJMP INT
ORG 040H
MAIN:SETB EX1  ;  开外部中断INT1允许
      CLR  PX1 ; 外部中断INT1低优先级
      SETB IT1; INT1边沿触发
      SETB EA; 开中断总允许
      MOV A,#01H; A=准备的显示初值0000  0001B
HERE:SJMP HERE; 原地等待中断申请
INT:
    MOV P1,A  ; 输出到P1口显示
    RL A   ; 左环移一次,准备下次显示的数据
    RETI ; 中断返回
    END 

中断扩展——中断和查询结合

在这里插入图片描述
代码展示:

 ORG   0003H             ;外部中断0入口
                       AJMP	INT0	    ;转向中断服务程序入口
                                          
         INT0:   PUSH	 PSW           ;保护现场
                         PUSH	 ACC
                         JNB       P1.0,EXT0   ;中断源查询并转相应服务程序
                         JNB       P1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值