0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对于单片机中CPU响应中断服务程序问题

454398 来源:博客园 作者:hugh.dong 2020-10-21 17:33 次阅读

中断的过程:

对于单片机来讲,中断是指CPU在处理某一时间A时,发生了另一事件B请求CPU立刻去处理(中断发生);CPU暂时停止当前的工作(中断响应),转而去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。

① 中断源 // 5个中断源都有一个中断入口地址,当某个中断源产生中断时,CPU响应中断便到相应的中断入口地址执行中断服务程序

② 中断的嵌套与优先级处理

③ 中断的响应过程

中断系统结构

外部中断请求源:INT0、INT1

外部中断0(INT0)由外部引脚P3.2引入,外部中断1(INT1)由外部引脚P3.3引入

内部中断请求源:T0、T1、串口中断

程序定义方式

定义中断函数的一般形式

void 函数名() interrupt 中断号 using 寄存器工作组

p.s.如果中断函数中调用了其他函数,则被调用函数所使用的寄存器组必须与中断函数相同。中断函数不能参数传递,没有返回值,不能直接被调用。

中断序号

中断优先级

中断系统寄存器

TCON:低4位给外部中断请求源使用,高4位给内部中断请求源定时器T0 T1使用

外部请求源

IT0:INT0触发方式控制位,可由软件进行置位和复位。IT0=0时,INT0为低电平触发方式。IT0=1时,INT0为负跳变触发方式。

IE0:INT0中断请求标志位。当有外部的中断请求时,该位置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。

IT1、IE1的用途和IT0、IE0相似。

内部请求源

TF0:定时/计数器T0溢出中断标记,当T0产生溢出时,TF0置位。当CPU响应中断后,硬件将TF0复位

TR0:T0的开闭控制位,TR0=1时定时计数器打开,TR0=0时定时计数器关闭

TF1、TR1与TF0、TR0相似。

SCON:低2位与串口中断相关

内部请求源

TI、RI:串行口发送、接收中断

IE:中断允许寄存器

EA:中断总控制位。EA=1,CPU开放所有中断;EA=0,CPU禁止所有中断。

ES:串行口中断控制位。ES=1,允许串行口中断;ES=0,屏蔽串行口中断。

ET1:定时/计数器TI中断控制位。ET1=1,允许T1中断;ET1=0,禁止T1中断。

EX1:外部中断1中断控制位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。

ET0:定时/计数器T0中断控制位。ET0=1,允许T0中断;ET0=0,禁止T0中断。

EX0:外部中断0中断控制位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0断。

IP:中断优先级寄存器

在该寄存器中,优先级分为1 0两级,对应的位置为1则为高优先级,位置为0则为低优先级。执行时先将高优先级的中断执行完后才会执行低优先级(同样高优先级情况下,按默认优先级排)。

PS:串行口中断优先级控制位

PT1:定时器1优先级控制位

PX1:外部中断1优先级控制位

PT0:定时器0优先级控制位

PX0:外部中断0优先级控制位

补充:

外部中断的触发方式选择

电平触发方式(低电平触发)

CPU在每个机器周期采样到的外部中断输入线的电平。在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。

适于外中断以低电平输入且中断服务程序能清除外部中断请求(即外部中断输入电平又变为高电平)的情况。

跳沿触发方式

连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置“1”中断请求标志,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持1个机器周期。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44558

    浏览量

    635387
  • 寄存器
    +关注

    关注

    31

    文章

    5343

    浏览量

    120383
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10863

    浏览量

    211794
  • 中断系统
    +关注

    关注

    1

    文章

    96

    浏览量

    61021
收藏 人收藏

    评论

    相关推荐

    单片机中断服务程序是干嘛的?里面写些什么?

    `单片机中断服务程序是写中断响应(比如说一个按键
    发表于 05-27 19:29

    单片机必备技能——中断

    整个程序的位置会不固定,但程序只要被烧进单片机系统,对于这个程序来说其
    发表于 10-18 08:00

    对于单片机中断的详细解析

    单片机CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断
    的头像 发表于 12-25 11:14 2.9w次阅读
    <b class='flag-5'>对于</b><b class='flag-5'>单片机</b><b class='flag-5'>中断</b>的详细解析

    单片机中断系统介绍_51单片机中断系统结构

    单片机中断就是当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处
    发表于 01-10 17:29 1.2w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>中断</b>系统介绍_51<b class='flag-5'>单片机</b><b class='flag-5'>中断</b>系统结构

    8051单片机定时器溢出中断CPU响应中断的时间误差分析

    产生单片机定时器溢出中断与CPU响应中断的时间误差有两个原因。一是定时器溢出中断信号时,CPU正在执行某指令;二是定时器溢出
    发表于 05-14 15:23 4160次阅读

    单片机中断CPU的轮询有什么区别

    单片机编程过程,经常会使用到中断。那么,什么是单片机中断,它与CPU的轮询有什么区别?在本文
    发表于 06-29 11:30 3621次阅读

    自学单片机编程之中断与时钟程序

    对于单片机来说,中断是指CPU在处理某一事件A,发生了另一事件B,请求CPU迅速去处理(中断发生
    的头像 发表于 09-18 16:17 3298次阅读
    自学<b class='flag-5'>单片机</b>编程之<b class='flag-5'>中断</b>与时钟<b class='flag-5'>程序</b>

    C51单片机学习笔记(四)——单片机中断系统及应用

    C51单片机学习笔记(四)——单片机中断系统及应用文章目录C51单片机学习笔记(四)——单片机中断
    发表于 11-14 10:21 17次下载
    C51<b class='flag-5'>单片机</b>学习笔记(四)——<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>系统及应用

    单片机中断

    文章目录一.中断的基本概念二.中断相关的寄存器三.中断的实际使用四.中断的优点:一.中断的基本概念1.
    发表于 11-14 16:06 10次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>中断</b>

    单片机中断

    文章目录一.中断的基本概念二.中断相关的寄存器三.中断的实际使用四.中断的优点:一.中断的基本概念1.
    发表于 11-17 09:36 14次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>中断</b>

    单片机(AT89C51)中断系统详解和中断系统应用实验

    单片机中断系统什么叫做单片机中断CPU暂时中止其正在执行的程序,转去执行请求
    发表于 11-17 11:06 14次下载
    <b class='flag-5'>单片机</b>(AT89C51)<b class='flag-5'>中断</b>系统详解和<b class='flag-5'>中断</b>系统应用实验

    关于单片机中断的若干问题

    中断技术概述中断系统作用:实时测控,单片机能及时地响应和处理单片机外部事件或内部事件所提出的中断
    发表于 11-19 10:36 12次下载
    关于<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>的若干问题

    单片机是怎么中断的?

    单片机CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断
    发表于 02-09 10:10 1次下载
    <b class='flag-5'>单片机</b>是怎么<b class='flag-5'>中断</b>的?

    单片机C语言函数之中断函数(中断服务程序

    中断响应与返回:CPU采集到中断请求信号,怎样转向特定的中断服务
    发表于 02-10 11:21 0次下载
    <b class='flag-5'>单片机</b>C语言函数之<b class='flag-5'>中断</b>函数(<b class='flag-5'>中断</b><b class='flag-5'>服务</b><b class='flag-5'>程序</b>)

    单片机中断功能及其应用

    单片机中断功能及其应用  单片机中断是指在程序执行过程,根据特定的条件或事件自动暂时
    的头像 发表于 01-30 14:45 5406次阅读