




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 本节主要介绍串行通信概念及51系列单片机 的串行口问题,将具体介绍以下内容: 51单片机串行口-串行口结构、串行口的控制 寄存器、串行口的工作方式、应用举例。 串行通信基础-基本概念 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 串行通信基础串行通信基础 串行数据通信要解决两个关键技术问题, 一个是数据传送,另一个是数据转换。所 谓数据传送就是指数据以什么形式进行传 送。所谓数据转换就是指单片机在接受数 据时,如何把接收到的串行数据转
2、化为并 行数据,单片机在发送数据时,如何把并 行数据转换为串行数据进行发送。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 单片机的串行通信使用的是异步串行通信,所谓异步单片机的串行通信使用的是异步串行通信,所谓异步 就是指发送端和接收端使用的不是同一个时钟。异步串行 通信通常以字符(或者字节)为单位组成字符帧传送。 1、字符帧的帧格式 字符帧由四部分组成,分别是起始位、数据位、奇偶校验 位、停止位。位、停止位。 起 始 位 数 据 位 (0) 数 据 位 (1) 数 据 位 (n1) 奇 偶 位 停 止 位 停 止 位 起 始 位 一
3、帧数据 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 1) 起始位:位于字符帧的开头,只占一 位,始终位逻辑低电平,表示发送端开 始发送一帧数据。 2) 数据位:紧跟起始位后,可取 5、6、 7、8位,低位在前,高位在后。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 3)奇偶校验位:占一位,用于对字符传 送作正确性检查。奇偶校验位是可选择 的,共有三种可能,即奇偶校验、偶校 验和无校验,由用户根据需要选定。 4)停止位:末尾,为逻辑“ 1”高电平, 可取1、1.5、2位,表示一
4、帧字符传送 完毕。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 2.数据传送速率 串行通信的速率用波特率来表示,所谓波特率 就是指一秒钟传送数据位的个数。每秒钟传送一个数 据位就是1波特。即:1波特1bps(位/秒) 。 在串行通信中,数据位的发送和接收分别由发 送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率 高,则波特率高,通信速度就快;反之,时钟频率低, 波特率就低,通信速度就慢。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 8051单片机串行口的特殊功能寄存器 1. 串
5、行口控制寄存器( SCON) SCON是MCS-51单片机的一个可位寻址的专用 寄存器,用于串行数据通信的控制。单元地址为 98H,位地址为 98H9FH。寄存器的内容及位地 址表示如下: 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号 SM0 SM1 SM2 REN TB8 RB 8 TI RI 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 SCON中各位说明如下: 1) SM0 、SM1串行口工作方式选 择位 其状态组合和对应工作方式为: SM0 SM1 工作方式 0 0 方式0 0 1 方式1 1
6、0 方式2 1 1 方式3 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 2 2) SM SM 2允许方式2 2、3 3的多机通信控制位 在方式 2 2和3 3中,若 SM21 1且接收到的第九位数据 (RB 8)为1,才将接收到的前 8位数据送入接收缓冲 寄存器SBUF中,并置位RI产生中断请求;否则丢弃前 8 8位数据。若 SM SM 20 0,则不论第九位数据( RB8)为1 1 还是为0,都将前8 8位送入接收 SBUF中,并产生中断请 求。 方式0 0时,SM 2必须置0 0。 3 3) REN REN允许接收位 REN0 禁
7、止接收数据 REN1 允许接收数据 4 4) TB TB 8发送第9 9位数据 在方式2 2、3 3时,TB 8的内容是要发送的第 9 9位数 据,其值由用户通过软件来设置。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 5) RB8接收的第9位数据 在方式2、3时,RB8是接收的第9位数据。 在方式1时,RB8是接收的停止位 在方式0时,不使用RB8 6) TI发送中断标志位 在方式0时,发送完第8位数据后,该位由硬件置位。 在其它方式下,于发送停止位之前,由硬件置位。 TI1表示帧发送结束,其状态既可供软件查询使用, 也可请求中断。
8、TI由软件清“0”。 7) RI接收中断标志位 在方式0时,接收完第8位数据后,该位由硬件置位。 在其它方式下,接收到停止位之前,该位硬件置位。 RI1表示帧接收结束,其状态既可供软件查询使用, 也可请求中断。 RI由软件清“0”。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 2. 电源控制寄存器( PCON) PCON不可位寻址,字节地址为 87H。它主要是为 CHMOS型单片机 80C51的电源控制而设置的专用寄存 器。其内容如下: 与串行通信有关的只有D7位(SMOD),该位为波特率倍增位, 当SMOD=1时,串行口波特率增加一
9、倍,当SMOD=0时,串行口波特 率为设定值。当系统复位时,SMOD=0。 位序 D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD / / / GF1 GF0 PD IDL 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 80518051单片机串行通信工作方式单片机串行通信工作方式 方式0和方式2的波特率是固定的,而方式1和方式3的波 特率是可变的,由T1的溢出率决定。 SM0 SM1 方式 功能说明 波特率 0 0 方式0 移位寄存器方式 fosc/12 0 1 方式1 8位UART 可变 1 0 方式2 9位UART
10、fosc/64 或者 fosc/32 1 1 方式3 9位UART 可变 串行口的工作方式由SM0和SM1确定,编码和功能如下表 所示 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 串行工作方式串行工作方式0 0 1. 数据发送 当数据写入SBUF后,数据从RXD端在移位脉冲(TXD)的 控 制下,逐位移入74LS164,74LS164能完成数据的串并转换。当8 位数据全部移出后,TI由硬件置位,发生中断请求。若CPU响应 中断,则从0023H单元开始执行串行口中断服务程序,数据由 74LS164并行输出。其接口逻辑如下图所示。 RXD
11、 TXD 0 D 7 D 。 CLK 74LS164 8051 STB 0 . 1 P A B 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 2. 数据接收 要实现数据接收,必须首先把SCON中的允许接收位REN设置为 1。当REN设置为1时,数据就在移位脉冲的控制下,从 RXD端输入。 当接收到8位数据时,置位接收中断标志位 RI,发生中断请求。 其接口逻辑如下图所示。由逻辑图可知,通过外接74LS165,串 行口能够实现数据的并行输入。 RXD TXD 0 D 7 D . CLK 74LS165 8051 STB 0 . 1 P Q
12、 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 串行工作方式串行工作方式1 1 方式1为10位为一帧的异步串行通信方式。其帧格式为1个 起始位、8个数据位和1个停止位。如下图所示。 起始位 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 停止位 1. 数据发送 数据写入 SBUF后,开始发送,此时由硬件加入起始位和 停止位,构成一帧数据,由 TXD串行输出。输出一帧数据后, TXD保持在高电平状态下,并将 TI置位,通知CPU可以进行下一 个字符的发送。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如
13、有不 当之处,请联系本人或网站删除。 2. 2. 数据接收数据接收 当当REN=1REN=1且接收到起始位后,在移位脉冲的控制下,把接收且接收到起始位后,在移位脉冲的控制下,把接收 到的数据移入接收缓冲寄存器(到的数据移入接收缓冲寄存器( SBUFSBUF)中,停止位到来后,把)中,停止位到来后,把 停止位送入停止位送入RBRB8 8中,并置位中,并置位RIRI,通知,通知CPUCPU接收到一个字符。接收到一个字符。 3. 3. 波特率的设定波特率的设定 工作在方式工作在方式1 1时,其波特率是可变的,波特率的计算公式为:时,其波特率是可变的,波特率的计算公式为: 的溢出率)定时器波特率1(
14、32 2 ? SMOD 其中,其中,SMODSMOD为为PCONPCON寄存器最高位的值,其值为寄存器最高位的值,其值为1 1 或或0 0。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 当定时器1作波特率发生器使用时,选用工作方式2(即自 动加载定时初值方式)。选择方式2可以避免通过程序反复装入 定时初值所引起的定时误差,使波特率更加稳定。假定计数初 值为X,则计数溢出周期为: )256( 12 X fosc ? 溢出率为溢出周期的倒数。则波特率的计算公式为: )X256(12 fosc 32 2 SMOD ? ?波特率 实际使用中,
15、波特率是已知的。因此需要根据波特率的计 算公式求定时初值X。用户只需要把定时初值设置到定时器1, 就能得到所要求的波特率。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 串行工作方式串行工作方式2 2 方式2为11位为一帧的异步串行通信方式。其帧格式为1个 起始位、9个数据位和1个停止位。如下图所示。 起始位 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 D停止位 在方式2下,字符还是 8个数据位,只不过增加了一个第 9 个数据位(D8),而且其功能由用户确定,是一个可编程位。 在发送数据时,应先在 SCON的TB
16、8位中把第9个数据位的内 容准备好。这可使用如下指令完成: SETB TB 8 ;TB8位置“1” CLR TB 8 ;TB8位置“0” 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 发送数据(D0D7)由MOV指令向SBUF写入,而D8位的内容则 由硬件电路从TB 8中直接送到发送移位器的第九位,并以此来启 动串行发送。一个字符帧发送完毕后,将 TITI位置“1”,其他过 程与方式1相同。 方式2的接收过程也于方式 1基本类似,所不同的只在第 9数 据位上,串行口把接收到的前 8个数据位送入 SBUF,而把第九数 据位送入RB。 方式
17、2的波特率时固定的,而且有两种。一种是晶振频率的 三十二分之一;另一种是晶振频率的六十四分之一。即fosc/32 和fosc/64。如用公式表示则为: fosc 64 2SMOD ?波特率 由此公式可知,当SMOD为0时,波特率为fosc/64,当SMOD 为1时,波特率为fosc/32 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 串行工作方式3 方式3同方式2几乎完全一样,只不 过方式3的波特率是可变的,有用户来确 定。其波特率的确定同方式1。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本
18、人或网站删除。 例例1 1 已知8051的串行口采用方式1进行通信, 晶振频率为11.0592MHz,选用定时器T1作为 波特率发生器,T1工作于方式2,要求通信的 波特率为9600,计算T1的初值。 设Smod=0, 计算T1的初值如下: X = = 253 = FDH 12329600 100592.11 2 6 8 ? ? ? 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 例2 利用8051串行口将片内40H4FH单元 中的数据发送出去,串行口工作于方式2, TB8作为奇偶位。 在数据写入发送缓冲器之前,先将数据的 奇偶位写入TB8,这样使第9位数据作为校 验位。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。文档如有不 当之处,请联系本人或网站删除。 编程如下: TRS: MOV SCON, #80H ;设置串行口工作方式 2 MOV PCON, #80H ;波特率为fosc/32 MOV R0, #40H ;设置片内数据指针 MOV R2, #10H ;数据长度送R2 LOOP:MOV A, R0 ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年外贸跟单员职业资格考试试卷:外贸跟单外贸跟单业务流程试题
- 科研行业项目经费支付保障措施
- 2025年安全生产应急管理应急指挥中心试题卷
- 善良的农民650字10篇
- 2025年医保知识考试题库及答案:医保目录解读与药品分类试题试卷
- 儿科急救患儿护理
- 难忘作文600字(8篇)
- 2025全国英语等级考试(PETS)二级试卷:智能城市英语阅读理解
- 2025年初中地理学业水平考试模拟卷:地质灾害防治策略试题
- 2025年专升本艺术概论考试模拟卷-艺术传播与媒介发展趋势试题
- 数据中心的网络管理实践试题及答案
- 2024年中考二模 历史(四川成都卷)(考试版A4)
- 粉刷墙面施工协议书
- 辅导机构招聘合同协议
- 青年创新意识的培养试题及答案
- 《2025年CSCO肾癌诊疗指南》解读课件
- 村干部测试试题及答案
- 《新能源汽车发展历程》课件
- 2025年四川省成都市青羊区中考二诊化学试题(原卷版+解析版)
- 预收货款协议合同
- 北京开放大学2025年《企业统计》形考作业3答案
评论
0/150
提交评论