89C51的中断系统有5个中断源:外部中断0、定时器0、外部中断1、定时器1、串口中断(优先级依次递减);2个中断优先级:高优先级、低优先级。
中断相关寄存器
中断优先级控制寄存器IP
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为低优先级中断。定时器控制寄存器TCON
其中,TF1、TR1、TF0和TR0位用于控制定时器/计数器;IE1、IT1、IE0和IT0位用于控制中断系统。
TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。
TR1:定时器1运行控制位。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。由软件清“0”关闭定时器1。
TF0:定时器0溢出标志。其功能及操作情况同TF1。
TR0:定时器0运行控制位。其功能及操作情况同TR1。
IE1:外部边沿触发中断1请求标志。其功能和操作类似于TF0。
IT1:外部中断1类型控制位。通过软件设置或清除,用于控制外中断的触发信号类型。IT1=1,边沿触发。IT=0是电平触发。
IE0:外部边沿触发中断0请求标志。其功能和操作类似于IE1。
IT0:外部中断0类型控制位。通过软件设置或清除,用于控制外中断的触发信号类型。其功能和操作类似于IE1。定时器控制寄存器TMOD
GATE :定时操作开关控制位。若GATE=1,只有当INT0或INT1引脚为高电平,并且TCON中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。若GATE=0,则只要将TR0或TR1控制位设为1,计时/计数器0或1就开始工作。
C/T :定时器或计数器功能的选择位。C/T=1时为计数器,通过外部引脚T0或T1输入计数脉冲。C/T=0时为定时器,由内部系统时钟提供计时工作脉冲。
M1 、M0:T0、T1工作模式选择位。串行通信控制寄存器SCON
SM0、SM1:串行口工作方式控制位。
SM2:多机通信控制位。 多机通信工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃;当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。工作于方式0时,SM2必须为0。
REN:允许接收位。REN用于控制数据接收的允许和禁止。REN=1时,允许接收;REN=0时,禁止接收。
TB8:发送接收数据位8。在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。
RB8:接收数据位8。在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。
TI:发送中断标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。
RI:接收中断标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。中断寄存器IE
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中断控制位。ET0=1,允许T0中断;ET0=0,禁止T0中断。
EX0:外中断0中断控制位,EX0=1,允许外中断0中断;EX0=0,禁止外中断0中断。中断源
中断函数
void int0 () interrupt 0 using 1 //int0为函数名称,() interrupt为固定格式,0位中断号,using 1是指函数具体使用哪一组寄存器(可不写)。
{
do anything that you want
}
上一篇:微机基础与89C51单片机部分知识
下一篇:51单片机点阵实验
推荐阅读最新更新时间:2024-11-12 21:29
设计资源 培训 开发板 精华推荐
- DEV-15837,SparkFun weather:bit - micro:bit 载板 (Qwiic)
- LTC2946MPMS-1 轨至轨电源、电荷和能量监视器的典型应用
- HDMI 1进4出 同屏器/分配器
- AD8048-EB,AD8048 评估板,用作 AD872(12 位、10 MSPS A/D 转换器)的驱动器
- AM3G-1212DZ ±12V 3 瓦直流至直流转换器的典型应用
- LT1737CS 演示板、隔离式、三路输出电源、Vin=8V 至 36V、Vout=+15V @ 100mA、-15V @ 100mA、+5V @ 200mA
- RXCA10X115AF40-FHP00A,基于 Altera FPGA Arria 10 GX 的 ATTILA 即时开发套件 (COTS GX ES1)
- RT9161 300/500mA低压差线性稳压器典型应用
- 斯塔克反应堆(low)
- #征集令#立创·梁山派-LoRa通信扩展板
- TE专题:可靠连接解决方案大集合
- 轻盈点击间,掌阅无尽风采!东芝PCIM在线展会和你不见不散!
- 观展有礼 | 到 e 络盟展台,领星巴克咖啡券(上海慕尼黑电子展)
- 《射频技术 For Dummies系列》书籍读后感征集
- 泰科电子工业事业部邀您云逛展 ——打破时间、空间的限制,TE Connectivity 线上工博会为您带来沉浸式VR观展体验
- 【EEWORLD第三十四届】2012年01月社区明星人物揭晓!
- 点评《与Atmel SAM D21/R21的相遇、相识、相知(上)》,赢温暖新春礼
- 3月21日有奖直播:ADI新一代高阻抗输入SAR ADC的优势与应用
- ST工业峰会巡演2023 已开启,北京、上海 报名进行中!
- 看MCU精品课程,让你立马变身考试达人!