东北大学单片机课件第九章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《东北大学单片机课件第九章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 单片机 课件 第九
- 资源描述:
-
1、9.1 串行通讯基础串行通讯基础数据交换的方式总体上分为两种数据交换的方式总体上分为两种:即并行数据通信和串行数据通信即并行数据通信和串行数据通信.如果距离小于如果距离小于30m,可采用并行数据通信方式;,可采用并行数据通信方式; 当距离大于当距离大于30m时,则要采用串行数据通信方式。时,则要采用串行数据通信方式。第九章第九章 串行通讯接口设计串行通讯接口设计一一 、串行通讯的分类、串行通讯的分类(一一)、异步通讯、异步通讯1.发送端和接收端要有互相独立的时钟源。发送端和接收端要有互相独立的时钟源。 2.在帧格式中,一个字符数据由四部分组成:在帧格式中,一个字符数据由四部分组成:起始位、数据
2、位、奇偶校验位和停止位。起始位、数据位、奇偶校验位和停止位。起始位:起始位:起始位起始位“0”0”,在通讯线上不传送数据时保持逻辑,在通讯线上不传送数据时保持逻辑“1”1”。数据位:数据位:可以是可以是5 5、6 6、7 7或或8 8位,规定低位在前,高位在后。位,规定低位在前,高位在后。奇偶校验位:奇偶校验位:也可以用于确定一帧的字符所代表信息(地址也可以用于确定一帧的字符所代表信息(地址/ /数据等)。数据等)。停止位:停止位:(逻辑(逻辑“1”1”)是一个字符数据的结束标志。)是一个字符数据的结束标志。波特率波特率:-:-所传二进制位数所传二进制位数/ /秒秒字符传输速率字符传输速率:-
3、:-所传帧数所传帧数/ /秒秒 例例: 1200bps: 1200bps的字符帧的字符帧(13(13位位),), 则则: : 字符传输速率字符传输速率=1200/13=1200/13帧帧/ /秒秒(二二)、同步通讯、同步通讯仅在数据块开始时用同步字符仅在数据块开始时用同步字符SYNC来指示,来指示, 同步字符可以单同步字符,也可以使双同步字符方式。同步字符可以单同步字符,也可以使双同步字符方式。 国际标准为单字符国际标准为单字符 16H, 双字符双字符 EBH, 90H. 二二. 串行通讯的制式串行通讯的制式 1.半双工制式半双工制式单片机AUART单片机BUART.TXRXTXRXGNDGN
4、D.RTSRTS74125741252.2.全双工制式全双工制式单片机AUART单片机BUART.TXRXTXRX.GNDGND三三. 串行通讯中的调制解调器串行通讯中的调制解调器1.MODEM的作用和原理的作用和原理2.MODEM的分类的分类3.MODEM的调制的调制/解调解调三、串行通信中的调制解调器三、串行通信中的调制解调器 1、MODEM的作用和原理的作用和原理2、MODEM的分类的分类3、MODEM的调制的调制/解调解调1)应答式)应答式MODEM的发送器的发送器2050HZ发送空号(逻辑发送空号(逻辑0),),2225HZ -发送传号(逻辑发送传号(逻辑1)。)。2)应答式)应答式
5、MODEM的接收器的接收器RXD接收信号:接收信号:“1”(2225HZ) 上通道上通道 “0”(2025HZ) 下通道下通道四四. 串行串行I/O数据的实现数据的实现串行数据串行数据-并行数据的实现并行数据的实现(一一)软件实现软件实现(二二)硬件实现硬件实现 ORG 1000HSOUT : MOV R0, #20HNEXT: 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 R2, LOOP DJNZ
6、LEN , NEXT(一一).软件实现软件实现20H C7H21H . .LNE LP1.08031CYR1012345671T8数据0开始位移位脉冲TXD发送缓冲器TXBUF写缓冲命令.(二二) 硬件实现硬件实现12345678910 11 12 13 14 15TTTXCLK开始位TXD空闲.012345671R8数据0开始位移位脉冲RXD接收缓冲寄存器RXBUF读缓冲命令.停止位.对对RXD的采样的采样:(1)若连续采样若连续采样8个负脉冲个负脉冲RXD为低电平则为启动位为低电平则为启动位.(2)每隔每隔13个脉冲采样个脉冲采样2次次RXD,按按2/3原则确定数据值原则确定数据值(3).
7、错误校验错误校验五五. . 串行通讯的差错控制技术串行通讯的差错控制技术 在信息码元中增加一定数量的多余码元(称为监督码在信息码元中增加一定数量的多余码元(称为监督码元),在传输过程中如果受到干扰,某位码元发生了变化,元),在传输过程中如果受到干扰,某位码元发生了变化,相当于破坏了他们之间的约束关系。相当于破坏了他们之间的约束关系。 1 1奇偶校验奇偶校验在每个信息码组之后附加一位监督码元,使整个码组中在每个信息码组之后附加一位监督码元,使整个码组中“1”的个数成为奇数或偶数,分别称为奇校验或偶校验。的个数成为奇数或偶数,分别称为奇校验或偶校验。 2. 2. 校验和校验和在数据发送时,发送方对
8、块中数据简单求和,产生一单字在数据发送时,发送方对块中数据简单求和,产生一单字节校验字符(校验和)附加到数据块结尾,节校验字符(校验和)附加到数据块结尾, 3. 循环冗余码校验循环冗余码校验CRC 4. 海明码校验海明码校验六六. 设备地址问题设备地址问题 网络中每个节点都有一个唯一的地址码网络中每个节点都有一个唯一的地址码.产生方法产生方法: (1) 软件中直接写定软件中直接写定 方法简单方法简单,无附加电路无附加电路,修改不方便修改不方便,设备不能互换设备不能互换; (2) 通过外部开关进行设置通过外部开关进行设置 可以动态改变可以动态改变,组织灵活组织灵活,但占用资源但占用资源,机械开关
9、不可靠机械开关不可靠; (3) 用非易失存储器保存用非易失存储器保存,可以在线修改可以在线修改,灵活灵活,可靠可靠,但需但需要增加硬件设备要增加硬件设备,软件较复杂软件较复杂.七七. 传输介质、总线电气特性、负载量等问题传输介质、总线电气特性、负载量等问题 a .传输介质传输介质 普通双绞线普通双绞线 RVV2*1.0 建筑物内部建筑物内部,短距离场合短距离场合,干扰不严重情况干扰不严重情况 屏蔽双绞线屏蔽双绞线 RVVP2*1.0 建筑物之间空旷地带建筑物之间空旷地带,距离远距离远,干扰大情况干扰大情况 同轴电缆同轴电缆 SYV 75-5 适合做干线适合做干线 光导纤维光导纤维(单膜和多膜单
10、膜和多膜) 高速网络高速网络,主干主干线线,Internet接口接口,计算机之间局域网络计算机之间局域网络 b. 总线电气特性总线电气特性RS-485通讯信号的传输距离和波特率主要受总线分布通讯信号的传输距离和波特率主要受总线分布电容的影响电容的影响. 分布电容的实际测量值为分布电容的实际测量值为: 网线网线(5类线类线), 5000pf/100m=50pf/m RVV线线 , 6200pf/100m=62pf/m 工程实践证明工程实践证明:485总线负载电容上限为总线负载电容上限为75000pf 所以所以,使用使用RVV线时距离为线时距离为: L=75000/62=1209米米 使用使用5类
11、线时类线时L=75000/50=1500米米C .负载量负载量RS-485通讯发送驱动芯片的输出电流能力约为通讯发送驱动芯片的输出电流能力约为60mA,接收器吸收电流的情况有所不同接收器吸收电流的情况有所不同,所以有所以有32站、站、128站和站和256站的区别。站的区别。对于对于MAC1387E驱动器,等效负载约为并联电阻驱动器,等效负载约为并联电阻37欧姆。欧姆。第二节第二节 MCS-51的串行接口的串行接口一、串行口的结构一、串行口的结构RXD(P3.0)发送发送SBUF(99H)门门88 串行口结构框图串行口结构框图 TXD(P3.1)中断中断接收接收SBUF(99H)定定时时器器T1
12、fosc2分频器分频器发送控制器发送控制器接收控制器接收控制器串寄串寄行存行存控器控器制制 SCON (98H)输入移位寄存器输入移位寄存器TIRI内内 部部 总总 线线发送过程:发送过程: MOV A,#7FH MOV SBUF,A串口自动发送:串口自动发送:起始位,起始位,7FH,TB8,停止位停止位接收退出接收过程:接收过程: MOV A ,SBUFRXD检测起始位。检测起始位。串口自动接收:串口自动接收:7FH,TB8,停止位停止位二、串行口的工作方式二、串行口的工作方式1. 方式方式0同步移位寄存器同步移位寄存器2. 方式方式1 10位异步收发位异步收发3. 方式方式2 11位异步收
13、发位异步收发4. 方式方式3 11位异步收发位异步收发要求:要求:SCON,(,(SM2=0,RB8=0,TB8=0) MOV SBUF,A MOV A, SBUF 发送(发送(TI=0)时:)时: SBUF: TXD发移位脉冲。发移位脉冲。 RXD发送数据。发完一帧后,发送数据。发完一帧后,TI=1,中断,中断 接收(接收(RI=0,REN=1)时:)时: SBUF: TXD发移位脉冲。发移位脉冲。 RXD接收数据。接收一帧后,接收数据。接收一帧后,RI=1,中断,中断2.2.方式方式1(101(10位异步收发位异步收发) )要求要求:SCON:SCON中中(SM2 =0,TB8 =0)(S
14、M2 =0,TB8 =0)发送发送(TI=0)时时:发送开始发送开始:执行执行 MOV SBUF, A TXD发送发送: (起始位:起始位:1位位,数据位:数据位:8 8位位,停止位停止位: 1位位)发完一帧后发完一帧后:TI=1和和TXD=高电平高电平,并产生中断并产生中断接收接收(RI=0和和REN=1)时时:RXD接收字符帧接收字符帧若若RI=0和和SM2=0(或收到停止位或收到停止位),则接收字符送则接收字符送SBUF,停停止位送止位送RB8,RI=1, 发中断发中断.否则否则,字符不送字符不送SBUFTXDRXD3.3.方式方式2(112(11位异步收发位异步收发) )波特率固定波特
15、率固定(fosc/32, fosc/64)(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.TXDRXD4.4.方式方式3(113(11位异步
16、收发位异步收发) )波特率可调波特率可调, ,可利用可利用T1,T2T1,T2分频提供分频提供发送发送(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.TXDRXD1. 方式方式0 波特
17、率固定为波特率固定为fosc/12 (fosc为单片机晶振频率为单片机晶振频率)三三. 串行口的通讯波特率串行口的通讯波特率3.方式方式1/3 波特率波特率=(2SMOD/32)(T1的溢出率的溢出率) =(2SMOD/32)(fosc/12(2K-x) ) 式中式中,K : 方式方式0, K=13 方式方式1, K=16 方式方式2 / 3, K=8根据给定的波特率根据给定的波特率,可以计算可以计算T1的计数初值的计数初值X。2. 方式方式2 波特率固定为波特率固定为(2SMOD/64)fosc.注意注意:1)T1初值和对应波特率间若有误差可通过初值和对应波特率间若有误差可通过fosc调整调
18、整. 2)T1在方式在方式1下的下的TC初值应考虑到重装时间初值应考虑到重装时间.第三节第三节 MCS-51串行口的应用串行口的应用1串行口在方式串行口在方式0下的应用下的应用串行移位输出串行移位输出例:串行通信方式例:串行通信方式0 0,扩展,扩展I/OI/O接口,接八个数码管,使内接口,接八个数码管,使内部数据存储器部数据存储器58H58H-5FH-5FH单元的内容为单元的内容为0XH0XH。 ORG 0050H SETB P3.3 ; 允许移位寄存器工作允许移位寄存器工作 MOV SCON, #0 ; 选串行通信方式选串行通信方式0 MOV R7, #08H ; 显示八个字符显示八个字符
19、 MOV 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,0A4
20、H,B0H,99H,92H DB 82H,0F8H,80H,90H,83H,83H,0C6H DB 0A1H,86H,84H,0FFH,0BFH(一一) 串行口方式串行口方式1下的应用下的应用(查询方式查询方式)例:甲机只有收到乙机答应信号例:甲机只有收到乙机答应信号“00”后才可把存放在片外后才可把存放在片外RAM中的内容发送给乙机,中的内容发送给乙机,其发送数据格式为:其发送数据格式为:字节数字节数n数据数据1数据数据2数据数据n累加校验和累加校验和字节数字节数n:甲机将向乙机发送的数据字节数;甲机将向乙机发送的数据字节数;数据数据1数据数据n:甲机将向乙机发送的:甲机将向乙机发送的n个字
21、节数据;个字节数据;累加校验和:字节数累加校验和:字节数n,数据,数据1,数据,数据n,这(,这(n+1)的算术累加和(向高位进位丢失)。的算术累加和(向高位进位丢失)。乙机根据接收到的乙机根据接收到的“校验和校验和”判断收到的数据是否正确。判断收到的数据是否正确。若接收正确,向甲机发若接收正确,向甲机发“0F”信号,否则回发信号,否则回发“F0”信号。信号。 二二、串行口在其它方式下的应用串行口在其它方式下的应用(1)甲机查询方式发送子程序)甲机查询方式发送子程序发送程序约定:发送程序约定:波特率设置初始化:波特率设置初始化: 定时器定时器T1模式模式2工作,计数初值工作,计数初值F3H,
22、SMOD=1; 串行口初始化:串行口初始化: 方式方式1工作,启动发送;工作,启动发送;片内片内RAM和工作寄存器设置:和工作寄存器设置: 31H和和30H存放发送的数据块首地址;存放发送的数据块首地址; 2FH存放发送的数据块长度;存放发送的数据块长度; R6为累加和寄存器。为累加和寄存器。 甲机发送子程序框图如下:甲机发送子程序框图如下: 开始定时器,串行口初始化地址指针DPTR,长度计数器R7,校验寄存器R6置初值发送呼叫信号06H等待乙机回答是00H?发字节长度数发送数据发送完否?发送校验和等待乙机回答传送正确吗?返回FMT_RAM:TX_ACK:TX_BYTE:TX_NEW:TX_S
23、UM:NNYNY甲机发送子程序清单:甲机发送子程序清单:FMT_T_S:MOV TMOD,#20H ;波特率设置波特率设置MOV TH1,#0F3HMOV TL1,#0F3HSETB TR1MOV SCON,#50H ;串行口初始化,串行口初始化, 方式方式1并启动接收并启动接收MOV PCON,#80H ;置置SMOD=1FMT_RAM: MOV DPH,31H ;设置设置DPTR指针指针MOV DPL,30HMOV R7,2FH ;送字节数至送字节数至R7MOV R6,#00H ;清累加和寄存器清累加和寄存器TX_ACK:MOV A,#06H ;发呼叫信号发呼叫信号“06”MOV SBUF
24、,AWAIT1:JBCT1, RX_YES ;等待发送完一个字节等待发送完一个字节SJMP WAIT1RX_YES:JBCRI, NEXT1SJMP RX_YESNEXT1: MOV A,SBUF ;判断乙机是否同意接收,判断乙机是否同意接收, CJNEA,#00H,TX_ACK 不同意就继续呼叫不同意就继续呼叫TX_BYTES: MOV A,R7MOV SBUF,AADDA,R6 ;求累加和求累加和MOV R6,AWAIT2:JBCT1,TX_NEWSSJMP WAIT2TX_NEWS:MOVX A,DPTR ;发送数据发送数据MOV SBUF,AADDA,R6;形成累加和送形成累加和送R6
25、MOV R6,AINCDPTR;指针加指针加1WAIT3:JBCTI,NEXT2SJMP WAIT3NEXT2:DJNZ R7,TX_NEWS ;判发送结束判发送结束TX_SUM:MOV A,R6 ;数据已发送完,数据已发送完, 发累加和给乙机发累加和给乙机MOV SBUF,AWAIT4:JBCTI, RX_0FHSJMP WAIT4RX_0FH:JBCRI, IF_0FH;等待乙机回答等待乙机回答SJMP RX_0FHIF_0FH: MOV A, SBUF ;读入读入 CJNE A, #OFH, FMT_RAM ;判断传送则正确否判断传送则正确否 RET(2)乙机查询方式接收子程序乙机查询方
展开阅读全文