80C51中断
80C51的中断系统主要由几个与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成。80C51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套。
与中断有关的寄存器有4个,分别为中断源寄存器(即专用寄存器TCON 和SCON 的相关位)、中断允许控制寄存器IE 和中断优先级控制寄存器IP 。 80C51的中断源通常有三类,即外部中断、定时中断、串口中断。80C51有5个中断源,分别为两个外部中断源INTO(P3.2)和INT1(P3.3);两个片内定时器T0和T1的溢出中断源TF0(TCON.5)和TF1(TCON.7);一个片内串行口发送和接受中断源TI(SCON.1)和RI(SCON.0)。
中断入口地址:
中断源 入口地址
外部中断0 0003H
定时器T0中断 000BH
外部中断1 0013H
定时器T1中断 001BH
串行口中断 0023H
中断请求标志
TCON 中的标志
TCON 为定时器T0和T1的控制器,同时也锁存T0和T1的溢出中断标志及外部中断INT0和INT1的中断标志。
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H ) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
1. TCON.7 TF1——T1溢出中断标志。T1被启动计数后,从初值开始加1计数,直至计满溢出由硬件将TF1置位,向CPU 请求中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清零。也可用软件查询该标志,并由软件清零。
2. TCON.6 TR1——T1运行控制位。由软件清零关闭定时器1。当GA TE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GA TE=0时,TR1置“1”即启动定时器1。
3. TCON.5 TF0——T0溢出中断标志位。
4. TCON.4 TR0——T0运行控制位。
5. TCON.3 IE1——外部中断1(INIT1)中断标志位。IE1=1表明外部中断1向CPU 申请中断。
6. TCON.2 IT1——外部中断1(INIT1)触发方式控制位。当IT1=0时,外部中断1为电平触发方式。当IT1=1时,外部中断1为边沿触发方式。
7. TCON.1 IE0——外部中断0的中断标志位。
8. TCON.0 IT0——外部中断0的触发方式控制位。
SCON 中的中断标志 SCON 是串行口控制寄存器
SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 98H TI RI
1. SCON.1 TI——串行发送中断标志。CPU 将一个字节数据写入发送缓冲器SBUF 后启动发送,发送完一个串行帧,硬件置位TI 。但CPU 响应中断后,并不能将TI 清零,标志位必须由软件清零。
2. SCON.0 RI——串行接受中断标志。在串行口允许接受时,每接受完一个串行帧,硬件置位RI 。同样CPU 响应中断后不能将RI 清零,标志位必须由软件清零。
80C51在系统复位后,TCON 和SCON 中各位均清零。应用中应注意初始状态。
中断允许控制
80C51单片机中,专用寄存器IE 为中断允许控制寄存器,通过向IE 写入中断控制字,控制CPU 对中断的开发或屏蔽,以及每个中断源是否允许中断。
IE AFH AEH ADH ACH ABH AAH A9H A8H A8H EA -- -- ES ET1 EX1 ET0 EX0
1. IE.7 EA——CPU 中断总允许位。EA=1,CPU 开放中断,每个中断源被允许还是被禁止,分别由各自的允许位确定;EA=0,CPU 屏蔽所有中断要求。
2. IE.4 ES——串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。
3. IE.3 ET1——定时器T1中断允许位。ET1=1,允许定时器T1中断;ET1=0,禁止定时器T1中断。
4. IE.2 EX1——外部中断1允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外中断1中断。
5. IE.3 ET0——定时器T0中断允许位。ET0=1,允许定时器T0中断;ET0=0,禁止定时器T0中断。
6. IE.2 EX0——外部中断0允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外中断0中断。
80C51系统复位后,IE 中各中断位允许位都能被清“0”,即禁止所有中断。
中断优先级的设定
80C51单片机中断优先级的设定由专用寄存器IP 统一管理,它具有两个中断优先级,可以由软件设置是高优先级中断还是低优先级中断,并可实现两级中断嵌套。高优先级中断可中断正在执行的低优先级中断,同级或低优先级的中断源不能中断正在执行的中断服务程序。
专用寄存器IP 为中断优先级寄存器,锁存个中断源优先级的控制位,用户可通过软件对其设置。
IP BCH BBH BAH B9H B8H B8H -- -- -- PS PT1 PX1 PT0 PX0
1. IP.4 PS——串行口中断优先级控制位。PS=1,设定串行口为高优先级
中断;PS=0为低优先级中断。
2. IP.3 PT1——定时器T1中断优先级控制位。PT1=1,设定定时器T1
为高优先级中断;PT1=0,为低优先级中断。
3. IP.2 PX1——外部中断1中断优先级控制位。PX1=1,设定外部中断1
为高优先级中断;PX1=0,为低优先级中断。
4. IP.3 PT0——定时器T0中断优先级控制位。PT0=1,设定定时器T0
为高优先级中断;PT0=0,为低优先级中断。
5. IP.2 PX0——外部中断0中断优先级控制位。PX0=1,设定外部中断0
为高优先级中断;PX0=0,为低优先级中断。
系统复位后IP 低5位全部清“0”,将所有的中断设置为低优先级。
自然优先级:
中断源 自然优先级
外部中断0 最高级
定时器T0中断
外部中断1
定时器T1中断
串行口中断 最低级
2010-08-13
80C51中断
80C51的中断系统主要由几个与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成。80C51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套。
与中断有关的寄存器有4个,分别为中断源寄存器(即专用寄存器TCON 和SCON 的相关位)、中断允许控制寄存器IE 和中断优先级控制寄存器IP 。 80C51的中断源通常有三类,即外部中断、定时中断、串口中断。80C51有5个中断源,分别为两个外部中断源INTO(P3.2)和INT1(P3.3);两个片内定时器T0和T1的溢出中断源TF0(TCON.5)和TF1(TCON.7);一个片内串行口发送和接受中断源TI(SCON.1)和RI(SCON.0)。
中断入口地址:
中断源 入口地址
外部中断0 0003H
定时器T0中断 000BH
外部中断1 0013H
定时器T1中断 001BH
串行口中断 0023H
中断请求标志
TCON 中的标志
TCON 为定时器T0和T1的控制器,同时也锁存T0和T1的溢出中断标志及外部中断INT0和INT1的中断标志。
TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H (88H ) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
1. TCON.7 TF1——T1溢出中断标志。T1被启动计数后,从初值开始加1计数,直至计满溢出由硬件将TF1置位,向CPU 请求中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清零。也可用软件查询该标志,并由软件清零。
2. TCON.6 TR1——T1运行控制位。由软件清零关闭定时器1。当GA TE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GA TE=0时,TR1置“1”即启动定时器1。
3. TCON.5 TF0——T0溢出中断标志位。
4. TCON.4 TR0——T0运行控制位。
5. TCON.3 IE1——外部中断1(INIT1)中断标志位。IE1=1表明外部中断1向CPU 申请中断。
6. TCON.2 IT1——外部中断1(INIT1)触发方式控制位。当IT1=0时,外部中断1为电平触发方式。当IT1=1时,外部中断1为边沿触发方式。
7. TCON.1 IE0——外部中断0的中断标志位。
8. TCON.0 IT0——外部中断0的触发方式控制位。
SCON 中的中断标志 SCON 是串行口控制寄存器
SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 98H TI RI
1. SCON.1 TI——串行发送中断标志。CPU 将一个字节数据写入发送缓冲器SBUF 后启动发送,发送完一个串行帧,硬件置位TI 。但CPU 响应中断后,并不能将TI 清零,标志位必须由软件清零。
2. SCON.0 RI——串行接受中断标志。在串行口允许接受时,每接受完一个串行帧,硬件置位RI 。同样CPU 响应中断后不能将RI 清零,标志位必须由软件清零。
80C51在系统复位后,TCON 和SCON 中各位均清零。应用中应注意初始状态。
中断允许控制
80C51单片机中,专用寄存器IE 为中断允许控制寄存器,通过向IE 写入中断控制字,控制CPU 对中断的开发或屏蔽,以及每个中断源是否允许中断。
IE AFH AEH ADH ACH ABH AAH A9H A8H A8H EA -- -- ES ET1 EX1 ET0 EX0
1. IE.7 EA——CPU 中断总允许位。EA=1,CPU 开放中断,每个中断源被允许还是被禁止,分别由各自的允许位确定;EA=0,CPU 屏蔽所有中断要求。
2. IE.4 ES——串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。
3. IE.3 ET1——定时器T1中断允许位。ET1=1,允许定时器T1中断;ET1=0,禁止定时器T1中断。
4. IE.2 EX1——外部中断1允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外中断1中断。
5. IE.3 ET0——定时器T0中断允许位。ET0=1,允许定时器T0中断;ET0=0,禁止定时器T0中断。
6. IE.2 EX0——外部中断0允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外中断0中断。
80C51系统复位后,IE 中各中断位允许位都能被清“0”,即禁止所有中断。
中断优先级的设定
80C51单片机中断优先级的设定由专用寄存器IP 统一管理,它具有两个中断优先级,可以由软件设置是高优先级中断还是低优先级中断,并可实现两级中断嵌套。高优先级中断可中断正在执行的低优先级中断,同级或低优先级的中断源不能中断正在执行的中断服务程序。
专用寄存器IP 为中断优先级寄存器,锁存个中断源优先级的控制位,用户可通过软件对其设置。
IP BCH BBH BAH B9H B8H B8H -- -- -- PS PT1 PX1 PT0 PX0
1. IP.4 PS——串行口中断优先级控制位。PS=1,设定串行口为高优先级
中断;PS=0为低优先级中断。
2. IP.3 PT1——定时器T1中断优先级控制位。PT1=1,设定定时器T1
为高优先级中断;PT1=0,为低优先级中断。
3. IP.2 PX1——外部中断1中断优先级控制位。PX1=1,设定外部中断1
为高优先级中断;PX1=0,为低优先级中断。
4. IP.3 PT0——定时器T0中断优先级控制位。PT0=1,设定定时器T0
为高优先级中断;PT0=0,为低优先级中断。
5. IP.2 PX0——外部中断0中断优先级控制位。PX0=1,设定外部中断0
为高优先级中断;PX0=0,为低优先级中断。
系统复位后IP 低5位全部清“0”,将所有的中断设置为低优先级。
自然优先级:
中断源 自然优先级
外部中断0 最高级
定时器T0中断
外部中断1
定时器T1中断
串行口中断 最低级
2010-08-13