东北大学单片机课件第九章

上传人:F****n 文档编号:88090433 上传时间:2019-04-18 格式:PPT 页数:100 大小:2.34MB
返回 下载 相关 举报
东北大学单片机课件第九章_第1页
第1页 / 共100页
东北大学单片机课件第九章_第2页
第2页 / 共100页
东北大学单片机课件第九章_第3页
第3页 / 共100页
东北大学单片机课件第九章_第4页
第4页 / 共100页
东北大学单片机课件第九章_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《东北大学单片机课件第九章》由会员分享,可在线阅读,更多相关《东北大学单片机课件第九章(100页珍藏版)》请在金锄头文库上搜索。

1、9.1 串行通讯基础,数据交换的方式总体上分为两种: 即并行数据通信和串行数据通信.,如果距离小于30m,可采用并行数据通信方式; 当距离大于30m时,则要采用串行数据通信方式。,第九章 串行通讯接口设计,一 、串行通讯的分类,(一)、异步通讯,1.发送端和接收端要有互相独立的时钟源。,2.在帧格式中,一个字符数据由四部分组成: 起始位、数据位、奇偶校验位和停止位。,起始位: 起始位“0”,在通讯线上不传送数据时保持逻辑“1”。,数据位: 可以是5、6、7或8位,规定低位在前,高位在后。,奇偶校验位: 也可以用于确定一帧的字符所代表信息(地址/数据等)。,停止位: (逻辑“1”)是一个字符数据

2、的结束标志。,波特率:-所传二进制位数/秒 字符传输速率:-所传帧数/秒 例: 1200bps的字符帧(13位), 则: 字符传输速率=1200/13帧/秒,(二)、同步通讯,仅在数据块开始时用同步字符SYNC来指示,,同步字符可以单同步字符,也可以使双同步字符方式。,国际标准为单字符 16H, 双字符 EBH, 90H.,二. 串行通讯的制式 1.半双工制式,2.全双工制式,三. 串行通讯中的调制解调器,1.MODEM的作用和原理 2.MODEM的分类 3.MODEM的调制/解调,三、串行通信中的调制解调器,1、MODEM的作用和原理,2、MODEM的分类,3、MODEM的调制/解调,1)应

3、答式MODEM的发送器,2050HZ发送空号(逻辑0),2225HZ -发送传号(逻辑1)。,2)应答式MODEM的接收器,RXD接收信号:“1”(2225HZ) 上通道 “0”(2025HZ) 下通道,四. 串行I/O数据的实现,串行数据-并行数据的实现,(一)软件实现,(二)硬件实现,ORG 1000H SOUT : MOV R0, #20H NEXT: MOV R2, #0BH CLR C MOV A, R0 RLC A INC R0 LOOP: MOV R1, A ANL A, #01H ORL P1, A MOV A, R1 ACALL DELAY RRC A SETB C DJNZ

4、 R2, LOOP DJNZ LEN , NEXT,(一).软件实现,CY,R1,(二) 硬件实现,对RXD的采样: (1)若连续采样8个负脉冲RXD为低电平则为启动位. (2)每隔13个脉冲采样2次RXD,按2/3原则确定数据值 (3).错误校验,五. 串行通讯的差错控制技术,在信息码元中增加一定数量的多余码元(称为监督码元),在传输过程中如果受到干扰,某位码元发生了变化,相当于破坏了他们之间的约束关系。,1奇偶校验,在每个信息码组之后附加一位监督码元,使整个码组中“1”的个数成为奇数或偶数,分别称为奇校验或偶校验。,2. 校验和,在数据发送时,发送方对块中数据简单求和,产生一单字节校验字符

5、(校验和)附加到数据块结尾,,3. 循环冗余码校验CRC,4. 海明码校验,六. 设备地址问题,网络中每个节点都有一个唯一的地址码.产生方法: (1) 软件中直接写定 方法简单,无附加电路,修改不方便,设备不能互换; (2) 通过外部开关进行设置 可以动态改变,组织灵活,但占用资源,机械开关不可靠;,(3) 用非易失存储器保存,可以在线修改,灵活,可靠,但需要增加硬件设备,软件较复杂.,七. 传输介质、总线电气特性、负载量等问题,a .传输介质 普通双绞线 RVV2*1.0 建筑物内部,短距离场合,干扰不严重情况 屏蔽双绞线 RVVP2*1.0 建筑物之间空旷地带,距离远,干扰大情况 同轴电缆

6、 SYV 75-5 适合做干线 光导纤维(单膜和多膜) 高速网络,主干线,Internet接口,计算机之间局域网络,b. 总线电气特性,RS-485通讯信号的传输距离和波特率主要受总线分布电容的影响. 分布电容的实际测量值为: 网线(5类线), 5000pf/100m=50pf/m RVV线 , 6200pf/100m=62pf/m 工程实践证明:485总线负载电容上限为75000pf 所以,使用RVV线时距离为: L=75000/62=1209米 使用5类线时L=75000/50=1500米,C .负载量,RS-485通讯发送驱动芯片的输出电流能力约为60mA, 接收器吸收电流的情况有所不同

7、,所以有32站、128站和 256站的区别。 对于MAC1387E驱动器,等效负载约为并联电阻37欧姆。,第二节 MCS-51的串行接口,一、串行口的结构,发送过程: MOV A,#7FH MOV SBUF,A 串口自动发送: 起始位, 7FH,TB8, 停止位,接收,退出,接收过程: MOV A ,SBUF RXD检测起始位。 串口自动接收: 7FH,TB8, 停止位,二、串行口的工作方式 1. 方式0同步移位寄存器 2. 方式1 10位异步收发 3. 方式2 11位异步收发 4. 方式3 11位异步收发,要求:SCON,(SM2=0,RB8=0,TB8=0) MOV SBUF,A MOV

8、A, SBUF 发送(TI=0)时: SBUF: TXD发移位脉冲。 RXD发送数据。发完一帧后,TI=1,中断 接收(RI=0,REN=1)时: SBUF: TXD发移位脉冲。 RXD接收数据。接收一帧后,RI=1,中断,1、方式0同步移位寄存器,移位数据以8位为一帧,不设起始位和停止位,2.方式1(10位异步收发),要求:SCON中(SM2 =0,TB8 =0),发送(TI=0)时:,发送开始:执行 MOV SBUF, A,TXD发送: (起始位:1位,数据位:8位,停止位: 1位),发完一帧后:TI=1和TXD=高电平,并产生中断,接收(RI=0和REN=1)时:,RXD接收字符帧 若R

9、I=0和SM2=0(或收到停止位),则接收字符送SBUF,停止位送RB8,RI=1, 发中断.否则,字符不送SBUF,3.方式2(11位异步收发),波特率固定(fosc/32, fosc/64),发送(TI=0)时:,发送开始:执行 MOV SBUF, A,TXD发送:(起始位,数据位, TB8 ,停止位),发完一帧后:TI=1和TXD=高电平,并产生中断,接收(RI=0和REN=1)时:,RXD接收字符帧 若RI=0和SM2=0(或收到停止位),则接收字符送SBUF,第9位送RB8, RI=1, 发中断. 否则, 字符不送SBUF.,4.方式3(11位异步收发),波特率可调,可利用T1,T2

10、分频提供,发送(TI=0)时:,发送开始:执行 MOV SBUF, A,TXD发送:(起始位,数据位, TB8 ,停止位),发完一帧后:TI=1和TXD=高电平,并产生中断,接收(RI=0和REN=1)时:,RXD接收字符帧 若RI=0和SM2=0(或收到停止位),则接收字符送SBUF,第9位送RB8, RI=1, 发中断. 否则, 字符不送SBUF.,1. 方式0 波特率固定为fosc/12 (fosc为单片机晶振频率),三. 串行口的通讯波特率,3.方式1/3 波特率=(2SMOD/32)(T1的溢出率) =(2SMOD/32)(fosc/12(2K-x) ) 式中,K : 方式0, K=

11、13 方式1, K=16 方式2 / 3, K=8 根据给定的波特率,可以计算T1的计数初值X。,2. 方式2 波特率固定为(2SMOD/64)fosc.,注意:1)T1初值和对应波特率间若有误差可通过fosc调整. 2)T1在方式1下的TC初值应考虑到重装时间.,第三节 MCS-51串行口的应用,串行口在方式0下的应用,串行移位输出,例:串行通信方式0,扩展I/O接口,接八个数码管,使内部数据存储器58H-5FH单元的内容为0XH。,ORG 0050H SETB P3.3 ; 允许移位寄存器工作 MOV SCON, #0 ; 选串行通信方式0 MOV R7, #08H ; 显示八个字符 MO

12、V R0, #5FH ; 先送最后一个显示字符 MOV DPTR, #TBA ; DPTR指向字形表首址 DLO: MOV A, R0 ; 取待显示数码 MOVC A,A+DPTR ; 查字形表 MOV SBUF, A ; 送出显示 JNB TI, $ ; 一帧输出完? CLR TI ; 已完,清中断标志 DEC R0 ; 修改显示数据地址 DJNZ R7, DLO CLR P3.3 ; 8位送完,关发送脉冲 SJMP $ TBA: DB 0C0H,0F9H,0A4H,B0H,99H,92H DB 82H,0F8H,80H,90H,83H,83H,0C6H DB 0A1H,86H,84H,0F

13、FH,0BFH,(一) 串行口方式1下的应用(查询方式) 例:甲机只有收到乙机答应信号“00”后才可把存放在片外RAM中的内容发送给乙机,,其发送数据格式为:,字节数n:甲机将向乙机发送的数据字节数;,数据1数据n:甲机将向乙机发送的n个字节数据;,累加校验和:字节数n,数据1,数据n,这(n+1)的算术累加和(向高位进位丢失)。,乙机根据接收到的“校验和”判断收到的数据是否正确。 若接收正确,向甲机发“0F”信号,否则回发“F0”信号。,二、串行口在其它方式下的应用,(1)甲机查询方式发送子程序,发送程序约定:,波特率设置初始化: 定时器T1模式2工作,计数初值F3H, SMOD=1;,串行

14、口初始化: 方式1工作,启动发送;,片内RAM和工作寄存器设置: 31H和30H存放发送的数据块首地址; 2FH存放发送的数据块长度; R6为累加和寄存器。,甲机发送子程序框图如下:,甲机发送子程序清单: FMT_T_S: MOV TMOD,#20H ;波特率设置 MOV TH1,#0F3H MOV TL1,#0F3H SETB TR1 MOV SCON,#50H ;串行口初始化, 方式1并启动接收 MOV PCON,#80H ;置SMOD=1,FMT_RAM: MOV DPH,31H ;设置DPTR指针 MOV DPL,30H MOV R7,2FH ;送字节数至R7 MOV R6,#00H

15、;清累加和寄存器,TX_ACK: MOV A,#06H ;发呼叫信号“06” MOV SBUF,A,WAIT1: JBC T1, RX_YES ;等待发送完一个字节 SJMP WAIT1,RX_YES: JBC RI, NEXT1 SJMP RX_YES,NEXT1: MOV A,SBUF ;判断乙机是否同意接收, CJNE A,#00H,TX_ACK 不同意就继续呼叫,TX_BYTES: MOV A,R7 MOV SBUF,A ADD A,R6 ;求累加和 MOV R6,A,WAIT2: JBC T1,TX_NEWS SJMP WAIT2,TX_NEWS: MOVX A,DPTR ;发送数据 MOV SBUF,A ADD A,R6 ;形成累加和送R6 MOV R6,A INC DPTR ;指针加1 WAIT3: JBC TI,NEXT2 SJMP WAIT3,NEXT2: DJNZ R7,TX_NEWS ;判发送结束,TX_SUM: MOV A,R6 ;数据已发送完, 发累加和给乙机 MOV SBUF,A,WAIT4: JBC TI, RX_0FH SJMP WAIT4,RX_0FH: JBC RI, IF_0FH ;等待乙机回答 SJMP RX_0FH,IF_0FH: MOV A, SBUF ;读入 C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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