编程语言应用

首页 » 常识 » 预防 » STC8A8K64S4A12开发板
TUhjnbcbe - 2023/12/22 20:46:00
克白灵苏孜阿甫片价格大概是多少 https://m.39.net/pf/a_4624713.html

文章目录

前言

一、关于中断的一些概念

二、STC8A8K64S4A12系列的中断请求源

三、关于中断的一些概念STC8A8K64S4A12系列的中断结构图

四、STC8A8K64S4A12系列的中断优先级

总结

前言

今天来说说单机中断原理,概念搞清楚很重要!

一、关于中断的一些概念

中断的概念:当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称之为中断。

中断系统:实现中断功能的部件称为中断系统,中断系统是为CPU具有对外界紧急事件的实时处理能力而设置的。

中断请求源:请示CPU中断的请求源即为中断请求源,简称中断源。

中断优先级:中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,那就诞生一个优先处理哪个中断源的问题,这样中断优先级便产生了。

中断嵌套:CPU按照中断源的中断优先级处理一个低优先级中断的时候,假如有另外一个更高优先级的中断源发出中断请求,那CPU需要暂停原来中断源的服务程序,转而去处理更高优先级的中断源,待处理结束后,再回到原低优先级的中断服务程序,这个过程就是中断嵌套。

二、STC8A8K64S4A12系列的中断请求源

■STC8A8K64S4A12系列单片机有22个中断请求源。具体如下:

5个外部中断:外部中断0/INT0、外部中断1/INT1、外部中断2/INT2、外部中断3/INT3、外部中断4/INT4。

5个定时器中断:定时器0中断、定时器1中断、定时器2中断、定时器3中断、定时器4中断。

4个串口中断:串口1中断、串口2中断、串口3中断、串口4中断。

1个A/D转换中断。

1个低压检测(LVD)中断。

1个CCP/PWM/PCA中断。

1个SPI中断。

1个比较器中断。

1个PWM中断。

1个PWM异常检测中断。

1个I2C中断。

■比较常用的中断是:外部引脚中断、定时器中断、串行口(UART)中断。■在讲到每一部分知识时,我们都会详细讲解相关的中断使用原理。■下图是STC8A8K64S4A12系列的中断结构图,大家需要了解的是:

所有中断使能的话都必须有个“总闸”控制,那就是总中断允许位EA。

有多个中断一起触发时,如何仲裁以保证有序的先后执行顺序,那就存在中断优先级的问题。

关于中断,有个不可回避的概念,那就是中断向量。

三、关于中断的一些概念STC8A8K64S4A12系列的中断结构图

四、STC8A8K64S4A12系列的中断优先级

STC8A8K64S4A12系列单片机自然优先级:手册里面称之为辅助优先级结构或者内部的查询次序。如下图。

在C语言编程时,中断查询次序号就是中断号,例如,针对外部中断0的中断服务函数:

voidINT0_Isr(void)interrupt0{;//添加中断处理语句}  

STC8A8K64S4A12系列单片机中断优先级的设置:STC8A8K64S4A12系列单片机通过设置特殊功能寄存器(IP、IPH、IP2和IP2H)中的相应位,对有4个优先级中断的中断请求源进行编程。

仅有1个中断优先级(最低优先级0)的是:外部中断2/INT2、外部中断3/INT3、定时器2、定时器3、定时器4、串行口3、串行口4。(共7个)

STC8A8K64S4A12系列IP和IPH寄存器各位含义介绍如下:

STC8A8K64S4A12系列IP2和IP2H寄存器各位含义介绍如下:

STC8A8K64S4A12系列单片机中断嵌套:中断优先级高的中断请求可以中断CPU正在处理的优先级低的中断服务程序,待完成了中断优先级高的中断服务程序后,再继续被打断的低优先级的中断服务程序。

下图描述了主程序和中断服务程序的示意图,也诠释了中断嵌套的含义。

中断比喻举例,以下情形:

只有排长或者团长给士兵打电话;

排长和团长同时给士兵打电话;

士兵已在排长地里接到团长电话;

士兵已在团长地里接到排长电话;

士兵同时接到两个排长的电话;

士兵同时接到两个团长的电话。

STC8A8K64S4A12系列单片机中断产生而且被CPU响应,主程序被中断,接下来将执行如下操作:

当前正被执行的指令全部执行完毕。

PC值被压入栈。

现场保护。

阻止同级别或更低级别其他中断。

将中断向量地址装载到程序计数器PC。

执行响应的中断服务程序。

中断向量:当某中断被响应时,被装载到程序计数器PC的数值称为中断向量,是该中断源相对应的中断服务程序的起始地址。具体各中断源服务程序的入口地址就不一一列举了。

总结

不知道说的够不够清楚,望大家指正!

1
查看完整版本: STC8A8K64S4A12开发板