8051单片机的5个中断源分析

发布者:龙腾少年最新更新时间:2017-12-22 来源: eefocus关键字:单片机  中断源分析 手机看文章 扫描二维码
随时随地手机看文章

    当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。
  
  当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。
  
  由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场 。以便在完成中断服务程序后,恢复原工作寄存器,累加器,标志位等的内容,这个过程称恢复现场;最后执行中断返回指令,自动弹出断电到PC,返回主程序,继续执行被中断的程序。
  
  下面我们看看8051中断系统结构及中断控制:
  
  8051单片机有五个中断请求源,四个用于中断控制的寄存器IE.IP.TCON和SCON,用于控制中断的类型,中断允许,中断起停和各种中断源的优先级别。
  
  五个中断源有两个优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。8051的中断源包括:INT0,INT1引脚输入的外部中断源;三个内部的中断源,即定时器T0的溢出中断源,定时器T1的溢出中断源和串行口的发送/接收中断源。
  
  从INT0,INT1引脚输入的两个外部中断源和它们的触发方式控制位锁存在特殊功能寄存器TCON的低四位,其格式如下:

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单片机中,特殊功能寄存器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为中断优先级寄存器。

    各中断源优先级的控制位,用户可用软件设定。其格式如下:
  
  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个中断源分析

上一篇:ACC与外部RAM传送指令
下一篇:关于51单片机晶振的问题总结

推荐阅读最新更新时间:2024-03-16 15:50

东芝推出“TXZ+™族高级系列” ARM® Cortex®-M3微控制器
—配备1MB代码闪存,支持无需中断微控制器运行的固件升级— 中国上海,2023年6月27日—— 东芝电子元件及存储装置株式会社(“东芝”)今日宣布,在其搭载32位微控制器产品组“TXZ+TM族高级系列”的“M3H组”中新推出“M3H组(2)”,该系列产品配备了采用40nm工艺制造而成的Cortex®-M3。 近年来,随着数字技术的渗透,特别是在物联网IoT领域的普及,以及日益先进的各种设备功能,用户对更大程序容量和支持FOTA(无线固件升级)的需求不断增加。新产品M3H组(2)将东芝现有产品M3H组(1)的代码闪存容量从512KB(部分为256KB或384KB)扩展至1MB ,RAM容量从66KB 扩展至130KB
[嵌入式]
东芝推出“TXZ+™族高级系列” ARM® Cortex®-M3<font color='red'>微控制器</font>
1-wire系统中TM卡的单片机等效替换
1 TM卡简介   TM(Touch Memory)卡是美国Dallas公司的专利产品。它采用单线协议通信,通过瞬间碰触完成数据读写,既具有非接触式IC卡的易操作性,又具有接触式IC卡的廉价性,是当前性价比最优秀的IC卡之一。它的外形类似于一个钮扣(button)电池,可镶嵌于卡片、钥匙扣等物体上。   TM卡通过一个多功能器将数据线、地址线、控制线和电源线合并为1根线,实现单线通信。当主机加电时,TM卡通过500 kΩ和50 Ω阻抗之间的切换来响应主机,用信号被拉低的时长(长或短)来表示数字逻辑(长为1,短为0)。由于阻抗切换的幅度为10 000∶1,因此,触点的接触电阻不会影响数字信号的辨识。 2 1wire通信协议
[单片机]
1-wire系统中TM卡的<font color='red'>单片机</font>等效替换
关于PIC单片机PAGE和BANK
从PIC单片机的指令结构上来分析一下为什么PIC中要有BANK和PAGE的设置吧。先来看一下为什么PIC中要把RAM区划分多个BANK。 仔细观察PIC单片机汇编语言指令的格式,一条完整的汇编语言指令语句通常是这样的:标号 操作码助记符 操作数1,操作数2;注释。其中,主体部分是‘操作码助记符 操作数1,操作数2’。 例如: 指令:MOVF 33,1 操作码助记符:MOVF ; 操作数1:33 ; 操作数2:1 ; 而在程序被编译时指令语句的主体部分会被转换为代码的形式,通常是:指令代码 操作数2 操作数1。 例如在指令位数为14位的中档PIC单片机中: 指令:MOVF 33,1 转换后代码:00 1000 1 011
[单片机]
学习单片机的最有效方法
  对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,能够产生什么实际效果,那么也许用不了几天就会觉得枯燥乏味而半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将用到的指令理解、吃透、扎根于脑海,甚至 根深蒂固 。也就是说,当你此次学习完某几条指令后(一次数量不求多,只求懂),接下去就该做实验了,通过实验,使你感受刚才的指令产生了控制效果,眼睛看得见(灯光)、耳朵听得到(声音),更能深刻理解指令是怎样转化成信号去控制电子产品的。说句过分的话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的
[单片机]
通过MSP430F1232最小系统测试单片机AD10程序
工作记录:测试单片机程序,包括单片机初始化设置,时钟等,主要是AD模块的设置,通过TI官网的1232例程进行程序的编写。 1、创建IAR项目,对项目的option进行设置,添加TI的例程c文件,编译。没有问题就可以连接JTAG向单片机中烧程序了。 2、单片机程序需要解决的几个问题: (1) 单片机时钟 上电默认情况下,主系统时钟(MCLK)和子系统时钟(SMCLK)采用的是内部DCO(采用内部电阻)产生的800KHz的时钟,辅助系统时钟采用的是片内超低功耗12KHz的内部振荡器(VLOCLK)产生的12KHz时钟。 Msp430F1232时钟源有两个,一个是LFXT1CLK,一个是内部的DCOCLK。ACLK只
[单片机]
C8051F320-并行端口与交*开关
C8051F320具有25个I/O引脚,分别为P0、P1、P2、P3.0。为了能根据需要使用内部数字系统资源,必须利用数字交*开关将所用的资源映射到具体引脚上。分析如下: 如果没有用到任何资源,那么所有25个引脚都可以作为正常的并行引脚使用,若用到数字资源,必须牺牲一部分并行口,将引脚提供给内部资源使用。假设有A、B、C三种资源,所需要的引脚数分别为2、1、3。 1、如果ABC都不用,那么可以正常使用P0、P1、P2以及P3.0 2、如果使用A资源,那么将会占用P0.0、P0.1,其余引脚照样可以作为并行口用,但是被占用的口无法控制 3、如果同时使用ABC资源,则需要6个脚,故P0口只剩下P0.6、P0.7可用,其他口不
[单片机]
C<font color='red'>8051</font>F320-并行端口与交*开关
PIC单片机SPI通信的设计
#include #define uchar unsigned char #define uint unsigned int #define cs RC2 #define dout RC4 #define nop() asm(“nop”) __CONFIG(0x3B31); const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar data_temp; void delay(uint x); void init(); void didi(uchar num); void
[单片机]
PIC<font color='red'>单片机</font>SPI通信的设计
嵌入式TCP/IP协议单片机技术在网络通信中的应用
摘要:介绍了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术。将TCP/IP协议嵌入式单片机中,借助网卡芯片CS8900实现了单片机在局域网内和通过局域网在因特网上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。 关键词:TCP/IP协议 单片机 因特网 局域网 网卡芯片 在因特网上,TCP/IP协议每时每刻保证了数据的准确传输。在数据采集领域,如何利用TCP/IP协议在网络中进行数据传输成为一个炙手可热的话题。在本系统中,笔者利用TCP/IP协议中的UDP(用户数据报协议)、IP(网络报文协议)、ARP(地址解析协议)及简单的应用层协议成功地实现了单片机的网络互连,既提高了数据传输的速度,
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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