【经典单片机中断集合】记住这些寄存器你将成为单片机编程高手
发布时间:2018-10-24 09:52
发布者:xyd2018
关键词:
单片机、中断、串口
单片机中断源 一、一般而言,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、安卓等。 想要了解更多关于嵌入式方面的内容联系宋工QQ3524659088 Tel/VX17317951908 |
网友评论