电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 经典单片机中断集合】记住这些寄存器你将成为单片机编程高手

共1条 1/1 1 跳转至

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

菜鸟
2019-04-04 11:23:51    评分

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

单片机中断源

一、一般而言,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语言 C++、人工智能、数电模电、51单片机、 stm32 ARM Linux驱动 嵌入式、 FPGA、DSP Cortex-M4学习


请咨询邓老师:腾讯QQ3524659088 手机号17317951908

深圳,上海,北京,广州,南京,南宁,济南,郑州同步学习

 

理论与实践相结合 一线工程师项目经理教学 结合真实的产品案列 让你感受前所未有的电子产品的开发流程




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]