福建专升本电子信息类《单片机原理及应用》

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

福建专升本电子信息类《单片机原理及应用》
•了解MCS-51 单片机的CPU 的结构,掌握几种地址指针PC 、DPTR 、SP 的功能、运用。

单片机的内部结构
八大功能部件:
(1)微处理器(8位CPU)
(2)程序存储器(ROM、EPROM或Flash等)
(3)数据存储器(RAM、E2PROM)
(4)四个8位并行可编程I/O端口(P0、P1、P2、P3)
(5)一个串行口(UART)
(6)两个16位定时器/计数器(T0/T1)
(7)中断系统(含5~8个中断源、2个优先级)
(8)特殊功能寄存器(SFR)
单片机核心部分是CPU,可分为运算器、控制器、布尔(位)处理器
运算器包括:累加器(ACC)、程序状态字(PSW)、暂存器、B寄存器等部件
控制器包括:定时控制逻辑、指令寄存器、数据指针(DPTR)、程序计数器(PC)、堆栈指针(SP)、地址寄存器地址缓冲器
1. PC是用于存放下一条要执行指令的地址寄存器,PC内容为将要执行的指令地址。

改变PC内容,即改变程序执行的流向。

由两个8位计数器PCH、PCL组成。

2. 堆栈指针(Stack Pointer,SP)是指在片内RAM的l28B(52子系列为256B)空间中开辟的堆栈区的栈顶地址,并随时跟踪栈顶地址变化。

堆栈是按先进后出的原则存取数据的,开机复位后,单片机栈底地址为07H。

3.指令寄存器和指令译码器(Instruction Register,IR)的功能是对将要执行的指令进行存储和译码。

当指令送入指令寄存器后,对该指令进行译码,即把指令转变成所需的电平信号,CPU根据译码输出的电平信号,使定时控制电路产生执行该指令所需的各种控制信号,以便计算机能正确地执行指令所要求的操作。

4. 数据指针由于8051系列单片机可以外接64KB的数据存储器和I/O接口电路,故在单片机内设置了l6位的数据指针寄存器(Data Pointer,DPTR)。

它可以对64KB的外部数据存储器和I/O进行寻址,DPTR可分为高8位数据指针寄存器(DPH)和低8位数据指针寄存器(DPL),地址分别为83H和82H。

•掌握MCS-51 单片机的存储器配置、堆栈定义、生成方式和运用操作。

8051单片机存储器采用哈佛结构;从物理结构上分四种:片内程序存储器(只读存储器ROM)、片外程序存储器、片内数据存储器(读写存储器RAM)、片外数据存储器;从寻址空间分布上分三种:程序存储器、内部数据存储器外部数据存储器。

从功能作用上可五种:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间存储器和外部数据存储器。

从逻辑上:片内外统一编址的64KB的程序存储器地址空间;片内数据存储器地址空间,寻址范围:00~FFH;64KB片外数据存储器地址空间。

程序存储器:用于存放编好的程序或表格常数。

51子系列片内有
4KB ROM(地址为0000H~0FFFH),52子系列片内有8KB ROM,
二者片外地址线均为16位,最多可扩展64KB ROM,片内片外统
一编址。

若—EA端保持低电平,则所有取指令操作均在片外程序
存储器中进行,0000H地址在片外。

若—EA端保持高电平,0000H
地址在片内,所有取指令操作均在片内程序存储器中进行。

片内数据存储器: 数据存储器分为片外数据存储器、片内数据存储器、特殊功能存储器; 片内通用数据存储器有工作寄存器区、位寻址区、数据缓冲区
堆栈是一种数据项按序排列的数据结构,采用后进先出,这种后进先出操作的缓冲器区称为堆栈。

堆栈指针总是指向栈顶。

堆栈特点:后进先出;堆栈有3个具体功能:保护断点、现场保护、临时暂存数据堆栈。

使用方式两种:自动方式和指令方式。

程序存储器空间的7个特殊单元的功能
•掌握MCS-51 单片机的寻址方式及各种寻址方式可用的存贮空间。

寻址方式
1.立即寻址是将操作数直接写在指令中,作为指令的一部分存放在代码段里,位置在程序存储器中。

立即寻址中的操作数,称为立即数。

例如:MOV A, #30H ;30H→A
2.直接寻址是将操作数的地址直接存放在指令中。

这种寻址方式的操作数指的是内部数据存储器中存放数据的地址,或存放数据的一个特殊功能寄存器地址。

例如:MOV A, 30H ;(30H)→A
直接寻址方式可访问的范围
1) 特殊功能寄存器
这部分存储单元既可以用单元地址给出,也可以用寄存器符号的形式给出。

如:MOV A, 90H 或MOV A, P1为同一条指令的两种写法(特殊功能寄存器只能用直接寻址方式访问)。

2) 内部数据存储器的低128个字节单元
直接以单元地址的形式给出[对于8032/8052等单片机,其内部高128字节RAM(80H~FFH)不能用直接寻址方式访问]。

直接寻址方式可访问的范围
3) 位地址空间
片内RAM中20H~2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0~P3)。

4) 在一些程序控制指令中,可采用直接寻址方式提供程序转移的目标地址。

3.寄存器寻址是指操作数存放在寄存器中,并且寻址时的寄存器已隐含在指令的操作码中。

例如:MOV A, R5
寄存器寻址方式的寻址范围:
(1) 4个工作寄存器组共32个通用寄存器(在指令中只能使用当前寄存器组)
(2) 部分特殊功能寄存器。

如A,B,DPTR。

4.寄存器间接寻址的寻址范围:
1) 内部低128字节单元(只能使用R0、R1作间址寄存器)。

2) 外部数据存储器(64KB字节,使用DPTR作间址寄存器。

另外,外部低128B单元也可用R0、R1作间址寄
存器寻址)。

3) 在堆栈操作指令(PUSH、POP)中,以堆栈指针SP作间址寄存器,寻址空间为片内RAM。

5.基址变址寻址是指操作数存放在以变址寄存器和基址寄存器的内容相加形成的数为地址的单元中。

其中累加器A作变址寄存器、程序计数器PC或寄存器DPTR作基址寄存器。

基址加变址寻址方式常用于查表操作。

如:MOVC A, @A+PC ;PC+1→PC,((A+PC))→A
MOVC A, @A+DPTR ;((A+DPTR))→A
6.相对寻址是将程序计数器PC的当前值与指令第二字节给出的偏移量相加,从而形成转移的目标地址。

例如:JC 80H ;C=1则跳转
7.位寻址是指对片内RAM中20H~2FH中的128个位地址,以及SFR中的11个可进行位寻址的寄存器中的位地址寻址(可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0~P3)。

例如:MOV C, 20H 此指令是将RAM中位寻址区20H位地址中的内容,送给位累加器Cy。

位寻址指令不同于字节地址寻址指令,
例如:MOV A, 20H
•掌握MCS-51 单片机的特殊功能寄存器及其用法。

(1)程序状态字寄存器(PSW)是8位寄存器,存放程序运行状态的标志,字节地址为D0H。

可以进行位寻址。

CY:进位标志。

AC:辅助进位标志。

当低4位数向高4位数进位或借位时,AC将被硬件置1,否则就被清除。

RS0,RS1:用软件置位或清除来确定工作寄存器区。

OV:溢出标志。

P:奇偶标志。

每个指令周期都由硬件来置位或清零。

A中值为1的位数为奇数,则P置位,否则清零。

(2)累加器(ACC)是8位寄存器,用于算术或逻辑操作的输入和运算结果的输出。

在指令系统中累加器的助记符为A,作为直接地址时助记符为ACC。

(3)数据指针寄存器(DPTR)16位的专用地址指针寄存器。

可对外部存储器和I/O口进行寻址,也可拆成高字节DPH 和低字节DPL两个独立的8位寄存器,在CPU内分别占据83H和82H两个地址。

当对64KB外部数据存储器寻址时,DPTR可作为间接寻址寄存器使用:
从外部数据存储器取数MOVX A, @DPTR
送数到外部数据存储器MOVX @DPTR, A
(4)B寄存器在乘、除法运算中用B寄存器暂存数据。

乘法指令的两个操作数分别取自A和B,结果再存于B和A中,即A存低字节,B存高字节。

除法指令中被除数取自A,除数取自B,结果商存于A中,余数存放在B中。

在其他指令中,B寄存器可作为RAM中的一个单元使用。

B寄存器的地址为B0H。

(5)堆栈指针(SP)是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。

它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。

(7)定时器/计数器TL0、TH0、TL1、TH1M。

SC-51单片机中有两个16位的定时器/计数器T0和T1,它们由4
个8位寄存器(TH0、TL0、TH1和TL1)组成。

两个16位定时器/计数器是完全独立的,可以单独对这4个寄存器寻址。

(8)串行数据缓冲器(SBUF)功能:存放需要发送和接收的数据。

组成:由两个独立的寄存器构成,一个是发送缓冲器,一个是接收缓冲器,但寄存器名称统一为SUBF。

(9)控制寄存器有5种。

中断优先级控制寄存器(IP);中断允许控制寄存器(IE);定时器/计数器控制寄存器(TCON);串行口控制寄存器(SCON);电源控制寄存器(PCON)
•了解MCS-51 单片机的工作寄存器的分区结构及选择方法。

•掌握MCS-51 单片机的引脚功能,尤其注意引脚复用的特点。

芯片引脚按功能分成3类:数据总线、地址总线、控制总线
单片机芯片引脚功能
1.主电源引脚: GND 接地; VCC 正常操作时为十5V 电源。

2.时钟电路引脚 : XTAL1;XTAL2 3.控制线与电源复用引脚
(1)RST/VPD :RST 是复位信号,高电平有效。

VPD 为第二功能,即备用电源输入端。

(2)ALE/PROG ————
:ALE 为地址锁存允许信号输出引脚。

PROG 为编程信号,第二功能,低电平有效。

(3)———
PSEN :片外ROM 选通信号输出端,低电平有效。

(4)——
EA /VPP :—
EA 为内部和外部ROM 控制端(当—
EA =1时,从内ROM 开始访问;当—
EA =0时,只访问外部ROM; VPP 是编程电源输入端 4.并行输入/输出引脚 P0端口(P0.0~P0.7)
第一功能:是一个8位漏极开路型的双向I/O 口,这时P0口可看成用户数据总线;
第二功能:是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。

P1口(P1.0~P1.7):内部带上拉电阻的8位准双向I/O 口。

P2口(P2.0~P2.7)第一功能:一个内部带上拉电阻的8位准双向I/O 口。

第二功能:在访问外部存储器时,输出高8位地址。

P3口(P3.0~P3.7)第一功能:内部带上拉电阻的8位准双向I/O 口。

在系统中,这8个引脚都有各自的第二功能。

• 了解 MCS-51 单片机的振荡电路,以及一般工作时序概念。

时序
时钟周期:也称为振荡周期,定义为时钟脉冲频率(fosc )的倒数,它是单片机中最基本的、最小的时间单位。

在一个时钟周期内,CPU 仅完成一个最基本的动作。

为方便描述,振荡周期用P 表示。

状态周期:时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S 表示。

这样,一个状态周期就有两个时钟周期,前半状态周期相应的时钟周期定义为P1,后半状态周期相应的时钟周期定义为P2。

机器周期:执行一条指令分为几个机器周期。

每个机器周期完成一个基本操作。

MCS-51单片机每12个时钟周期为一个机器周期。

如果使用6MHz 的时钟频率,一个机器周期就是2μs ,而如果使用12MHz 的时钟频率,一个机器周期就是1μs 。

指令周期:指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。

• 掌握 MCS-51 单片机的复位条件、复位电路和复位状态。

复位是单片机的初始化操作。

单片机系统在上电启动运行时,都需要先复位。

其作用是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。

复位方式:单片机的外部复位电路有上电自动复位和按键手动复位两种。

复位条件:RST 引脚为复位信号输入端。

当RST 引脚为高电平,且有效时间持续24个振荡周期以上,才能复位。

若外接晶振为12MHz 时,则单片机的四个周期的具体值为:
✓ 时钟周期=1/12MHz =1/12μs =
0.0833μs
✓ 状态周期=1/6μs =0.167μs ✓ 机器周期=1μs ✓ 指令周期=1~4μs
(1)上电复位
上电复位利用电容器的充电实现。

在时钟电路工作后,在RST端连续给出2
个机器周期的高电平就可完成复位操作。

(2)上电加按键
复位
当复位按键按下
后,复位端通过
51Ω的小电阻与
+5V电源接通,
迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V
电源通过2K电阻对22μF电容重新充电,RST引脚端出现
复位正脉冲。

其持续时间取决于RC电路的时间常数。

复位状态
•掌握MCS-51 单片机的PSW 各位的定义。

程序状态字寄存器PSW ,它的内容反映CPU对数据处理的一些状态结果和对工作寄存器区的选择标志位。

P:奇偶标志位。

当累加器ACC中的处理结果数据中有奇数个“1”时为1;否则为0。

OV:溢出标志位。

当CPU对数据处理结果发生溢出时,该位为1;否则为0。

RS1 RS0:工作寄存器区选择位。

当(RS1RS0)=00B时,第0工作寄存器区为当前区。

当(RS1RS0)=01B时,第1工作寄存器区为当前区。

当(RS1RS0)=10B时,第2工作寄存器区为当前区。

当(RS1RS0)=11B时,第3工作寄存器区为当前区。

F0:用户标志位,通过指令可将其置1或清0。

AC:辅助进位标志位。

数据处理过程中低4位向高4位有进位或借位时,该位为1;否则为0。

Cy:进位标志位,当数据处理过程中最高位有进位或借位时,该位为1;否则为0。

•掌握MCS-51 单片机指令系统,学会基本的编程方法。

传送指令
算术运算类指令
逻辑运算类指令控制转移类指令
位操作指令
•学会简单的单片机应用程序的设计方法。

Rn(n=0-7):当前选中的工作寄存器组R0-R7。

Ri(I=0,1):作为地址指针的两个工作寄存器R0,R1。

#data:8位立即数。

#data16:16位立即数。

rel:补码表示的8位地址偏移量。

范围:-128-+127D。

bit:片内RAM或SFR的直接寻址位地址。

@:间接寄存器的符号。

/:位操作指令中对该位先取反再参与操作,不影响原值。

(×):×中的内容。

((×)):×指出的地址单元中的内容。

→:将左边的内容送于右边的单元。

多一个→,则其右边的()少一个。

direct:8位片内RAM单元(包括SFR)的直接地址。

addr11:11位目的地址,用于ACALL和AJMP指令中。

addr16:16位目的地址。

用于LCALL和LJMP指令中。

•掌握MCS-51 单片机的并行I/O 的结构特点,及控制接口操作两类指令的用法。

接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外设状态)和发布命令等。

I/O接口有:并行接口、串行接口、定时/计数器、A/D、D/A等。

根据外设的不同情况和要求选择不同的接口。

并行输入/输出接口:MCS-51单片机有P0、P1、P2、P3四个8位双向并行I/O口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,4个并行口共有32根端口线,用做位控制十分方便。

并行I/O口特点:
(1)4个并行I/O口都是双向的。

P0口为漏极开路驱动;P1、P2、P3口均具有内部上拉电阻驱动,它们有时称为准双向口。

(2)32根端口线都可用做输入或输出,还可进行位操作。

(3)当并行I/O口作为输入时,该口的锁存器必须先写入“1”,这是一个重要条件。

否则,该口不能读入正确数据。

P1口:MCS-51单片机的Pl口只有一种功能,即通用输入/输出接口。

1. 输出方式:当CPU执行写P1口的指令(如MOV Pl, #data)
时,P1口工作于输出方式,此时数据data经内部总线送入锁存器锁存。

2. 输入方式:当CPU执行读P1口的指令(如MOV A, P1)时,
P1口工作于输入方式。

P2口用途:通用I/O口或高8位地址总线。

----P2口用作地址线/通用I/O口
MOVX A, @Ri 或MOVX @Ri, A
此时,Ri寄存器提供的是8位地址,由P0口送出,不需要P2口,
P2口引脚原有的数据在访问片外RAM期间不受影响,故P2口仍
可用做通用I/O口。

当片外RAM容量较大需要由P2口和P0口送出16位地址时,P2
口不再用做通用I/O口。

P3口是双功能口,默认为第一功
能(通用I/O),通过编程可设
定为第二功能。

1. 通用I/O口状
态P3口用做准双向通用I/O口
时,其功能与P1口相同。

2. 第
二功能状态----P3口使用P3口
的每一位都可独立地定义为第一
功能I/O或第二功能使用。

P0口功能:地址/数据分时复用总线;通用I/O口。

P0口内部无上
拉电阻,作为I/O口时,必须外接上拉电阻;P0口作为地址/数据
总线的工作原理(输出);P0口作为输入端口的工作原理(输入);
P0口作为通用I/O口时的工作原理。

4个并行口使用注意事项
(1)如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O
接口,单片机的4个口均可作为I/O口使用;
(2)4个口在作为输入口使用时,均应先对其写“1”,以避免误读;
(3)P0口作为I/O口使用时应外接10K的上拉电阻,其它口则可不必;
(4)P2口某几根口线作地址使用时,剩下的口线不能作为I/O口线使用;
(5)P3口的某些口线作第二功能时,剩下的口线可以单独作为I/O口线使用。

(6)只有P0口是一个真正的双向口,P1~P3口都是准双向口。

•掌握MCS-51 单片机的定时器/ 计数器的可编程结构及其应用方法,如工作方式的选择、初始值的计算与装入、启停控制及编程的一般步骤等。

单片机有2个可编程的定时器/计数器T1、T0。

2种工作模式:计数器工作模式、定时器工作模式。

4种工作方式(方
式0-方式3)
结构:TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。

TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。

T0、T1都是16位加1计数器,TH0、TL0构成定时/计数器T0加1计数器的高8位和低8位。

定时控制寄存器(TCON)
TF0、TF1:计数溢出标志位。

TF0=1或TF1=1是计数溢出;
TF0=0或TF1=0是计数未满。

TR0、TR1:启/停控制位。

TR0=1或TR1=1,使T0或T1启动
计数;
TR0=0或TR1=0,使T0或T1停止计数。

工作方式控制寄存器(TMOD)
GATE:门控信号。

当GATE=0时,
TRx=1即可启动定时器工作;
当GATE=1时,要求同时有TRx=1和
INTx=1才可启动定时器工作(x是1、2)。

C/T:定时/计数器选择位。

C/T =1,为计数器工作方式;
C/T =0,为定时器工作方式。

方式0
当TMOD中M1M0=00时,选定方式0 (13
位状态)进行工作。

C/T=1时,图中电子开关S1切至下端,13位定时/计数器处于计数器状态,加法计数器对T0引脚上的外部输入
脉冲计数。

计数值:N=8192-x。

x是由TH0、TL0设定的初值。

x=8191时为最小计数值l,x=0时为最大计数值8192,即计数范围为1~8192(213)。

C/T=0时,图中电子开关S1切至上端,加法计数器对机器周期计数,13位定时/计数器处于定时器状态。

定时时
间:Td=(8192-x)×Tcy。

如果晶振频率fosc=12MHz,即机器周期为1μs,则定时范围为1μs~8192μs。

方式1
当TMOD中M1M0=01时,选定方式1 (16位状态)进行工作。

当作为计数器使用时,计数范围是1~65536(216);
当作为定时器使用时,定时器的定时时间为:Td=(216-Count)×Tcy。

如果晶振频率fosc=12MHz,则定时范围为:1~65536μs。

方式2
当M1M0=10时,定时/计数器选定方式2进行工作。

该方式下,16位计数器被分为两个8位寄存器TL0和TH0,其中TL0作为计数器,TH0作为计数器TL0的初值预置寄存器,并始终保持为初值常数。

当TL0计数溢出时,系统将TF0置位,并向CPU申请中断,同时将TH0的内容重新装入TL0,继续计数。

方式3
在方式3下,T0和T1的功能完全不同。

当M1M0=11时:T0定时/计数器处于方式3工作模式。

T1定时/计数器只能工作在方式0、1、2下
定时器作用
当MCS-5l内部的定时/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲位,计数器增l,因此定时/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的l/12。

当采用12MHz 频率的晶振时,计数速率为1MHz,输入脉冲的周期间隔为1μs。

由于定时的精度决定于输入脉冲的周期,因此当需要高分辨率的定时时,应尽量选用频率较高的晶振。

计数器作用
当定时/计数器用作计数器时,计数脉冲来自外部输入引脚T0或T1。

当输入信号产生由1至0的跳变(即负跳变)时,计数器的值增l。

由于确认一次负跳变需要用2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24,例如,选用6MHz频率的晶振,允许输入的脉冲频率为250kHz,如果选用12MHz频率的晶振,则可输入500kHz的外部脉冲。

对于外部输入信号的占空比并没有什么限制,但为了确保某一给定的电平在变化之前能被采样一次,则这一电平至少要保持一个机器周期。

定时/计数器初始化
(1)初始化步骤
1) 设置工作方式
2) 计算加1计数器的计数初值Count,并将计数初值Count送入TH、TL中
3) 启动计数器工作,即将TRx置1
4) 若采用中断方式,则应设置T0、T1及CPU开中断
(2)计数方式初始化
假设T0工作于计数方式1,计数值N = 1,即每当T0引脚输入一个计数脉冲就使加1计数器产生溢出,通常可以使用这种方法扩展外中断。

为了使加1计数器每加一次1就溢出,加1计数器的初值Count=0FFFFH=216-1,其中16为工作方式1时加1计数器的位数,1为计数值x。

现用n表示加1计数器的位数,用x表示计数值,则计数初值Count=2n-x,式中,n = 13,16,8和8,分别对应工作方式0,1,2和3。

(3)定时方式初始化
若系统主频fosc=6MHz,则机器周期Tcy=2μs,即计数器加一次1所用时间为2μs,若计数器加100次产生溢出(计数值N=100),则定时时间为200μs,即定时器定时时间Td=N×Tcy。

计数值N与计数器初值Count的关系是N=2n-Count 所以,定时时间Td =(2n-Count)Tcy
计数初值Count=2n-Td/Tcy (式中,n=13、16、8、8,分别对应方式0、1、2、3)
•掌握MCS-51 单片机的中断系统及其应用,如中断源与相关的专用寄存器、中断矢量、外部中断的两种触发方式、中断响应的条件和响应过程、中断优先级控制、中断使能控制等。

能够实现中断处理功能的部件称为中断系统;产生中断的请求源称为中断请求源。

中断源向CPU提出的处理请求,称为中断请求(或中断申请)。

进入中断→保护现场→中断处理恢复现场→中断返回
中断方式优点:大大地提高了CPU的工作效率。

五个中断请求源:
(1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标
志为IE0。

(2)INT1*—外部中断请求1,由引脚INT1*输入,中断请求标
志为IE1。

(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。

(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。

(5)串行口中断请求,中断请求标志为TI或RI。

外部中断的响应时间:外部中断的最短的响应时间为3个机器周期,外部中断响应最长时间为8个机器周期。

如果已在处理同级或更高级中断,响应时间无法计算。

在一个单一中断的系统里,MCS-51单片机对外部中断请求的响应的时间总是在3~8个机器周期之间。

MCS-51中断系统有4个特殊功能寄存器。

这4个特殊功能寄存器是定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)和中断优先级控制寄存器(IP)。

中断请求控制
TCON为定时/计数器控制寄存器,其字节地址为88H,可位寻址,位地址范围为88H~8FH。

这个寄存器有两个作用,即除了控制定时/计数器T0和T1的溢出中断外,还控制外部中断的触发方式和锁存外部中断请求标志位。

IT0:选择外部中断0的中断触发方式。

IT0=0,为电平触发方式,低电平有效;IT0=1,为边沿触发方式,P3.2引脚信号出现负跳变有效。

IE0:外部中断0的中断请求标志。

当INT0输入端口有中断时IE0=1,由硬件置位。

IT1:选择外部中断1的中断触发方式。

其功能与IT0类同。

IE1:外部中断INT1的中断请求标志。

功能与IE0类似。

TF0:片内定时/计数器0溢出中断请求标志。

定时/计数器的核心为加法计数器,当定时/计数器T0发生定时或计数溢出时,由硬件置位TF0或TF1,向CPU申请中断,CPU响应中断后,会自动清零TF0或TF1。

TF1:片内定时/计数器1溢出中断请求标志。

功能与TF0类同。

SCON 为串行口控制寄存器,其字节地址为98H ,可以进行位寻址。

串行口的接收和发送数据中断请求标志位(RI 、TI )被锁存在串行口控制寄存器SCON 中。

TI :串行口发送中断请求
标志位CPU 将一
个数据写入发送缓冲器SBUF 时,就启动发送,每发送完一帧串行数据后,硬件置位TI 。

但CPU 响应中断时,不清除TI 中断标志,必须在中断服务程序中由软件对TI 清0。

RI :串行口接收中断请求标志位:在串行口允许接收时,每接收完一帧数据,由硬件自动将RI 位置为1。

CPU 响应中
断时,并不清除RI 中断标志,也必须在中断服务程序中由软件对TI 标志清0。

中断允许控制
MCS-51对中断源的开放或屏蔽是由中断允许寄存器IE 控制的,IE 的字节地址为0A8H ,可以按位寻址,当单片机复位时,IE 被清为0。

通过对IE 的各位置1或清0操作,实现开放或屏蔽某个中断。

—EA
:总中断允许控制位。

当—
EA =0时,屏
蔽所有的中断;当—
EA =1时,开放
所有的中断。

ES :串行口中断允许控制位。

当ES=0时,屏蔽串行口中断;当ES=1且—
EA =1时,开放串行口中断。

ET1:定时/计数器T1的中断允许控制位。

当ET1=0时,屏蔽T1的溢出中断;当ET1=1且—
EA =1时,开放T1的溢出
中断。

EX1:外部中断1的中断允许控制位。

当EX1=0时,屏蔽外部中断1的中断;当EX1=1 且 —
EA =1时,开放外部中断
1的中断。

ET0:定时/计数器T0的中断允许控制位。

功能与ET1相同。

EX0:外部中断0的中断允许控制位。

功能与EX1相同。

单片机复位以后,IE 被清0,所有的中断请求被禁止。

由用户程序对IE 相应的位置1或清0,即可允许或禁止各中断源的中断申请。

改变IE 的内容,即可由位操作指令来实现(即SETB bit ;CLR bit ),也可用字节操作指令实现(即MOV IE, #data ;ORL IE, #data ;MOV IE, A 等)。

中断优先级控制
8051有2个中断优先级,每一个中断请求源均可编程为高
优先级中断或低优先级中断,从而实现2级中断嵌套。

中断优先规则:
1)正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且
执行了主程序中的一条指令后,CPU 才响应新的中断请求。

2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。

3) CPU 同时接收到几个中断请求时,首先响应优先级最高的中断请求。

在MCS-51内部提供了一个中断优先级控制寄存器(IP )。

其字节地址为B8H ,既可按字节形式访问,又可按位形式
访问,其位地址范围为0B8H ~0BFH 。

IP 各个位的含义:
(1)PS ——串行口中断优先级控制位 1:高优先级中断; 0:低优先级中断。

(2)PT1——定时器T1中断优先级控制位 1:高优先级中断; 0:低优先级中断。

(3)PX1——外部中断1中断优先级控制位 1:高优先级中断; 0:低优先级中断。

相关文档
最新文档