单片机中断应用

1.无论是否按键, CPU都要按时扫描按键,
而单片机应
用系统工作时,并非经常需要键盘输入。因此,很多
2.扫描工作是不必要的,浪费了CPU的时间。
为了提高CPU的工作效率,按键S4、S3也可以采用
中断识别工作方式

1.当CPU在执行程序时,由单片机内部或
外部的原因引起的随机事件要求CPU暂
时停止正在执行的程序,而转向执行一
个用于处理该随机事件的程序,处理完
后又返回被中止的程序断点处继续执行,
这过程就称为中断。
向CPU发出中断请求的来源,
或引起中
断的原因称为中断源。
中断源可分为两
大类:
类来自单片机内部,称之为内部中断源;

2.一类来自单片机外部,称之为外部中断源。
中断源要求服务的请求称为中断请求。

进行中断优先级排队

通常,单片机中有多个中断源,
设计人员能按轻重缓急
给每个中断源的中断请求赋予一定的中断优先级。
当两个或两个以上的中断源同时请求中断时,CPU可通
过中断优先级排队电路首先响应中断优先级高的中断请
求,等到处理完优先级高的中断请求后,再来响应优先
级低的中断请求

实现中断嵌套

CPU在响应某一中断源中断请求而进行中断处理时,若
有中断优先级更高的中断源发出中断请求,CPU会暂停
正在执行的中断服务程序,转向执行中断优先级更高的
中断源的中断服务程序,等处理完这个高优先级的中断
请求后,再返回来继续执行被暂停的中断服务程序。这
个过程称为中断嵌套。

自动响应中断

中断源向CPU发出的中断请求是随机的。
CPU总是在每条指令的最后状态对中断请求信号进行检
测。
当某一中断源发出中断请求时,CPU能根据相关条件(如
中断优先级、是否允许中断)进行判断,决定是否响应这
个中断请求。
若允许响应这个中断请求,CPU在执行完相关指令后,
会自动完成断点地址压入堆栈、中断矢量地址送入程序
计数器PC、撤除本次中断请求标志,转入执行相应中断
服务程序。

实现中断返回

CPU响应某一中断源
中断请求,转入执行
相应中断服务程序,
在执行中断服务程序
最后的中断返回指令
时,会自动弹出堆栈
区中保存的断点地址,
返回到中断前的原程
序中

中断系统结构

8051单片机的中断系统主要由与中断有关的4个特殊功能寄
存器和硬件查询电路等组成。
定时器控制寄存器TCON
主要用于保存相关中断信息。
串行口控制寄存器SCON
主要用于保存相关中断信息。
中断允许寄存器IE
主要用于控制中断的开放和关闭。
中断优先级寄存器IP_主要用于设定优先级别。
硬件查询电路一主要用于判定5个中断源的自然优先级别。
8051单片机的中断源有五个,可分为三类。
➢外部中断
➢定时中断
➢串行口中断

中断系统结构

外部中断

外部中断是由外部原因(如打印机、键盘、控制开关、外
部故障)引起的,可以通过两个固定引脚来输入到单片机
内的信号,
即外部中断0(INT0)和外部中断1(INT1)。
➢INTO-
外部中断0中断请求信号输入端,P3.2的第二功能。
由定时器控制寄存器TCON中的IT0位决定中断请求信号是低
电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请
中断,并且硬件自动使IE0置1。
➢INT1-
-外部中断1中断请求信号输入端,P3.3的第二功能。
由定时器控制寄存器TCON中的IT1位决定采用电平触发方式
还是边沿触发方式。- 旦输入信号有效, 即向CPU申请中断,
并且硬件自动使IE1置1。

定时中断

定时中断是由内部定时(或计数)溢出或外部定时(或计数)
溢出引起的,即定时器0(T0)中断和定时器1(T1)中断。
➢内部定时:当定时器对单片机内部定时脉冲进行计数而发生计
数溢出时,
即表明定时时间到,由硬件自动使TF0(TF1)置1,并
申请中断。
➢外部定时:当定时器对单片机外部计数脉冲进行计数而发生计
数溢出时,
即表明计数次数到,由硬件自动使TF0(TF1)置1,并
申请中断。外部计数脉冲是通过两个固定引脚来输入到单片机
内的。
TO外部计数输入端
P3.4的第二功能。
T1外部计数输入端-
-P3.5的第二功能。

串行口中断

串行口中断是为接收或发送串行数据而设置的。
串行中断请求是在单片机芯片内部发生的。
RXD.
串行口输入端,P3.0的第二功能。
当接收完一帧数据时,硬件自动使RI置1,并申请中断。
TXD
串行口输出端,P3.1的第二功能。
当发送完一帧数据时,硬件自动使TI置1,并申请中断。

STC89C51RC/RD+系列单片机6-8个中断请求源


日出东方落于西,朝思暮想念于你。