8051单片机的5个中断源

发布者:legend9最新更新时间:2015-11-16 来源: eefocus关键字:单片机  中断源 手机看文章 扫描二维码
随时随地手机看文章
当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。

当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。

由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场。以便在完成中断服务程序后,恢复原工作寄存器,累加器,标志位等的内容,这个过程称恢复现场;最后执行中断返回指令,自动弹出断电到PC,返回主程序,继续执行被中断的程序。

下面我们看看8051中断系统结构及中断控制:

8051单片机有五个中断请求源,四个用于中断控制的寄存器IE.IP.TCON和SCON,用于控制中断的类型,中断允许,中断起停和各种中断源的优先级别。

五个中断源有两个优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。8051的中断源包括:

INT0,INT1引脚输入的外部中断源

三个内部的中断源,即定时器T0的溢出中断源,定时器T1的溢出中断源和串行口的发送/接收中断源。关于内部中断源我们以后再讲,今天我们先学习外部中断源。

 

从INT0,INT1引脚输入的两个外部中断源和它们的触发方式控制位锁存在特殊功能寄存器TCON的低四位,其格式如下:

单片机的5个中断源

 

 

IE1,即TCON.3:

外部中断INT1请求标志位。当CPU检测到在INT1引脚上出现的外部中断信号时,由硬件置位IE1=1,请求中断。CPU执行中断服务程序后,IE1位被硬件自动清0.

IT1,即TCON.2:

外部中断INT1请求类型,触发方式控制位,由软件来置1或清0,以控制外部中断1的触发类型。

    IT1=0,外部中断1被设置为电平触发方式,当引脚INT1输入低电平时,置位IE1,申请中断。CPU在每个机器周期的S5P2期间采样INT1的输入电平,当采样到低电平时,置IE1=1。采用电平触发方式时,输入到引脚INT1的外部中断源必须保持电平有效,直到该直到程序被CPU响应。同时,在该中断服务程序执行完之前,外部中断源有效电平必须被撤销,否则将产生,另一次中断。

    IT1=1,外部中断1被设置为边缘触发方式,CPU在每个机器周期采样引脚INT1的电平。如果相继的两次采样中,一个周期采样到引脚INT1为高电平,接着下一个周期采样到引脚INT1为低电平,INE1由硬件自动清0.因为每个机器周期采样一次外部中断输入电平,外部中断源输入的高电平和低电平时间必须保持12个振荡周期以上,才能保证CPU检测到负跳变信号,即下降沿。

 

IEO,即TCON.1:外部中断请求标志位。IE0=1时,外部中断0向CPU请求中断,当CPU响应外部中断后,IE0由硬件清0。

ITO,即TCON.0:外部中断0触发方式控制位。IT0=0,外部中断0被设置为边沿触发方式。IT0=1时,外部中断0被设置为边电平发方式。其功能和IT1类似。

 

中断控制:除特殊功能寄存器TCON和SCON中某些位与中断有关外,还有两个特殊功能寄存器IE和IP专门用于中断控制。

中断允许IE:

8051单片机的5个中断源

 

8051单片机中,特殊功能寄存器IE位中断允许寄存器,控制CPU对中断源总的允许或禁止以及每个中断源是否允许中断。其格式为:

EA:中断总允许位。EA=1,CPU允许中断;EA=0,CPU禁止所有的中断请求。

ES:串行中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。

EX1:T0溢出中断允许位。ET0=1,允许T0中断;ET0=0,禁止T0中断。

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

8051系统复位后,IE中各位均被清0,即禁止所有中断。

 

中断优先级设定寄存器IP。8051单片机具有两个中断优先级,每个中断源可编程为高优先级中断或低优先级中断,并可实现二级中断嵌套。高优先级中断源可中断正在执行的低优先级中断服务程序;

同级或低优先级的中断源不能中断正在执行的中断程序。为此,在8051中断系统中,内部有两个优先级状态触发器,它们分别指示出CPU是否在执行高优先级或低优先级中断服务程序,从而分别屏蔽所有的中断申请和同一级的其他中断源申请。

特殊功能寄存器IP为中断优先级寄存器。

8051单片机的5个中断源

 

各中断源优先级的控制位,用户可用软件设定。其格式如下

 

PS:串行中断优先控制位。PS=1,设定串行口为高优先级中断;PS=0,为低优先级。

PT1:T1中断优先控制位。PT1=1,设定定时器T1为高优先级中断;PT=0,为低优先级。

TX1:外部中断1中断优先级别控制位。PX1=1设定外部中断1为高优先级中断;PC1=0,为低优先级。

PT1:T1中断优先控制位。PT1=1,设定定时器T1为高优先级中断;PT1=0,为低优先级。

PT0:T0中断优先控制位。PT1=1,设定定时器T0为高优先级中断;PT0=0,为低优先级。

PX0:外部中断中断优先控制位。PX0=1,设定INT1为高优先级。PX0=0,为低优先级。

 

8051复位后,IP低五位全部清0,将所有中断源设置为低优级中断。

如果几个同优先级的中断源同时向CPU申请中断,哪一个申请得到服务,取决于它们在CPU内部动登记排队的序号。CPU通过内部硬件查询登记号,按自然优先级决定优先响应哪个中断请求。自然优先级按从高到低的顺序依次为:外中断0,定时器0,外中断1,定时器1,串行中断。

关键字:单片机  中断源 引用地址:8051单片机的5个中断源

上一篇:八路抢答器程序和仿真
下一篇:51单片机定时器产生方波

推荐阅读最新更新时间:2024-03-16 14:39

ATmega88 简介
ATmega88是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega88 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。 ATmega88 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。 ATmega88 有如下特点:8K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K字节SRA
[单片机]
利用SimpleLink™ MCU平台加速产品扩张并实现软件投资最大化
德州仪器(TI)今日宣布推出其全新的SimpleLink™ 微控制器(MCU)平台。通过将一套稳健耐用的硬件、软件和工具在单一开发环境中集成,该平台可加快产品扩张的进程。基于驱动、框架和数据库等共享基础,SimpleLink MCU平台全新的软件开发套件(SDK)以100%的代码重用率实现了可扩展性,从而缩短了设计时间,并允许开发人员在不同的产品中重复利用此前的投资。由于能够从业内最广泛的、基于ARM®的32位有线和无线MCU中任意选择,物联网(IoT)和工业产品可以轻松满足随时改变的设计或应用需求。 增强安全性的全新Wi-Fi® 产品加入SimpleLink MCU产品组合 为了扩展SimpleLink MCU产品组合中的器
[单片机]
18课:单片机中断系统
有关单片机中断系统的概念:什么是中断,我们从一个生活中的例程引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。仔细研究一下生活中的中断,对于我们学习单片机的中断也很有好处。 第一、什么可经引起中断,生活中很多事件能引起中断:有人按了门铃了,电话铃响了,你的闹钟闹响了,你烧的水开了….等等诸如此类的事件,我们把能引起中断的称之为中断源,单片机中也有一些能引起中断的事件,8031中一共有5个:两个外部中断,两个计数/定时器中断,一个串行口中断。 第二、中断的嵌套与优先级处理:设想一下,我们正在看书,电
[单片机]
18课:<font color='red'>单片机</font>的<font color='red'>中断</font>系统
基于MCU和基于ASIC的LED可控硅调光方案对比与解析
作为一种新的、最有潜力的光源,LED照明以其节能、环保的优势越来越受到人们重视。加上国家和地方政府的政策鼓励,我国的LED照明产业进入了加速发展阶段,运用市场迅速增长。在室内照明方面,用LED灯替代传统的可调光白炽灯或者卤素灯也将是大势所趋。由于传统的白炽灯调光器采用可控硅调光器,用LED灯替代白炽灯时,要求不能改变原有线路,还要能适应现有的可控硅调光器。针对这一目标市场,目前很多大的半导体厂商(包括国际知名半导体厂商)都已经推出了自己的LED调光ASIC,但由于LED固有的发光原理,目前市面上的LED ASIC调光案都还不是很成熟,都有其固有的问题,本文就将针对目前的调光方案做一个详细的分析,并介绍我们基于MCU的调光方案。 1
[单片机]
基于<font color='red'>MCU</font>和基于ASIC的LED可控硅调光方案对比与解析
单片机小白学习之路(四十三)---LCD12864液晶显示
目标:LCD12864原理的理解 1.LCD12864简介 LCD12864可以用来显示字符、数字、汉字、图形等内容,其分辨率是128*64点。意思是横着有128个点,竖直方向有64点。 LCD12864 引脚分布 RS是命令还是数据的选择端口,高电平是数据,低电平是命令 RD是读操作 WR是写操作 D0 ~ D7是数据端口 CS是片选端口,当其为*************************** 片选CS端与使能端有什么区别呢?片选是是选择哪个芯片可以使用的端口,比如一根总线上连接了几个设备,而片选端就是为了选择使用哪个设备起作用的,当片选段开启,下面才是使能端起作用的时候。 2.LCD1286
[单片机]
<font color='red'>单片机</font>小白学习之路(四十三)---LCD12864液晶显示
8051系统的串口通讯及应用
在微型计算机数字系统里,数据传输可分为并行传输与串行传输两种,并行式传输一次传输多个位(通常是8位)。因此,连接两个系统之间的传输线必须有多条,当然一次传输多个位,传输的速度比较快,但是传输用到的线数也多,线路费用相对会高,线路噪声,阻抗匹配等问题也多,所以并行式传输不适合长距离通讯。 串行式传输每次传输一个位,数据传输的速度表面上不怎么快,但连接两个系统之间,只要两条传输线即可,适合长距离的 通信 。实际上,目前串行 端口 传输速率已比并行端口输出传输速率快。 实际中考虑使用并行式传输还是串行式传输要根据数据量与环境而定。若要将8051系统的数据传至另一8051系统,则可以使用串行式数据传输。 最典型的串行式数据传输 接口
[单片机]
<font color='red'>8051</font>系统的串口通讯及应用
热敏电阻的高电阻应用于单片机进行频率法的温度测量
0 . 引言 在现代农业中,许多情况下需要温度测量,用来测量温度的 传感 器种类很多,热敏电阻器就是其中之一。热敏电阻灵敏度高、稳定性好、体积小、电阻值大等特点,已广泛于温度测量和 控制 领域。在所有被动式温度 传感器 中,热敏电阻的灵敏度(即温度每变化一度时电阻的变化)最高,在温室大棚内,温度测量精度一般在±0.5—1ºC左右,在这种情况下,,热敏电阻的引线长度在100—200米,对测量造成的误差可以忽略不计,使测量 系统 的电路简单、使用方便。 1 . 热敏电阻的测量电路 在多点温度测量系统中,热敏电阻采用温度-频率法测量框图,如图1所示。 图1温度—频率测量 原理 图1中,IC1是 555 时基 集成
[测试测量]
使用STM32单片机点亮LED
有一人,登场于金庸先生的《神雕侠侣》,以大理段氏“一阳指”自成一派,武学修为登峰造极,“天下五绝”之一,号称“南帝”,他就是“一灯大师”。如今,武林中逐渐被遗忘的“一灯大师”,却活跃在另一个行业——嵌入式开发中。 传说,每一个成功的MCU(俗称单片机)开发组中,都有一名“一灯大师”,他精通所有开发板的点灯方法,对于企业引入的新开发板,总是勤学苦练,从点灯开始,快速掌握新开发板的编程要点,带领团队走向胜利。 成为“一灯大师”,离不开持续的修行,离不开对一招一式的勤学苦练。本文将讲解如何通过编程来控制STM32点亮一个LED。 学习环境: 1.软件:Keil5 2.硬件:STM32开发板(笔者使用信盈达公司的M4开发板,芯片型
[单片机]
使用STM32<font color='red'>单片机</font>点亮LED
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved