单片机中断源
一般而言,MCS-51单片机有5个中断源,分别是:外部中断0、外部中断1、定时/计数器0中断、定时/计数器1中断、串行口发送或接受中断。
EX0=1;//中断允许开关
IT0=0;//下降沿触发方式
EA=1;//总开关
ET0=1;//启动计数器中断开关
EA=1;//总开关
//定时器的核心在这下面这段代码
TMOD=0x09;
TH0=0x0D8;
TL0=0x0F0;
TR0=1;//启动定时器
EX1=1;//外部中断1分开关
IT1=1;//触发方式:下降沿
PX1=1;//设置为高优先级
//波特率配置,由定时器1的益处率决定
TMOD=0x20;
//00100000=0x20,定时器1设置为工作方式2,8位自动装载的定时器
TH1=0xF4;//初值
TL1=0xF4;//波特率4800
ET1=1;//定时器1允许分开关
TR1=1;//启动定时
//设置串口工作方式
SCON=0x50;//等同于TMOD,方式一,允许接收01010000
//PCON=0x00;
//TI =0;发送中断标志位
//RI =0;接收中断标志位
ES=1;//IE寄存器第四位,串口中断允许位
EA=1;//外部中断总开关
单片机寄存器
1、中断允许寄存器IE
按位寻址,地址位A8H。
EX0:中断0中断允许位。1为允许,0否则相反。
EX1:中断1中断允许位。1为允许,0否则相反。
ET0:定时器/计数器0中断允许位。1为允许,0否则相反。
ET1:定时器/计数器1中断允许位。1为允许,0否则相反。
ES:串口中断允许位。
ET2:定时/计数器2中断允许位(8052用)。
EA:总开关。
如果定时器工作在中断方式下,则当定时器的当前值计满溢出时,就会触发定时器溢出中断。
2、定时控制寄存器TCON
按位寻址,地址位88H。
IT0:外部中断0触发方式。1为低电平,0为下降沿信号。
IT1:外部中断1触发方式。1为低电平,0为下降沿信号。
IE0:外部中断0请求标志位。IE0=1,有中断请求,0则没有。
IE1:外部中断1请求标志位。IE0=1,有中断请求,0则没有。
TR0:定时器/计数器0启动停止。1为启动,0为停止。
TR1:定时器/计数器1启动停止。1为启动,0为停止。
TF0:定时器/计数器标志位。1为溢出,0则没有溢出。
TF1:定时器/计数器标志位。1为溢出,0则没有溢出。
3、中断优先级寄存器IP
中断优先级寄存器不常用,简单介绍一下。按位寻址,地址位B8H。
PX0:外部中断0。
PX1:外部中断1。
PT0:定时器/计数器0中断。
PT1:定时器/计数器1中断。
PS:串口中断。
4、定时器方式寄存器TMOD
不按位寻址,地址位89H。
GATE:定时操作开关控制位。GATE=1时,INT1或INT0引脚为高电平,同时TCON中的TR0或TR1控制位为1时,定时/计数器0或1才开始工作。GAYTE=0时,则只要将TR0或TR1控制位设为1,定时/计数器0或1就开始工作。
C/T:定时器或计数器功能的选择位。C/T=1为计数器,通过外部引脚T0或T1输入计数脉冲。C/T=1时为定时器,由内部系统时钟提供计时工作脉冲。
M1:模式选择高位。
M0:模式选择低位。
5、串口控制寄存器SCON
特殊功能寄存器,按位寻址,地址位98H。
SM2:多机通信使能位。
REN:串口数据接收允许位 1允许,0禁止。该位有软件置位或清0。
TB8:在方式2和方式3中,这位发送的是第9位,就是校验位。
RB8:在方式2和方式3中,这位发送的是第9位,就是校验位。
TI:发送中断标志位 ,用完时要用软件清0。
RI:接受中断标志位,用完时要用软件清0。