付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第五章 串行通讯及其接口,主要内容: 串行通讯的一般概念 单片机的串行通讯接口 串行通讯接口应用举例,2,5.1串行通讯的一般概念,通讯的基本方式 数据传输速率波特率 串行通讯的两种基本方式 串行数据传送的方向 通用的异步接收器/发送器UART,3,串行通讯的一般概念,通讯:CPU与外部的信息交换。 并行通讯:数据各位同时传送。 串行通讯:数据一位一位顺序传送。,4,通讯的基本方式,5,数据传输速率波特率,定义:数据传送速率,即每秒钟传送多少位 例:某计算机串行传送,每秒送120个字符 编码,一个字符编码为10位,求波特率? 120101200位/秒1200波特,波特率有效数据位传送速率,
2、字符编码中10位不都是数据,比如有一个停止位、启动位、奇偶标志位,则有效数据位只有7位 有效数据位传送速率为:7120840位/秒,6,串行通讯的两种基本方式,同步通信:严格同步,发送同步码,数据连 续,信息量大, 速度较高 异步通信 :帧格式传送,信息量不大,7,异步传送,异步传送:以字符为单位一个个地发送和接收的 字符由10位组成,分为三部分: 1)起始位(0),用逻辑”0”低电平表示 通知接收设备,新字符到达。 复位接收设备,准备接收 2)字符位(5 8位) 3)停止位(1),用逻辑”1”高电平表示,8,异步传送,(1)无空闲位,9,异步传送,(2)加空闲位,10,异步传送,异步传送是靠
3、字符不同格式联络 传送双方要事先约定: 1、字符格式 2、波特率(Band rate),11,同步传送,1、有效数据位传送速率高于异步传送 2、硬件设备较为复杂: 1)要求发送端和接收端的严格同步, 2)对相位一致性要求严格- 锁相器,12,串行数据传送的方向,13,主从多终端通讯方式,14,通用的异步接收器/发送器UART,1)计算机 发送端,并 串,2)串行接收端 计算机,串 并,计算机完成这一并 串,串 并的硬件电路就是UART,15,如图,它既能发送(并-串输出),又能接收(串-并输入)。对每一方来说,都是一个双缓冲结构。 接收时,RXD-移位寄存器-缓冲器-数据总线 -CPU 发送时
4、,CPU-总线- 缓冲器-移位寄存器 -TXD端一位一位移位输出(变为串行的),16,UART的出错标志位,一般有以下三种 奇偶错误 帧错误 溢出(丢失)错误,17,通用的异步接收器发送器UART,一般用外时钟和接收的数据进行同步 设外时钟周期为Tc,每位数据传送时间为Td则 TcTdk,其中k16或64 外时钟以16倍的数据传送速率来采样数据线当 发现第一个“”连续采到个“”,即可确认为 起始信号,如下图:,18,19,每16个时钟读一次数据位是“1”还是“0” 1、保证每次采样在数据位的中间 2、避开了信号在上升或下降时可能产生的 不稳定状态 单片机中,连采三次,取至少两次相同的值 相当于
5、数值滤波-抗干扰问题,20,21,5.2 MCS-51的串行通讯接口,串行接口的控制寄存器 串行接口的四种工作方式 多处理机通信 波特率的设定,22,MCS-51的串行通讯接口,其串行口为全双工的:可同时发送、接收数据 这是由硬件上的相互独立的接收、发送缓冲器保 证的 发送:只写不读(保证发送,只能由内-外) 接收:只读不写(保证接收,只能由内-外) 串行口是可编程的,其功能可由用户在控制寄 存器SCON中写入不同的控制字来改变,23,串行接口的控制寄存器,1、控制寄存器SCON (98H,可位寻址) 2、特殊功能寄存器PCON (字节地址87H,没有位寻址),25,26,特殊功能寄存器PCO
6、N,波特率选择位,0 维持原波特率,1 使方式2、3中波特率加倍,27,串行接口的四种工作方式,1、方式0:移位寄存器方式,输出可直接与移位 寄存器、I/O口、同步输入输出设备相连 发送:,启动了,数据,SBUF,一次发送,RXD输出数据,TXD输出同步脉冲,1/12fosc, 即每个机器周期送一位,使TI=1,申请中断,每个机器周期S6P2期间发送移位寄存器右移一次,要求新的发送数据-SUBF,28,接收:置方式0,REN=1(允许接收), 清除RI(方式接收),清除RI,接收,RXD:数据输入,TXD:移位脉冲输出,可以,接收控制器以1/12fosc采样RXD引脚输入数据,完,使RI=1,
7、申请接收中断,方式0:1、SM20 2、中断时,须在“中处”中用指令清RI,TI标志,29,(1)方式0 工作时波形图如下:,(a),30,(b),31,2.其它方式,方式,为UART方式,原理一样 1)发送过程(数据由TXD 端输出):,奇偶校验位或程控位(TB8),停止位,一帧完,硬件使TI,产生发送中断,在中处中,若还有数据要发送,请求CPU送出新的发送字节MOV SBUF,A,直到全部数据发送完,关串口中断,返回,起始位,数据低位,数据高位,后发,再发,写入SBUF的指令启动发送, 缓冲器,移位寄存器,先发,32,2)接收过程:(数据均由RXD输入),串行口以倍选定波特率采样RXD端状
8、态, 当采到该端电平由”1”到”0”的跳变时,接收一帧代码,拼成并行码,接收缓冲器,方式1:停止位,方式2、3:可程控第九位,RB8完,使RI=1,申请接收中断,在“中处”中执行指令 MOV A,SBUF, 取走该帧字符,否则不产生RI中断、不执行MOV A,SBUF,则下一次接收到的数据将本次冲掉,数据就会无条件丢失,启动接收器,33,方式1时串行通道工作波形,34,方式2、3时串行通道工作波形,35,方式1、2、3的区别,方式1、2、3主要区别在两方面,(1)字符格式,(2)波特率,这是异步通信事先要规定的两个重要约定,36,方式1、2、3的区别,1)字符格式约定 方式为8位异步通讯口:
9、方式2、3为9位异步通讯口:,启动位,停止位,启动位,停止位,数据:8位,数据:8位,接收送入SCON的RB8位,发送时用户通过置TB8决定该位为”0”还是”1”,37,在方式工作时定时器是作为波特率发生器 用,其中断应无效,而方式2的波特率为,2)波特率 方式、3的波特率可变,由定时/计数器产生,38,因振荡器的频率是固定的,故方式的波 特率只能取为,由编程PCON的SMOD,显然,方式2波特率变化范围小于方式1、3,1 加倍,0 不变,39,3)发送(输出)区别: 方式1、2、3应写入不同的方式控制字 方式,可程控TB8,(1)使第九位数据做多机 通讯中地址/数据位,(2)做奇偶校验位,4
10、0,方式1与方式2、3的主要区别,4)接收(输入)区别: 写入不同控制字,均使REN,允许接收 但要保存接收到的数据还应使:,41,在单机通讯时可利用TB8、RB8作为奇偶校验位,例:设R2为发送数据区地址指针,加入奇偶校验位的发送 程序如下: RIPTI:PUSHPSW PUSHA SETB PSW.4 CLR PSW.3 CLR TI,42,MOV A,R0 MOV TB8,P MOV SBUF,A INC R0 POP A POP PSW RETI,43,多处理机通讯,由控制字SM2位规定可知 SM2=1,串行口接收到的 第九位数据存于RB8:,RB8=1 产生中断,接收数据,RB8=0
11、 不产生中断,信息丢失,根据这一特性可用于实现多机通讯。,44,从机 编程方式为方式2或3 9位异步通讯方式,SM2=1,多机通讯控制,REN=1,允许接收,45,1、置所有从机SM2=1; 2、发地址,且使主机TB8=1;,从机RB8=1,各从机响应中断,对照地址,相符:使SM2=0,不符:维持SM2=1,SM2=1,4、主机发送数据信息,且此时TB8=0(主机),3、,其过程简述如下:,46,5、从机接收后RB8=0,从机中,地址相符,地址不符,SM2=0,RB8=0,可接收,数据送被寻址从机,SM2=1,RB8=0,不产生RI中断,数据丢失,否则接收到的数据将丢失,47,波特率的设定,方
12、式2:波特率固定为振荡频率的1/32或1/64 方式1、3 波特率可变。 波特率的制定主要是对方式1、3而言的。 由于方式1、3波特率可变,无法采用固定的振荡 频率,一般采用定时器1,且让工作于自动装载方 式(方式2,不中断)来产生波特率。,48,若已知定时器的溢出率,则工作在方式,时的 串行口波特率可由下式求得: 定时器的溢出率可由下式算出: 将此值代入求波特率的算式,可求得:,49,例1 若已知fosc6MHZ,SMOD=0不加倍, (TH1)=D9H,求波特率 反之,若已知波特率400, SMOD=0,fosc=6MHZ,问TH1(TL1)时间常数应 为多少?,50,51,52,方式1、
13、3时晶振与波特率之间的对应关系,晶振为6MHz时,最大波特率为: 加倍后位31.25K 最小波特率为: 加倍后位122,53,编程要求是: 选定正确的控制字,以保证接口功能的初始化 制定合适的波特率,这主要是选择定时器1的方式和时间常数据的确定; 在串行中断服务程序中要清除中断标志位,5.3串行接口通讯应用举例,54,例: 设有甲乙两台单片机,编出两台单片机间实现如下串 行通讯功能的程序: 甲机发送:将首址为ADDRT的128个字节的数据块 顺序向乙机发送; 乙机接收:将接收的128个字节的数据,顺序存放在 以首址为ADDRR的数据缓冲区中。,5.3串行接口通讯应用举例,55,56,ORG 0
14、000H LJMP MAINT ;跳至主程序入口 ORG 0023H LJMP INTSE1 ;转至串行中断服务程序 MAINT: MOV SCON,#01000000B ;置串行口工作方式1 MOV TMOD,#20H ;定时器1为工作方式2 MOV TL1,#0D9H ;产生400波特率的时间常数 MOV TH1,#0D9H,发送程序具体编程如下:,57,SETB TR1 ;启动定时器1 SETB EA ;开中断 SETB ES ;串行口开中断 MOV DPTR,ADDRT ;首址- DPTR MOV R0,#00H ;传送字节数初值 MOVX A,DPTR ;取第一个发送字节 MOV S
15、BUF,A ;启动串行口发送 SJMP ;等待中断,58,INTSE1: CLR SCON.1 ;清中断标志 INC R0 ;修改已发送的字节数 CJNE R0,#80H,LOOP ;判别128个字节都发送完没有, 若没完则转LOOP继续 取下一发送数据 CLR ES ;全部发送完毕,禁止串行口中断 SJMP ENDT ;转中断返回 LOOP: INC DPTR ;修改地址指针 MOVX A,DPTR ;取发送数据 MOV SBUF,A ;启动串行口 ENDT: RETI ;中断返回,中断服务程序,59,应注意接收方的波特率应和发送方的波特率相同。,60,ORG 0000H LJMP MAINR ;转主程序 ORG 0023H LJMP INTSE2 ;转串行口中断服务程序 MAINR: MOV SCON,#50H ;串行口为接收口,工作方式1 MOV TMOD,#20H ;定时器1为工作方式2 MOV TH1,#0D9H ;产生400波特率的时间常数 MOV TL1,#0D9H,接收程序具体编程如下:,61,SETB TCON.6 ;启动定时器 SETB EA ;开中断 SETB ES ;串行口开中断 MOV DPTR,ADDRR ;数据缓冲区首址-DPTR MOV R0,#00H ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医疗废物暂存管理培训试题(附答案)
- 我国环境污染责任制度
- 扒渣机安全生产责任制度
- 投资者责任制度
- 护理站人员岗位责任制度
- 招聘会安全责任制度
- 搏击教练责任制度
- 收费处安全责任制度范本
- 政府政治责任制度
- 教育乱收费责任制度
- 板材行业销售渠道分析
- 2024地面用晶体硅光伏组件环境适应性测试要求第1部分:一般气候条件
- 合同税率变更补充协议
- 教科版四年级下册科学全册教案
- 苏教版五年级下册数学 列方程解决两步实际问题 教案(教学设计)
- 人教版《体育与健康》水平二 跳跃单元作业设计
- 《煤气安全作业》培训教材
- 函数的零点与方程的解(说课课件)
- GB/T 29061-2012建筑玻璃用功能膜
- 无机材料工艺学-陶瓷2-原料
- 安全阀培训-课件
评论
0/150
提交评论