当前位置:首页 > 单片机 > 单片机
[导读] 1、中断入口地址及编号MCS-51在每一个机器周期顺序检查每一个中断源,在机器周期的S6按优先级处理所有被激活的中断请求,此时,如果CPU没有正在处理更高或相同优先级的中断,或者现在的机器周期不是所执行指令的最后

 1、中断入口地址及编号

MCS-51在每一个机器周期顺序检查每一个中断源,在机器周期的S6按优先级处理所有被激活的中断请求,此时,如果CPU没有正在处理更高或相同优先级的中断,或者现在的机器周期不是所执行指令的最后一个机器周期,或者CPU不是正在执行RETI指令或访问IE和IP的指令(因为按MCS-51中断系统的特性规定,在执行完这些指令之后,还要在继续执行一条指令,才会响应中断),CPU在下一个机器周期响应激活了的最高级中断请求。

中断响应的主要内容就是由硬件自动生成一条长调用LCALL addr16指令,这里的addr16就是程序存储器中相应的中断区入口地址,这些中断源的服务程序入口地址如下:

  5个中断源的服务程序入口地址

中断源

入口地址

中断号

 

 

 

 

 

 

 

 

外中断0

0003H

0

 

 

 

 

 

 

 

 

定时/计数器0

000BH

1

 

 

 

 

 

 

 

 

外中断1

0013H

2

 

 

 

 

 

 

 

 

定时/计数器1

001BH

3

 

 

 

 

 

 

 

 

串行口中断

0023H

4

 

 

 

 

 

 

 

 

定时/计数器T2

002BH

5

 

 

 

 

 

 

 

 

 

生成LCALL指令后,CPU紧跟着便执行之.首先将PC(程序计数器)的内容压入堆栈保护断点,然后把中断入口地址赋予PC,CPU便按新的PC地址(即中断服务程序入口地址)执行程序。

值得一提的是,各中断区只有8个单元,一般情况下(除非中断程序非常简单),都不可能安装下一个完整的中断服务程序。因此,通常是在这些入口地址区放置一条无条件转移指令,使程序按转移的实际地址去执行真正的中断服务程序。

对于汇编,中断函数的一般形式为:

1. ORG 中断入口地址

2.

3. AJMP 中断服务程序地址

4.

5. 中断服务程序地址:

6.

7. ......

对于C语言,中断函数的一般形式为:

1. void FunctionName(void) interrupt 中断号 //其中“中断号”可查表1

2.

3. {

4.

5. .........

6.

7. }

2、与中断有关的寄存器

(1) 定时器控制寄存器TCON

  2  TCON寄存器结构

D7

D6

D5

D4

D3

D2

D1

D0

 

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

 

 

IE1:外部边沿触发中断1请求标志,其功能和操作类似于TF0。

IT1:外部中断1类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。IT1=1,边沿触发。IT=0是电平触发。

IE0:外部边沿触发中断0请求标志,其功能和操作类似于IE1。

IT0:外部中断0类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。其功能和操作类似于IE1。

(2) 中断允许寄存器IE

 

  3  IE寄存器结构

D7

D6

D5

D4

D3

D2

D1

D0

 

EA

-

-

ES

ET1

EX1

ET0

EX0

 

 

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

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

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

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

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

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

(3) 中断优选级控制寄存器IP

 

  4  IP中断优先级控制寄存器结构

D7

D6

D5

D4

D3

D2

D1

D0

 

-

-

-

PS

PT1

Px1

PT0

PX0

 

 

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

PT1:定时器1优先级控制位。PT1=1,声明定时器1为高优先级中断,PT1=0定义定时器1为低优先级中断。

PX1:外中断1优先级控制位。PT1=1,声明外中断1为高优先级中断,PX1=0定义外中断1为低优先级中断。

PT0:定时器0优先级控制位。PT1=1,声明定时器0为高优先级中断,PT1=0定义定时器0为低优先级中断。

PX0:外中断0优先级控制位。PT1=1,声明外中断0为高优先级中断,PX1=0定义外中断0为低优先级中断。

(4)串行通信控制寄存器SCON

它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是98H,其结构格式如下:

 

5串行通信控制寄存器SCON

D7

D6

D5

D4

D3

D2

D1

D0

 

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

 

TI:发送中断标志位。

方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。

RI:接收中断标志位。

接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。

(5)T2状态控制寄存器T2CON

6 T2定时器控制寄存器T2CON

B7

B6

B5

B4

B3

B2

B1

B0

TF2

EXF2

RCLK

TCLK

EXEN2

TR2

C/T2

CP/RL2

TF2:T2溢出中断标志。TF2必须由用户程序清“0”。当T2作为串口波特率发生器时,TF2不会被置“1”。

EXF2:定时器T2外部中断标志。EXEN2为1时,当T2EX(P1.1)发生负跳变时置1中断标志DXF2,EXF2必须由用户程序清“0”。

EXEN2:T2的外部中断充许标志

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

51单片机是一种常见的微控制器,它具有串行通信接口(Serial Communication Interface,SCI)。通过串口通信接口,51单片机可以与其他设备或系统进行串行通信,实现数据传输和控制。

关键字: 51单片机 串口通信

Pic单片机和51单片机是两种应用广泛的微控制器,它们各自具有不同的特点和优势,选择哪种单片机取决于具体应用需求。下面将对Pic单片机和51单片机进行详细的介绍和对比。

关键字: PIC单片机 51单片机 单片机

寄存器变量是计算机中一种重要的存储方式,它使用CPU中的寄存器来存储数据和指令。寄存器直接与CPU的运算和控制部件相连,因此访问速度非常快,通常在一个CPU周期内就能完成数据的读写操作。相比于内存和硬盘等存储设备,寄存器...

关键字: 寄存器 存储器

寄存器和存储器是计算机及其它电子设备中的两种重要存储组件,它们在存储方式、存储容量和访问速度等方面存在明显的差异。

关键字: 寄存器 存储器
关闭
关闭