一般而言,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。
|