【经典单片机中断集合】记住这些寄存器你将成为单片机编程高手

2019-07-20 03:33发布

单片机中断源
一、一般而言,MCS-51单片机有5个中断源,分别是:
1、外部中断0;
2、外部中断1;
3、定时/计数器0中断;
4、定时/计数器1中断;
5、串行口发送或接受中断;
1)用到外部中断时:
  EX0 = 1;//中断允许开关
   IT0 = 0;//下降沿触发方式
   EA = 1;//总开关
2)用到定时/计数器中断时
   ET0 = 1;//启动计数器中断开关
   EA = 1;//总开关
   //定时器的核心在这下面这段代码
   TMOD = 0x09;
   TH0 = 0x0D8;
   TL0 = 0x0F0;
   TR0 = 1;//启动定时器
3)用到串口中断时
    EX1 = 1;//外部中断1分开关
    IT1 = 1;//触发方式:下降沿
    PX1 = 1;//设置为高优先级
    //步骤一:波特率配置,由定时器1的益处率决定
    TMOD = 0x20;//0010 0000 = 0x20,定时器1设置为工作方式2,8位自动装载的定时器
    TH1 = 0xF4;//初值
    TL1 = 0xF4;//波特率4800
    ET1 = 1;//定时器1允许分开关
    TR1 = 1;//启动定时
    //设置串口工作方式
    SCON = 0x50;//等同于TMOD,方式一,允许接收 0101 0000
    //PCON = 0x00;
    //TI = 0;发送中断标志位
    //RI = 0;接收中断标志位
    ES = 1;//IE寄存器第四位,串口中断允许位
    EA = 1;//外部中断总开关
二、
1、中断允许寄存器IETimeInterrupt
2、定时器控制寄存器TCON          8位寄存器
3、中断优先级寄存器IP(不常用)
4、定时器方式寄存器TMOD
5、串行口控制寄存器SCON
中断允许寄存器IE
(EX中断 、ET定时器/计数器)
位7  位6 位5  位4  位3  位2   位1  位0
EA                ES   ET1  EX1  ET0   EX0
EX0: 中断0中断允许位。1为允许,0否则相反。
EX1: 中断1中断允许位。1为允许,0否则相反。
ET0:定时器/计数器0中断允许位。1为允许,0否则相反。
ET1:定时器/计数器1中断允许位。1为允许,0否则相反。
ES:串口中断允许位
EA:总开关
(如果定时器工作在中断方式下,则当定时器的当前值计满溢出时,就会触发定时器溢出中断)
器控制寄存器TCON(低4位用作外部中断,高4位用作定时)
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则没有溢出。
中断优先级寄存器IP(不常用)
PX0:外部中断0
PX1:外部中断1
PT0:定时器/计数器0中断
PT1:定时器/计数器1中断
PS:串口中断
定时器方式寄存器TMOD
位7  位6  位5  位4  位3  位2  位1  位0
GATE  C/T  M1   M0   GATE  C/T  M1   M0
        T1方式                    T0方式
工作方式选择表
M1  M0     方式                    说明
0       0        0             13位定时器/计数器,TL存放低5位,TH存放高八位
0       1        1             16位定时器/计数器
1       0        2              初值自动装载的8位定时器/计数器
1       1        3             (不重要)
GATE:门控制位,相当于总开关
C/T:0定时器                   1计数器
5、串行口控制寄存器SCON
位7  位6  位5  位4  位3  位2  位1  位0
SM0  SM1  SM2  REN  TB8  RB8   TI    RI
SM0  SM 1 组合选择位
串行口方式选择
SM0  SM1   方式              说明                                                        波特率
0          0        0      8位全部数据发送                                                 fosc/12
0          1        1    10位数据发送,包括起始位,停止位                     可变
1          0        2    11位数据发送,包括起始位,停止位 ,校验位     fosc/64
1          1        3    同方式2
SM2 多机通信使能位
REN:串口数据接收允许位    1允许,0禁止。该位有软件置位或清0
TB8:在方式2和方式3中,这位发送的是第9位,就是校验位。
RB8:在方式2和方式3中,这位发送的是第9位,就是校验位。
TI:发送中断标志位 ,用完时要用软件清0
RI:接受中断标志位,用完时要用软件清0
嵌入式时代已经来了,不要纠结要不要踏入嵌入式的领域了,以下课程可免费试听C语言、电子、PCB、STM32、Linux、FPGA、Python、安卓等。
想要了解更多关于嵌入式方面的内容联系Tel/VX1/7/3/1/7/9/5/1/9/0/8

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。