欢迎光临散文网 会员登陆 & 注册

实时处理——单片机的中断系统

2023-06-19 17:16 作者:机电一体化学长  | 我要投稿

什么是中断
日常生活中,“中断”十分常见。例如,当一个人坐在宿舍里看电影时,遇到有同学敲门,只好按下播放器的暂停键,然后起身去开门,等同学进来后再回来按下播放键继续看电影。

在这个情景中,敲门的咚咚声,可称为“中断请求标志”,电影暂停的时刻可称为“断点”,所有会引起电影播放过程中断的事件可以理解为“中断源”。响应中断的过程可视为执行“中断服务程程序”。

单片机中断的工作原理和生活中的“中断”十分相似。CPU正在处理某件事时,由于外部或内部的突发事件,要求CPU尽快处理,CPU就暂停当时的工作去处理突发事件,处理结束后又回来继续做原来的工作,这样的过程就叫作中断。

生活例子中的外部中断是指听见同学的敲门声音去开门,或者是正在看电影时闹钟响了,起身去关闹钟后回来继续看电影。如果是在看电影时自己肚子饿了,暂停看电影去吃饭,或者是暂停看电影而去睡觉,这样的中断可视为内部中断。


对于单片机的内部中断,可以根据中断源的不同而分为定时器中断和串行口中断等。

2.STC15W4K32S4 中断系统结构
STC15W4K32S4单片机提供了21个中断请求源。它们分别是:外部中断0(INTo)、定时器TO中断、外部中断1(INT1)、定时器T1中断、串口1中断、A/D转换中断、低压检测(LVD)中断、CCP/PWM/PCA中断、串口2中断、SPI中断、外部中断2(INT2)、外部中断3(INT3)、定时器T2中断、外部中断4(INT4)、串口3中断、串口4中断、定时器T3中断、定时4中断、比较器中断、PWM中断及PWM异常检测中断。

除外部中断2、外部中断3、定时器T2中断、串口3中断、串口4中断、定时器T3中断、定时器T4中断及比较器中断固定是最低优先级中断外,其他的中断都具有2个中断优先级,可实现两级中断服务程序嵌套。

用户可以用软件屏蔽所有的中断请求,也可以用软件使CPU接受中断请求。每一个中断源可以用软件独立地控制开中断或关中断状态,每一个中断源的中断级别均可用软件设置。

中断入口地址


除外部中断2、外部中断3、定时器T2中断、串口3中断、串口4中断、定时器T3中断、定时器T4中断及比较器中断固定是最低优先级中断外,其他的中断都具有2个中断优先级,可实现两级中断服务程序嵌套。

用户可以用软件屏蔽所有的中断请求,也可以用软件使CPU接受中断请求。每一个中断源可以用软件独立地控制开中断或关中断状态,每一个中断源的中断级别均可用软件设置。

每当中断发生时,单片机都会到一个相应的地址上去执行中断服务子程序。这个地卫计 址是固定的,是在设计单片机芯片时就生成的,程序员无法修改;这个地址被称为中断入口地址,不同中断源的中断入口地址是不一样的。在对中断程序进行编译链接的时候,编译器会根据中断的中断号找到其入口地址。中断源、中断号和中断入口地址的对应关系。

C51程序语言的编译器支持在C语言源程序中直接开发中断过程,使用该扩展属的函数定义语法如下:
函数的返回值函数名()interrupt n
函数体;
关于函数的使用说明如下:
(1)对中断程序而言,函数的返回值和参数一般为void。
(2)n对应中断源的编号,称为中断号。

单片机的中断号决定该中断的中断向量的位置(即中断服务程序的入口地址),也可认为中断号就是中断源在单片机的中断向量表中的位置序号。

STC15W4K32S4单片机中断号为0~23,其中,中断号13,14,15为预留。
在编写C51程序时只用中断号,不用中断入口地址。



实时处理——单片机的中断系统的评论 (共 条)

分享到微博请遵守国家法律