MCS-51单片机的中断系统(1)

发布者:科技创新实践者最新更新时间:2016-01-10 来源: eefocus关键字:MCS-51  单片机  中断系统 手机看文章 扫描二维码
随时随地手机看文章
在CPU 与外设交换信息时,存在着一个快速的 CPU 与慢速的外设之间的矛盾。为解决这个问题,发展了中断的概念。
    单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。
    中断现象在现实生活中也会经常遇到,例如,你在看书——手机响了——你在书上作个记号——你接通电话和对方聊天——谈话结束——从书上的记号处继续看书。这就是一个中断过程。通过中断,你一个人在一特定的时刻,同时完成了看书和打电话两件事情。用计算机语言来描述,所谓的中断就是,当 CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求 CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。
    从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。
 
MCS-51单片机的中断系统

 

MCS-51单片机的中断源

          MCS-51单片机的中断源共有两类,它们分别是:外部中断和内部中断
1.  外部中断源
         外部中断0(#INT0):来自P3.2引脚,采集到低电平或者下降沿时,产生中断请求。
         外部中断1(#INT1):来自#P3.3引脚,采集到低电平或者下降沿时,产生中断请求。
2.  内部中断源
         定时器∕计数器0(T0):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外P3.4引脚。发生溢出时,产生中断请求。
         定时器∕计数器1(T1):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外P3.5引脚。发生溢出时,产生中断请求。
         串行口:为完成串行数据传送而设置。单片机完成接受或发送一组数据时,产生中断请求。

 

 

中断控制的专用寄存器

    MCS-51单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。
 
       1.  定时器控制寄存器(TCON)
该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H~8FH。寄存器的内容及位地址表示如下: 
 
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
 
             IT0 和IT1——外部中断请求触发方式控制位
IT0 (IT1)=1    脉冲触发方式,下降沿有效
IT0 (IT1)=0    电平触发方式,低电平有效
      IE0和IE1——外中断请求标志位
   当CPU采样到#INT0(或#INT1)端出现有效中断请求时,IE0(IE1)位由硬件置“ 1”。当中断响应完成转向中断服务程序时,由硬件把IE (或IE )清零。
         TR0 和TR1——定时器运行控制位
     TR0 (TR1 )=0    定时器/计数器不工作
     TR0 (TR1 )=1    定时器/计数器开始工作
         TF0和TF1——计数溢出标志位
    当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。当转向中断服务时,再由硬件自动清“0”。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。
 
2.  串行口控制寄存器(SCON)
进行字节操作时,寄存器地址为98H。按位操作时,各位的地址为98H~9FH。寄存器的内容及位地址表示如下:  
 
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI
 
 
         其中与中断有关的控制位共2位:
          TI——串行口发送中断请求标志位
当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。
          RI——串行口接收中断请求标志位
     当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。串行中断请求由TI和RI的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。
 
3.  中断允许控制寄存器(IE)
进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地址为0A8H~0AFH。寄存器的内容及位地址表示如下:
位地址 0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8H
位符号 EA / / ES ET1 EX1 ET0 EX0
 
    其中与中断有关的控制位共6位:
         EA——中断允许总控制位
  EA=0 中断总禁止,禁止所有中断
EA=1  中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置。
        EX0和EX1——外部中断允许控制位
 EX0(EX1)=0     禁止外部中断
 EX0(EX1)=1     允许外部中断
        ET0和ET1——定时器/计数器中断允许控制位
 ET0(ET1)=0     禁止定时器/计数器中断
 ET0(ET1)=0     允许定时器/计数器中断
        ES——串行中断允许控制位
 ES=0     禁止串行中断
 ES=1     允许串行中断
可见,MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制。即以EA位作为总控制位,以各中断源的中断允许位作为分控制位。当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。
MCS-51单片机复位后(IE)=00H,因此中断系统处于禁止状态。单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。
 
4.  中断优先级控制寄存器(IP)
MCS-51单片机的中断优先级控制比较简单,因为系统只定义了高、低2个优先级。高优先级用“1”表示,低优先级用“0”表示。各中断源的优先级由中断优先级寄存器(IP)进行设定。IP寄存器地址0B8H,位地址为0BFH~0B8H。寄存器的内容及位地址表示如下:
位地址 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H
位符号 / / / PS PT1 PX1 PT0 PX0
 
其中:
PX0——外部中断0优先级设定位;
PT0——定时中断0优先级设定位;
PX1——外部中断1优先级设定位;
PT1——定时中断1优先级设定位;
PS——串行中断优先级设定位。
以上各位设置为“0”时,则相应的中断源为低优先级;设置为“1”时,则相应的中断源为高优先级。
优先级的控制原则是:
         低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。
         如果一个中断请求已被响应,则同级的其它中断服务将被禁止。即同级不能嵌套。
         如果同级的多个中断同时出现,则按CPU查询次序确定哪个中断请求被响应。其查询次序为:外部中断0→定时中断→外部中断→定时中断→串行中断。
         中断优先级控制,除了中断优先级控制寄存器之外,还有两个不可寻址的优先级状态触发器。其中一个用于指示某一高优先级中断正在进行服务,从而屏蔽其它高优先级中断;另一个用于指示某一低优先级中断正在进行服务,从而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。此外,对于同级的多个中断请求查询的次序安排,也是通过专门的内部逻辑实现的。

关键字:MCS-51  单片机  中断系统 引用地址:MCS-51单片机的中断系统(1)

上一篇:MCS-51单片机的中断系统(2)
下一篇:MCS-51单片机的中断系统介绍

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

单片机定时器/计数器的结构和工作原理
  1.结构   2 个定时器 T0 和 T1:16 位加 1 计数器,通过编程来设置工作状态   定时器方式寄存器TMOD:设置定时器的工作方式   定时器控制寄存器TCON:启动和停止定时器的计数;计数溢出标志   2.工作原理   MCS-51 单片机定时/计数器的工作原理:   归根结底是计数器。每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从 0 开始继续计数。   (1) 定时功能 (设置 TMOD 中位 C/T=0)   对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加 1 。   (2) 计数功能 (设置 TMOD 中位 C/T=1)   对片外从 T0 (P3.
[单片机]
<font color='red'>单片机</font>定时器/计数器的结构和工作原理
AT89S51单片机报警器的设计
1.实验任务 用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。 2.电路原理图 图4.6.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2).在“音频放大模块”区域中的SPK OUT端口上接上一个8欧的或者是16欧的喇叭; (3).把“单片机系统”区域中的P1.7/RD端口用导线连接到“四路拨动开关”区域中的K1端口上; 4.程序设计内容 (1).信号产生的方法 500
[单片机]
AT89S51<font color='red'>单片机</font>报警器的设计
PIC单片机与AM2302温湿度传感器通信优化
AM2302温湿度传感器采用单总线方式与MCU通信,这就要求MCU有一定的处理速度, 才能正确解析收到的AM2302发送过来的数据。 MCU处理AM2302数据的方式 AM2302一次传送40位数据给MCU。数据位0由50微妙低电平加26微妙高电平组成。 数据位1有50微妙低电平加70微妙高电平组成。这种编码方式有点象NEC的红外传输协议。 另外AM2302需要由MCU发起启动信号。所以针对这种单线协议,虽然可以采用电平变化中断+计数器,或输入捕捉来解析40位数据位。但这就需要切换端口的输入输出配置及控制相应外设的介入时机。 本文介绍的方法采用简单的端口读+延时操作来解析40位数据位。 if (data_po
[单片机]
单片机模拟遥控器
了解了遥控发射的原理,就可以来自己动手做一个遥控器了,可是没有专门的芯片怎么办?用 单片机 ,然后配合程序完成遥控码的发射。 1、硬件电路 其中, 单片机 选用AT89C2051, 使用两节电池供电就可以工作,用P1口构成3×3的模拟键盘,用一个IO口作为遥控波形输出端,然后接三极管驱动红外发射管,发出需要的遥控波形。 2、程序编写 由于要把波形“发射”出去,需要对遥控码进行调制,调制即把遥控码的高电平和载波进行“与”,结果是连续发射一定数量的载波,而低电平则只需进行简单的延时即可。以SAA3010T编码为例,为双相位编码方式,“0”用844US高电平加844US低电平表示,“1”用844US低电平加844
[单片机]
基于AVR和51单片机的机器鱼语音控制系统设计与实现
近年来,海洋资源开发日趋焦点,机器鱼作为一项现代化的新成果,具有广泛的现实意义,它可以更逼真的模拟鱼的游动原理,在水下的运动更符合流体力学原理,具有更好的加速和转向能力,利用它可以探测海洋资源,寻找和检测海域中受污染的地方,也可以用来勘探地形等等。随着科技的发展,人类对智能化产品的研究步伐在不断加快。但是,作为一项比较新的产品,机器鱼的智能化程度还远远不够,伴随着研究的加深,机器鱼的功能也会更趋完善。语音识别作为一门交叉学科,它的出现实现了长期以来人们渴望与机器交流的梦想。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。近年来,语音识别技术发展迅速,取得显著进步,并且已经开始被应用于通信、家庭服
[单片机]
基于AVR和51<font color='red'>单片机</font>的机器鱼语音控制系统设计与实现
微芯简化16位单片机容性触摸传感界面集成
Microchip Technology Inc. (美国微芯科技公司)今天宣布 新增一款 mTouch™ 容性触摸传感 器件 —— PICDEM™ Touch Sense 2 演示板(部件编号: DM164128 )。这款易于使用的演示板配备最新的免版税 mTouch ™ 传感解决方案 软件开发工具包( SDK ),以及 16 位 PIC24FJ256GB110 单片机( MCU ),具有可用于快速容性触摸传感的集成充电时间测量单元( CTMU )外设。这也是全球首个 集成 USB On-The-Go ( OTG ) 功能的 16 位单片机系列。该演示板及支持工具提供了一个完善的平台,无需添加外部组件
[工业控制]
微芯简化16位<font color='red'>单片机</font>容性触摸传感界面集成
单片机的三种时钟信号源的特点及应用介绍
与51、AVR等单片机不同msp430的时钟信号源有LFXT1,XT2,DCO三种。 1、LFXT1:可接高速和低速晶振,在低速模式下,它可以外接32k的晶振而不需要负载电容,这种方式较为常见主要用来为ACLK提供低速的时钟信号,以供低速外设使用。 2、XT2:高速振荡器,它可以接一个0.4~16M的晶振,它相当于高速模式下的LFXT1。通常将它配置成一个高速的振荡源,为MCLK何SMCLK提供高速时钟信号。 3、DCO:内部数字控制振荡器,它的频率可以通过DCOCLK进行配置。在系统PUC之后,DCOx=7,MODx=3,表示选择了最高的频率。 前面介绍了MSP430中有三个个时钟信号源,MSP430的时钟信号也有三种
[单片机]
<font color='red'>单片机</font>的三种时钟信号源的特点及应用介绍
Maxim推出微控制器时钟发生器, 带有看门狗功能
Maxim日前推出微控制器时钟发生器新品MAX7389/MAX7390,提供时钟源、重置和看门狗功能,适用于家用电器、汽车电子、手持产品、微控制器系统、手提设备等。 MAX7389/MAX7390时钟发生频率为出厂设置的1MHz到16MHz范围。可以有4种标准时钟频率选择。在12MHz时工作电压为5.5V。MAX7389/MAX7390同时提供看门狗功能。看门狗时钟频率可编程,重置时间可在16ms到2048ms进行选择。MAX7389提供一个单独的看门狗输出,可提供状态指示。电压低到1.1V时重置有效,±10mA时钟输入驱动电流。 与常规的石英和陶瓷晶振产品不同,MAX7389/MAX7390可抵抗电磁干扰(EMI),高温工作
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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