版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 7 章 单片机串行口及其应用,本章介绍 串行通讯原理、 MCS51串行口的结构、 串行口工作原理、 串行口工作方式, 重点 各有关特殊功能寄存器的设置、 波特率计算、 发送、接收中断服务程序编写。,7.1 串行通讯基本概念,并行通讯 并行通信通常是将数据字节的各位用多条数据线同时进行传送, 并行通讯传输速度快,且控制简单; 但传输线较多,线间存在电耦合,长距离传送时成本高且容易出错。,串行通讯所需电缆线少,且可以利用电话网等现成的设备,长距离传送时成本低。 但传输速度较并行通信低; 收发控制比并行通讯复杂,串行通讯,串行通讯的基本概念,一、串行通信的传输方式 包括单工、半双工和双工3种方式
2、 单工方式,半双工方式,双工方式,二、同步与异步传输,同步通信 该方式将要传输的数据按约定分成数据块,数据块之间用同步字符隔离。传输数据的二进制位之间没有间隔,因此传输时数据位是同步的,而且字符间也是同步的。,同步通信传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。 同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。 发送方对接收方的同步可以通过“外同步 ”和“自同步”两种方法实现。,异步通信,异步通信用起始位“0”表示一次串行通信的开始,然后从低到高逐位传送数据,最后用停止位“1”表示一次串行通信结束 一次通信
3、一般传送一个字符 为传送一个字符需要起始位和停止位的配合,将起始位、字符(数据)和停止位组成的数据流称为一帧信息,异步通信原理,在不同的异步通信协议中,起始位、数据位和停止位的长度不同 由于帧中加入起始位和停止位,将增大数据传输量,MCS51单片机的一帧信息包括一位起始位,8位或9位数据位和1位停止位,异步通信特点,异步通信以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的 每个字符中的各位是以固定的时间传送的,即字符之间是异步的(字符之间不一定有“位间隔”的整数倍的关系) 但同一字符内的各位是同步的(各位之间的距离均为“位间隔”的整数倍)。,三.比特率和波特率,比特率
4、用来表示串行通讯的传输速率。含义是每秒钟传输二进制代码的位数,单位是:位/秒(bps)。 如每秒钟传送360帧,而每帧包含10位(1个起始位、8个数据位和1个停止位),则比特率为: 10位360帧/秒 = 3600 bps,波特率是指调制信号每秒钟变化的次数,单位是波特(Baud)。 在基带传输中,数字信号“1”和“0”直接用高低两种电压表示的,这种情况下比特率和波特率是相同的。 所以,波特率也经常用来表示串行通讯的传输速率。,四.信号的调制与解调,当异步通讯的距离在30米以内时,计算机之间可直接通讯; 当传输距离更远时,为了减小信号畸变,保证通讯的正确率,发送时需先用调制器(Modulato
5、r)把数字信号转换成模拟信号(调制),放大后发送,而接收端再由解调器(Demodulator)把收到的模拟信号转换成数字信号(解调)再送入计算机或接收设备; 由于通信是双向的,调制器和解调器一般合并在一个装置中,称为调制解调器(MODEM)。,调制与解调通讯模型,7.2 MCS51串行口基本原理,单片机有一个全双工串行接口,通过P3口的两个引脚与外部设备进行串行通讯: P3.1为串行数据发送端TXD P3.0为串行数据接收端RXD 与串行口操作有关的特殊功能寄存器有SCON、PCON和SBUF; 内部还有发送控制器、接收控制器、输入移位寄存器等不可访问寄存器共同实现串行数据的输入输出。,MCS
6、51单片机串行口组成原理,不论是同步还是异步传输,收发双方的波特率应该一致,MCS51单片机的波特率发生器由T1构成,对于52子系列,也可用T2构成波特率发生器。,7.2.1与串口操作有关的特殊功能寄存器,1.串口控制寄存器SCON 串口控制寄存器SCON的字节地址98H,可位寻址,系统复位时,SCON清零。各位名称及位地址如下:,串行口工作方式,REN,允许串行接收位。如果软件对REN置“1”,则启动串行口接收数据;若清零REN位,则禁止接收。 TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。 RB8,在方式2或方式3中,是接收到数据的第九位。其作用视发送方TB8的作用
7、而定。 TI,发送中断标志位 RI,接收中断标志位,SM2为多机通信控制位,主要用于方式2和3,方式0时,SM2必须是0; 方式1时,若SM2=1,则只有接收到有效停止位时,RI才置1; 方式2、3时,如果接收机的SM2=1,当收到的RB8位为“1”时,收到的数据进入SBUF,并激活RI,通知CPU将数据从SBUF读走;反之则不激活RI,收到的信息丢弃; 当SM2=0时,不论收到的RB8为“0”还是“1”,均可以使收到的数据进入SBUF,并激活RI。 通过设置SM2,可以实现多机通信(后续介绍),2.电源控制寄存器 PCON,PCON字节地址位87H,不能位寻址,只有最高位SMOD位与串口工作
8、有关: SMOD1时,波特率加倍; SMOD0时,波特率不加倍。 SMOD称为波特率倍增位,复位时SMOD=0,3.数据缓冲器SBUF,单片机内部,有两个物理上独立的缓冲器,分别负责接收和发送数据,它们占用同一地址99H,编程时使用同样的寄存器名称SBUF 写SBUFMOV SBUF ,A时,硬件自动将数据送入发送缓冲器,开始串行发送 执行读SBUF指令MOV A ,SBUF时,硬件自动将接收缓冲器的内容送入A累加器,完成串行接收,7.2.2 串行口的工作方式,通过对SM0和SM1两个方式位的设置,串行口可工作于4种不同方式 方式0 同步移位寄存器输入输出方式。 数据由RXD(P3.0)引脚输
9、入或输出,同步移位脉冲由TXD(P3.1)引脚输出。 发送和接收均为8位数据,低位在先,高位在后。波特率固定为fosc/12。 工作方式0可用于扩展并行输入/输出口。,1)用方式0发送,数据写入SBUF后,开始从RXD端发送,低位在前,高位在后; 同时同步移位脉冲从TXD端输出 一字节发送完后,TI标志置“1”,发出中断请求; 如果要继续发送下一字节,必须用软件清除TI中断标志。,2)用方式0接收,REN为“1”,且RI0的条件下,将启动一个接收过程。 RXD为串行输入端,TXD为同步脉冲。 当接收完一帧数据后,各控制信号复位,RI变为高电平,请求中断。 要再次接收,也必须用软件清零RI。,2
10、.方式1,方式1是异步传输方式。 一帧数据为10位,包括数据1位起始位(0),8位数据位,1位停止位(1), TXD为数据发送引脚,RXD为数据接收引脚。,1)用方式1发送,CPU执行写SBUF的指令后,便开始一次发送过程,数据逐位从TXD端送出, 发送所用移位脉冲是定时器1溢出信号经16或32分频信号,即波特率是可变的, 方式1的波特率为2SMOD / 32T1溢出率。 一帧数据发送完后,TI置“1”,请求中断。TI标志也只能用软件清除。,2)用方式1接收,REN被软件置“1”后,接收器以所选择波特率的16倍速率采样RXD引脚电平,当检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将
11、其移入输入移位寄存器,并开始接收这一帧信息的其余位, 接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。,9位数据收完以后,如果满足下列条件则将接收到的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。 RI=0; SM2=0,或SM2=1但接收到的停止位为1,3. 方式2和方式3,方式2和方式3均为异步传输方式, 一帧数据由11位构成,即1位起始位(0),8位数据位,1位可编程位和1位停止位(1), TXD为数据发送引脚,RXD为数据接收引脚, 方式2的波特率仅受波特率倍增位的影响,为2SMODfosc
12、/64; 方式3的波特率可变,为2SMOD/32T1溢出率。,1)用方式2或3发送,方式2或3一帧数据包括9位有效位,发送前必须将要发送的第9位数据装入SCON寄存器的TB8中,常用方法是使用指令STEB 或CLR TB8置“1”或清零。 第9位数据的作用完全由用户程序决定,通常可作为奇偶校验位或多机通讯中的地址/数据标识位 第9位数据准备好后,执行写SBUF寄存器的指令即开始发送,2)用方式2或3接收,REN置“1”后,开始接收,接收过程与方式1相同, 8位数据接收完后,如果RI=0,且SM2=0(或接收到的第9位数据为1)时,接收到的8位数据装入接收缓冲器SBUF,第9位装入RB8,置位R
13、I,向CPU请求中断。 如果条件不满足,则数据丢失,且不置位RI,继续搜索RXD引脚的负跳变。,7.2.3 波特率计算,串行通信中,收发双方发送或接收数据的速率应该相同,才能保证接收。 51单片机串行口的四种工作方式中,方式0和方式2的波特率是固定的,这时要求收发双方主频一致或相差一倍; 方式1和方式3的波特率可变,必须对双方的定时器进行正确的设置才能保证波特率一致。,串行口的四种工作方式对应三种波特率,各种方式的波特率计算公式如下: 方式0的波特率 = fosc/12 方式1的波特率 =(2SMOD/32)(T1溢出率) 方式2的波特率 =(2SMOD/64)fosc 方式3的波特率 =(2
14、SMOD/32)(T1溢出率) 定时器的溢出率即定时时间的倒数,与采用的工作方式有关,可表示为: fosc/12(2K初值),定时器1作波特率发生器时,一般选方式2,这时溢出率取决于TH1中的基数值,即: T1 溢出率 = fosc /12256 (TH1) 如果波特率较低时,可定时器采用方式1。,常用的波特率及定时器初值,7.3.1利用串行口实现单片机之间通讯,两台计算机之间采用什么规则传送数据(通讯协议)需要由软件约定,需要约定的内容一般有波特率、数据格式、发送开始和接收完成后是否需要应答、是否需要检错以及发生通讯错误和如何处理等,例:两台单片机主频12MHZ,1#机用串口工作方式1将片内
15、数据存储器 30H50H共21H个数据发送给2#机。波特率2400波特。1#机每发送一字节,计算一次检验和,数据发送完成后,发检验和字节,最后收到2#机回送的检验和字节后,进行判断,如果相同,清20H位,本次传输完成,否则置位20H,主程序进行错误处理。,编程步骤:,计算波特率: 采用T1的工作方式2作波特率发生器,初值为: N256fosc / 波特率12(32/2SMOD ) 25612106 / 240012(32/20) 243F3H 工作单元及标志位设置: R7待发送字节数; R0发送单元地址指针; R0检验和存放单元; F0数据块发送完成标志; 20H位通讯错误标志,1#机发送主程
16、序:,OGR0000H SJMPMAIN ORG0023H LJMPSPORT ;转串口中断服务程序 MIAN:MOV TMOD,#00100000B ;定时器1工作于方式2 MOVTH1,#0F3H MOVTL1,#0F3H SETBTR1 MOVSCON,#01010000B ;串口方式1,REN1 MOVR7,#21H,MOVSCON,#01010000B ;串口方式1,REN1 MOVR7,#21H MOVR0,#50H ;首字节地址 MOVR1,#00H ;检验和清零 CLRF0 ;清发送完成标志 CLR20H ;清通讯错误标志 MOVA,R0 MOVSBUF,A ;发送第一字节 A
17、dda,R1 MOVR1,A ;存检验和 ;其它程序,1#机发送中断服务程序,SPORT:JBCRI,SP1;接收中断,转SP1 CLRTI DJNZR7,GOON;数据块未完,转GOON SETBF0;置数据块发送完成标志 MOVA,R1 MOVSBUF,A;发送检验和 SJMPSEND SP1: JNBF0,SEND ;不是检验和,转SEND,返回 MOVA,SBUF CJNEA,R1,ERR,CLR20H;清通讯错误标志 SJMPSEND ERR:STEB20H;置通讯错误标志 SJMPSEND GOON:DECR0 MOVA,R0 MOVSBUF,A ADDA,R1;计算检验和 MOV
18、R1,A SEND:RETI,7.3.2 多机通讯的实现,通过串口实现多机通讯常采用主从式结构,即在数个单片机中,有一个是主机,其余的是从机 从机要服从主机的调度、支配 构成这种主从式的多机通讯系统y一般采用串行口方式2和方式3,问题 多机系统中可能遇到哪些问题?如何解决?,通信协议:,初始时,主机SM2位清“0”,所有从机各确定一数值(00H0FFH)为其地址号,且SM2位置“1”,处于接收地址帧状态; 主机需要和哪台从机通讯时,先发送一地址帧,即8位数据为该从机地址,第9位TB8置“1”,表示该帧为地址帧; 由于TB8为1,所有从机都可接收到该地址帧,然后将接收的地址与本机的地址比较: 地址相符的从机,在串口接收中断服务程序中将SM2位清“0” ,并把本站地址发回主机作为应答; 地址不符的从机,仍保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南博源新材料有限公司招聘笔试历年难易错考点试卷带答案解析
- 2025广西河池天峨现代高科实业有限公司公开招聘天峨县现代网络科技有限公司人员1人笔试参考题库附带答案详解
- 2025广东广州开发区城市建设和房地产档案馆招聘初级雇员考试及人员笔试历年典型考点题库附带答案详解2套试卷
- 2025年安徽省科兴交通建设工程监理有限公司招聘8人笔试历年常考点试题专练附带答案详解2套试卷
- 2025安徽涡阳汇农农业投资发展集团有限公司招聘劳务派遣人员5人笔试参考题库附带答案详解
- 2025夏季中国建材集团有限公司校园招聘(广东有岗)笔试历年备考题库附带答案详解2套试卷
- 2025南平市山点水园林有限公司公开招聘拟聘用实习生笔试历年难易错考点试卷带答案解析
- 2025云南铜业股份有限公司招聘3人笔试参考题库附带答案详解
- 2025中铁众德(衡水)教育咨询服务有限公司招聘4人笔试历年难易错考点试卷带答案解析
- 2025中国水利水电第十二工程局有限公司云南分公司选聘5人笔试参考题库附带答案详解
- 2026年南京信息职业技术学院单招职业技能测试题库带答案详解(满分必刷)
- 深度解析(2026)《YYT 0302.2-2016牙科学 旋转器械车针 第2部分:修整用车针》
- 《老年人照料设施建筑装饰装修设计规程》上网征求意见稿
- 2026年及未来5年市场数据中国航空复合材料市场运行态势及行业发展前景预测报告
- 人教版七年级数学寒假作业(每日一练)
- 柴油机启动课件
- 动物医学毕业论文
- (2025年)煤矿洗煤厂安全培训试题及答案(从业人员安全生产基础知识)
- 2025年全国高校辅导员素质能力大赛基础知识测试卷及答案
- 马工程政治学概论第二版教学课件导论(上)
- 2026年沈阳职业技术学院单招职业适应性测试必刷测试卷必考题
评论
0/150
提交评论