中断定时器串口通信
更新时间:2023-08-11 23:50:01 阅读量: 外语学习 文档下载
- 串口中断和定时器中断推荐度:
- 相关推荐
C51中断定时器串口通信总结
总结
51单片机
一.中断
一、中断的概念
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);
待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。
二、80C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。
TCON
IE
IP
硬件查询
SCON
1、(P3.2)可由IT0(TCON.0)选择其为低电平有效还是下降沿有
C51中断定时器串口通信总结
效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。
2、(P3.3)可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。
3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。 4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。 5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
中断请求标志位
51单片机的这5个中断源的6个中断标志位和2个中断触发方式控制位分别由特殊功能的寄存器TCON和SCON的相应位锁存。
1、TCON的中断标志
IT0(TCON.0),外部中断0触发方式控制位。
当IT0=0时,为电平触发方式。
C51中断定时器串口通信总结
当IT0=1时,为边沿触发方式(下降沿有效)。
IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。 TF1(TCON.7),定时/计数器T1溢出中断请求标志位。 TR0(TCON.4),定时器T0运行控制位。TR0=1,开定时器0
TR1(TCON.6),定时器T1运行控制位。TR1=1,开 2.SCON的中断标志
RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。
TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。 三.CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。
C51中断定时器串口通信总结
EX0(IE.0),外部中断0允许位;
ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断1允许位; ET1(IE.3),定时/计数器T1中断允许位; ES(IE.4),串行口中断允许位;
EA (IE.7), CPU中断允许(总允许)位。
四、中断响应条件
1.中断源有中断请求; 2.此中断源的中断允许位为1; 3.CPU开中断(即EA=1)。
以上三条同时满足时,CPU才有可能响应中断。 例如:外部中断0响应条件: EA=1;//开全中断(允许位)
EX0=1;//开外部中断0中断(允许位)
IT0=1;//触发方式(0:低电平触发,1:边沿触发) void exter0() interrupt 0 { …
}
C51中断定时器串口通信总结
二.定时器
一、定时/计数器的结构
定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 1、工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:
GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。
C/T:定时/计数模式选择位。C/T=0为定时模式;C/T =1为计数模式。
M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。
C51中断定时器串口通信总结
主要用方式1!
TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:
1.TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。
2.TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。 3.TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。
4.TR0(TCON.4):T0运行控制位,其功能与TR1类同。
C51中断定时器串口通信总结
定时器/计数器初始化程序应完成如下工作: 1、 2、 3、 4、
对TMOD赋值,以确定T0和T1的工作方式。 计算初值,并将其写入TH0、TL0或TH1、TL1。 中断方式时,则对IE赋值,开放中断。
使TR0或TR1置位,启动定时/计数器定时或计数。
C51中断定时器串口通信总结
三.串口
一.80C51串行口的结构
有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H ;接收器是双缓冲结构 ;发送缓冲器,因为发送时CPU是主动的,不会产生重叠错误。 二.80C51串行口的控制寄存器
SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
C51中断定时器串口通信总结
SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。
在方式0时,SM2必须是0。在方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1。
●REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。 在方式0和方式1中,该位未用。
●RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。
●TI,发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。
C51中断定时器串口通信总结
●RI,接收中断标志位。在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。
PCON中只有一位SMOD与串行口工作有关 :
SMOD(PCON.7) 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。 四、波特率的计算
在串行通信中,收发双方对发送或接收数据的速率要有约定。通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。
串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。 方式0的波特率 = fosc/12
方式2的波特率 =(2SMOD/64)· fosc 方式1的波特率 =(2SMOD/32)·(T1溢出率) 方式3的波特率 =(2SMOD/32)·(T1溢出率)
C51中断定时器串口通信总结
当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式(即方式2,且TCON的TR1=1,以启动定时器)。这时溢出率取决于TH1中的计数值。 T1 溢出率 = fosc /{12×[256 -(TH1)]}
在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所以,选用的波特率也相对固定。常用的串行口
波特率以及各参数的关系如表所示。
C51中断定时器串口通信总结
串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下: 1、 确定T1的工作方式(编程TMOD寄存器); 2、 计算T1的初值,装载TH1、TL1; 3、 启动T1(编程TCON中的TR1位); 4、
确定串行口控制(编程SCON寄存器);
串行口在中断方式工作时,要进行中断设置(编程IE、寄存器)。
TMOD=0X20; //T1方式2 TH1=FDH;//9600 TL1=FDH;//9600 TR1=1;//开定时器1 MOM1=01;//串口工作方式1 REN=1;//允许串口接收 EA=1;//开全局中断 ES=1;//开串口中断
例1:外部中断0响应条件: EA=1;//开全中断(允许位)
IP
C51中断定时器串口通信总结
EX0=1;//开外部中断0中断(允许位)
IT0=1;//触发方式(0:低电平触发,1:边沿触发) void exter0() interrupt 0 { 。。。。。 }
例2:外部中断1响应条件: EA=1;//开全中断(允许位)
EX1=1;//开外部中断1中断(允许位)
IT1=1;//触发方式(0:低电平触发,1:边沿触发) void exter1() interrupt 2 { 。。。。。 }
例3:定时器0中断响应条件:
TMOD=0x01H;//选择定时器0为工作方式1 TH0= //初始化 TL0= //初始化 EA=1;//开全中断(允许位)
ET0=1;//开定时器/计数器0中断中断(允许位) TR0=1;//开定时器0
C51中断定时器串口通信总结
void timer0 () interrupt 1 { 。。。。。 }
例4:定时器1中断响应条件:
TMOD=0x10H;//选择定时器1为工作方式1 TH1= //初始化 TL1= //初始化 EA=1;//开全中断(允许位)
ET1=1;//开定时器/计数器1中断中断(允许位) TR1=1;//开定时器1 void timer1 () interrupt 3 { 。。。。。 }
例5:串口中断响应条件: #include<reg52.h> unsigned char a; void main() {
TMOD=0X20; //T1方式2 TH1=FDH;//9600
C51中断定时器串口通信总结
TL1=FDH;//9600 TR1=1;//开定时器1 MOM1=01;//串口工作方式1 REN=1;//允许串口接收 EA=1;//开全局中断 ES=1;//开串口中断
while(1) {
if(RI==1) { } } }
void ser() interrupt 4 { } RI=0; P1=SBUF;
RI=0; P1=SBUF;
正在阅读:
中断定时器串口通信08-11
成长真好作文600字06-30
工程制图 绘图综合技能实验报告答案11-02
2015-2020年中国进口食品产业发展现状及发展前景报告01-02
质量信息 第三期05-15
第一章:C语言关键字06-04
对做好新形势下民兵军事训练工作的思考08-27
古代汉语第二册期末复习资料12-19
- 奶牛焦虫病的诊断与防治 - 医学期刊频道--首席医学网
- 外包工程发包流程
- 管理信息系统(路晓丽版)课后题答案(1-12章全)
- 小学语文课题研究方案
- 企业内部培训师管理制度
- 《史记》拓展阅读设计
- 入口广场铺装施工方案
- 附录B塔式起重机安装验收记录表
- 云南省昆明三中2014-2015学年高二下学期期中考试物理试卷 (Word版含答案)
- 郑州大学毕业设计附件
- 民俗学视野下的中国百年歌谣研究
- 巩固练2020统编版(2019)高二选择性必修上册第一单元阶段复习 第一单元仿真模拟训练
- 量化研究学习书单
- 给尾注编号加方括号超级简单方法
- 第1课《放大镜》
- 定价的步骤及新产品定价策略(1)
- 八年级英语下册第六单元基础知识
- 全省地方志工作会议综述
- An Investigation of Tightly Coupled Time Synchronous Speech Language Interfaces Using a Uni
- 新目标英语八年级(上)单元测试题(Units6-7)
- 定时器
- 串口
- 中断
- 通信
- 乐成春华室内设计师培训班
- 小学三年级语文试题及答案
- 基于层次分析法的企业中层管理者绩效评价
- 歌剧魅影观后感
- 教师招聘《中学教育心理学》全真模拟(28日-1708).docx
- 幼儿园国旗下讲话《做个讲文明懂礼貌的好孩子》
- 第2课 古代埃及
- 【最新外研版】小学英语(三年级起点)三年级上册全册导学案
- 3,4讲)电机设计 第三章 磁路计算-LF
- 概念图在初中生物教学中的应用
- 圣诞节电视广告文案
- 毕业设计说明书(论文)撰写规范
- 微波辐射合成荧光增白剂PEB
- 防洪防汛应急预案
- 选择性催化还原烟气脱硝技术在玉环电厂4_1000MW机组上的应用
- 【干货】阿里内部运营兵法:数据+内容+资源+创意+沟通
- 数控车床实习心得范文
- 数字图像处理试卷A答案0306401_404班
- 2017-2022年中国智能手表市场运行态势研究报告(目录)
- 基层治理座谈发言材料