kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 其他> 教程:51单片机中断简介及例程分析

教程:51单片机中断简介及例程分析

2023-01-31
来源:滑小稽笔记
关键词: 51单片机 寄存器 CPU

  5.1 中断概念

  中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行,以一个例子来说明什么叫做中断。

  假设一个人在家看电视,这时候突然门铃响了,这个人此时就要停止看电视去开门,然后关上门后继续回来看电视,这个例子当中看电视这个动作就是常规的计算机运行过程,门铃响就相当于一个中断信号(中断请求),用户这时停止看电视(中断当前程序)起来开门(中断响应),关上门后(中断处理结束)继续看电视(继续执行当前程序)。这一整个过程就是中断发生时,CPU的处理方式。

  还是上面的例子,现在假设门铃响的时候水烧开了,此时用户可以选择先开门后关水,也可以选择先关水后开门,这个先后关系就是中断优先级,假设门铃的中断优先级比烧水的优先级高,那就会先开门,后关水,反之,则会先关水,后开门,这就是针对两个及两个以上中断同时发生的时候CPU根据中断优先级执行中断的过程。

  CPU在处理某一件事件A时,发生了另外一件事件B请求CPU迅速去处理(中断发生),此时CPU暂时中断当前的工作,转过去处理事件B(中断响应与中断服务),等到CPU将事件B处理结束后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程叫做中断。

  传统51单片机具有5个中断源,中断优先级从高到低依次是:外部中断0(interrupt0)、定时器0(interrupt1)、外部中断1(interrupt2)、定时器1(interrupt3)和串口中断(interrupt4)。

  引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。

  5.2 51单片机中断简介

  51单片机的中断结构图如下图所示。

255.JPG

  从图中可知配置外部中断必须先配置IT0(或者IT1,定时器与串口没有这一项),根据赋值选择触发方式,外部中断的触发方式总共有两种,下降沿触发与高电平触发,然后配置对应的中断使能,EX0,ET0,EX1,ET1,ES,最后开启总中断EA即可。

  5.3 外部中断相关寄存器

  5.3.1 中断控制寄存器IE

  寄存器地址:0xA8

259.JPG

  Bit 7:总中断使能

  0:关闭

  1:开启

  Bit 4:串口中断使能

  0:关闭

  1:开启

  Bit 3:定时器1中断使能

  0:关闭

  1:开启

  Bit 2:外部中断1中断使能

  0:关闭

  1:开启

  Bit 1:定时器0中断使能

  0:关闭

  1:开启

  Bit 0:外部中断0中断使能

  0:关闭

  1:开启

  5.3.2 中断标志寄存器TCON

  寄存器地址:0x88

258.JPG

  Bit 7:定时/计数器1溢出中断请求标志位

  0:没有产生中断

  1:产生中断

  Bit 6:定时/计数器1使能

  0:定时/计数器1关闭

  1:定时/计数器1使能

  Bit 5:定时/计数器0溢出中断请求标志位

  0:没有产生中断

  1:产生中断

  Bit 4:定时/计数器0使能

  0:定时/计数器0关闭

  1:定时/计数器0使能

  Bit 3:外部中断1中断请求标志位

  0:没有产生中断

  1:产生中断

  Bit 2:外部中断1触发方式控制位

  0:电平触发方式

  1:边沿触发方式(下降沿有效)

  Bit 1:外部中断0中断请求标志位

  0:没有产生中断

  1:产生中断

  Bit 0:外部中断0触发方式控制位

  0:电平触发方式

  1:边沿触发方式(下降沿有效)

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

  寄存器地址:0xB8

257.JPG

  Bit 5:定时/计数器2优先级设置

  Bit 4:串口优先级设置

  Bit 3:定时/计数器1优先级设置

  Bit 2:外部中断1优先级设置

  Bit 1:定时/计数器0优先级设置

  Bit 0:外部中断0优先级设置

  5.4 例程分析

  5.4.1 原理图

254.JPG

  5.4.2 实现的功能

  没有中断发生时,D1~D8按顺序循环点亮,每次只亮一个LED,当按键按下时,LED灯全亮1s,1s后从LED灯断开的位置继续循环点亮(不允许从从开始点亮)。

  5.4.3 源代码

253.JPG



更多信息可以来这里获取==>>电子技术应用-AET<<

mmexport1621241704608.jpg

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map