串行通讯接口

上传人:豆浆 文档编号:11368875 上传时间:2017-09-02 格式:PDF 页数:12 大小:680.65KB
返回 下载 相关 举报
串行通讯接口_第1页
第1页 / 共12页
串行通讯接口_第2页
第2页 / 共12页
串行通讯接口_第3页
第3页 / 共12页
串行通讯接口_第4页
第4页 / 共12页
串行通讯接口_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《串行通讯接口》由会员分享,可在线阅读,更多相关《串行通讯接口(12页珍藏版)》请在金锄头文库上搜索。

1、第八章 串行通讯接口一、串行通讯概述二、MCS51串行通讯接口三、与PC机串行接口电路四、其它通讯方式一、串行通讯概述计算机与外部 (计算机 )交换信息称为 通讯 。并行通讯 计算机数据各位同时传送。串行通讯 数据逐位传送。1. 串行通讯的特点串行通讯只要一对数据线。传输速度慢。接口电路复杂。应用1、长距离传送。2、只能接收串行信号的设备或只能串行输出设备。2. 串行通讯类型串行通讯有同步和异步两种通讯类型3. 异步串行通讯组成字符数据在传输时,以桢为单位进行传输,每一桢都包含 同步信息 (指明字符的开始及结束)。1桢数据包含有起始位(1位)、数据位(5,6,7,8 位)、校验位(1位)、结束

2、位(1,1.5,2位)。D0 D1 Dn一个字符帧起始位数据位奇偶校验停止位1位 58位 1位 1,1.5,2位异步串行通讯格式举例起始位:1,数据位:8,停止位:1,带奇偶校验异步通讯的特点(1)以字符为单位发送,字符之间的间隔不受限制;(2)由起始位和停止位使收发双方同步;(3)通讯的精确格式(通讯协议)由收发双方选择。说明 : 通讯协议 约定传输字符的格式。规定起始位、数据位、校验位、停止位的长度; 约定通讯传输速率 (波特率 ),收发双方的波特率必须相等。 异步通讯收/发器(UART) 实现并行数据 串行数据的转换,形成桢。可用软件实现,多用硬件实现。形成以桢为单位的基本传输结构。 通

3、讯波特率:取决于移位脉冲频率。4. 同步通讯同步通讯是由一个起始同步符和若干个数据位以及一个CRC检验字段组成,传输的数据可以以字符为单位,也可以以二进制位为单位,因此同步传输也称为数据流。一帧数据同步符数据位校验字段CRC校验01111110(1)同步通讯以同步符作为一帧数据的起始标志,因此在传输的数据中不能包含有同步符。(2)同步通讯中一般数据位可达上千位,因此传输效率较高,传输速度较快。(3)同步通讯中传输位数较多,要求收发时钟严格同步。同步通讯的特点5. 串行通讯的传输方式信号传输速率 波特率。指每秒传输的二进制位数。常用的波特率有: 110, 300, 600, 900, 1200,

4、 2400,4800, 9600, 19200, 38400, 57600, 115200。线路传输方式1、单工方式:数据只能按一个固定方向传输。如:寻呼系统。2、半双工方式:可以 2个方向传送,但不能同时传送。如 :对讲机。3、全双工方式:双方可以同时传送。如:电话。信号传输方式1、 基波传输方式 基波传输又称基带传输,按信号原样进行直流传输。这种方式适合于近距离慢速传输。2、 模拟载波传输方式 使用调制解调器将数字信号转换成模拟信号进行传输。调制方式:移幅键控 ( ASK)由两种幅度正弦波表示“ 0”和“ 1”。移频键控 ( FSK)由两种频率正弦波表示“ 0”和“ 1”。移相键控 ( P

5、SK)由正弦波两种相位表示“ 0”和“ 1”。6. 串行通讯的校验方法循环冗余校验 CRC(Cyclic Redundancy Check) CRC校验是用一个固定数去除信息码得出余数,将此余数附加在原信息之后,成为CRC字符。 接收方用同样的数去除含有CRC字符的信息,若接收无错误,则结果为0。奇偶校验 ( Parity Check)发送时每个字符的最高位之后附加一个奇偶校验位,以保证整个字符(包括奇偶校验位)为“ 1”的位数为奇数(奇校验)或为偶数(偶校验)。接收时按照发送方所确定的同样的奇偶性对收到的字符进行校验。7.异步通讯收/发器(UART)的 实现软件实现 书P333例9.120H

6、RAM20H:数据起始单元LEN:数据长度单元要求字符帧长度11位,由P1.0送出。起始位:1数据为:7奇校验:1停止位:2奇校验位:1数据位:7程序采用双重循环,外循环控制发送字符个数,内循环控制字符帧的位数。ORG 1000HSOUT: MOV R0,#20H ;取数首址NEXT: MOV R2,#0BH ;字符帧长度CLR CMOV A,R0 ;取数据RLC A ;起始位送ACC.0INC R0LOOP: MOV R1,A ;发送字符暂存R1ANL A,#01H ;屏蔽A中高7位ANL P1,0FEH;清除P1.0ORL P1,A ;在P1.0上输出串行数据MOV A,R1 ;回复A中的

7、ACALL DELAYRRC ;准备下一位SETB C ;在C 中形成停止位DJNZ R2,LOOP ;一帧未完,跳转DJNZ LEN,NEXT ;一帧已完,下一帧RETDELAY: 硬件实现接收:串入并出发送:并入串出接收数据的采样16TRxCT启动检测 确认启动位 采样数据16T二、MCS51串行通讯接口在MCS51芯片中,内含一个以UART方式工作的 全双工串行通讯口,可同时收/发串行数据。芯片的P3 .0=RXD为串行输入线,P3 .1=TXD为串行输出线。内部包含 2个独立的收/发BUF (名称为RBUF/TBUF), 统称为SBUF 。对TBUF是只可写入,不可读出,对于RBUF,

8、只可读出而不可写入,故可共用一个地址99H。即 SBUF地址为99H 。MCS51串行通讯须解决的问题:1、如何确定串行通讯工作方式?2、如何确定串行通讯的波特率?指令: MOV A,SBUF,接收; MOV SBUF,A 发送1.MCS-51中UART电路框图波特率产生发送控制接收控制中断产生数据采样采样脉冲是接收脉冲的16分频。16TRxCT确认启动位 在此3个脉冲上采样数据,3比2表决取值。采到低电平后,如连续8个都是低电平,确认为起始位。2. 串行通讯控制寄存器SCON寄存器 (98H)SCON (98H) PCON (87H)SM0、SM1通讯方式控制位。SM2:方式2/3下的主从式

9、多机通讯操作的控制位。REN:接收允许位,REN0禁收,REN1允许接收。TB8:在方式2/3下,第9位发送数据,作校验位或在多机通讯中作地址/数据标志位。RB8:在方式2/3下,是收到的第9位数据。TI、RI:发送/接收中断。SM0 SM1 SM2 REN TB8 RB8 TI RI9F 9E 9D 9C 9B 9A 99 98通讯方式控制SM0 SM1 SM2 REN TB8 RB8 TI RI9F 9E 9D 9C 9B 9A 99 98SCONSM0 SM1方式 串口工作方式 波特率000同步移位寄存器工作方式fosc/1201110位异步收发 可变102 fosc/64或fosc/3

10、2113可变11位异步收发11位异步收发10位异步收发:起始位: 1,数据位: 8,停止位 1。11位异步收发:起始位: 1,数据位: 9,停止位 1。PCON寄存器 (87H)SMOD GF1 GF0 PD IDL8E 8D 8C 8B 8A 89 88 87为 8051设计的电源控制寄存器。SMOD1,方式1/2/3波特率加倍。SMOD(D7):串口波特率选择位GF1、 GF0:通用标志位。PD:掉电控制位。 0正常方式, 1掉电方式。IDL:空闲控制位。 0正常方式, 1空闲方式。 方式 0:同步移位寄存器工作方式3.串行通讯的四种工作方式SM0 SM1 SM2 REN TB8 RB8

11、TI RISCON发送指令:MOV SBUF,A发送条件:TI0接收条件:RI0、REN10 0 0 1 0 0 0 0串行数据从 RXD发送 /接收;同步时钟从 TXD发出。 (波特率 =f0/12)发送当执行发送指令: MOV SBUF,A后, MCU即开始从 RXD移位输出,发送完TI1,以供中断或查询,TI用软件复位。接收当满足接收条件即从 RXD接收数据,收到 8位数据后 RI1,以供中断或查询, MCU用 MOV A,SBUF 读入数据,RI用软件复位。接收时,数据 低 位在前。主要用途:和外部同步移位寄存器连接,扩展一个并行I/O口。方式 1: 10位异步通讯方式8位数据,1位起

12、始位,1位停止位。SM0 SM1 SM2 REN TB8 RB8 TI RISCON0 1 0 1 0 0 0 0波特率可变,用CTC1作波特率发生器。启动发送:CPU执行一条向SBUF送数据指令后,即开始自动从TXD发出串行数据,发送完后,TI置1(需用软件复位)。接收:串行数据从RXD输入;对数据位每位采样3次,至少2次采样信号相同才予以接收,收完一桢后,若满足条件:( SM2 0且 RI 0) 或者 ( RI 0且第 9位数据 1) 后 RI置 1, RI需用软件复位。方式 2/3: 11位异步通讯方式9位数据,1位起始位,1位停止位。方式2:波特率固定(f0/32或f0/64) 方式3

13、:波特率可变,用CTC1作波特率发生器。启动发送: CPU执行 MOV SBUF, A后,即开始自动从 TXD发出串行数据,发送完后, TI置 1。发送前 TB8应预先存入相应的数值,构成第 9位发送的数据,如奇偶校验的值或其它的控制数值。接收:串行数据从 RXD输入;对数据位每位依旧是 3取 2表决,收完一桢后,若满足条件(同方式 1)后 RI置 1(用软件复位),第 9位数据送 RB8。SM0 SM1 SM2 REN TB8 RB8 TI RISCON1 1 1 0 0 0 01 0 1 0 0 0 0方式2方式3唯一区别 方式 1/2/3:(UART工作方式 ) 方式 1/3:波特率可变

14、,用 CTC1作波特率发生器。 方式 2:波特率固定 (f0/32或 f0/64) 启动发送: CPU执行一条向 SBUF送数据指令后,即开始自动从 TXD发出串行数据 (起始位 D0D7( TB8)停止位 ),发送完后, TI置 1。 接收:串行数据从 RXD输入;对数据位每位采样 3次,至少2次采样信号相同才予以接收,收完一桢后,若满足条件则RI置 1。串行通讯波特率设计 方式 0: Baud=f0/12,不受 SMOD影响。 方式 2: Baud受 SMOD影响, Baud=(2SMOD/64)f0。 方式 1/3: Baud可变,受 SMOD影响,由 CTC1的溢出频率决定 (一般工作

15、在定时方式 )。串行通讯波特率设计)2(120TCKff=CTC1的溢出频率T1为方式 0: K 13T1为方式 1: K 16T1为方式 2、 3: K 8常用: T1为方式 2( 8位自动重装): K 8)256(120TCff=即 CTC1的溢出频率为:()()()TCfSMODTCfCTCBaudSMODSMOD=256384225612321320022的溢出率()BaudSMODfTC+=38412560P342:常用波特率表。思考:如晶振改为 11.0592MHz,重新计算定时常数。方式 1/3的波特率为:串行通讯应用串口初始化选好控制字,送入 SCON和 CTC1;选择恰当的

16、Baud,设计好 TC及 SMOD,送入TH1、 TL1和 PCON。例 :甲乙二机串行通讯 ,甲发乙收,设 Boud=400,f0=6MHz。甲 :将片外 RAM首址为 ADT的 128字节数据顺序发出乙 :将收到的 128字节数据顺序存放在首址为 ADR的片外 RAM中 .设计:Boud=400,f0=6MHz,串口工作方式为1,CTC1工作方式为2。SCON:甲:01000000,即40H乙:01010000,即50HTC=256-6000000/(384400)=256-39=217=D9HCTC1的控制字:00100000即TMOD=20H.SM0 SM1 SM2 REN TB8 RB8 TI RISCO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号