• 单片机中断寄存器知识点总结


    单片机中断源

    一、一般而言,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设置为工作方式28位自动装载的定时器

        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;//外部中断总开关

     

    Q:为什么叫外部中断呢???

    A;因为引起CPU中断的中断源信号来自单片机的外部。

      外部中断0的中断源信号从51单片机的P3.2引脚进入单片机

    外部中断1的中断源信号从51单片机的P3.3引脚进入单片机

     

    引起中断的有:1、低电平信号

                  2、从高电平变化到低电平的下降沿信号

     

    所以这些中断要被响应,就要通过设置一系列的寄存器,那么寄存器就来了,,,,

    二、

    1、中断允许寄存器IE             Time Interrupt

    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

    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/T0定时器                   1计数器

    5、串行口控制寄存器SCON

    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

     

     

     

  • 相关阅读:
    Linux recordmydesktop
    linux music play
    linux config NDK
    linux install wireshark
    Linux config cocos
    45 线程池都有哪些状态?
    44 创建线程池有哪几种方式?
    final 不能修饰抽象类和接口
    43 线程的 run() 和 start() 有什么区别?
    42 notify()和 notifyAll()有什么区别?
  • 原文地址:https://www.cnblogs.com/kinson/p/6946791.html
Copyright © 2020-2023  润新知