单片机原理与接口技术》第7章串行接口

上传人:san****019 文档编号:70023295 上传时间:2019-01-15 格式:PPT 页数:32 大小:271.01KB
返回 下载 相关 举报
单片机原理与接口技术》第7章串行接口_第1页
第1页 / 共32页
单片机原理与接口技术》第7章串行接口_第2页
第2页 / 共32页
单片机原理与接口技术》第7章串行接口_第3页
第3页 / 共32页
单片机原理与接口技术》第7章串行接口_第4页
第4页 / 共32页
单片机原理与接口技术》第7章串行接口_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《单片机原理与接口技术》第7章串行接口》由会员分享,可在线阅读,更多相关《单片机原理与接口技术》第7章串行接口(32页珍藏版)》请在金锄头文库上搜索。

1、高等职业教育 计算机类课程规划教材,单片机原理与接口技术,大连理工大学出版社,第7章 串行接口,7.1 串行通信的基本概念 7.2 MCS-51 单片机串行接口及控制寄存器 7.3 MCS-51 单片机串行口的工作方式 7.4 串行口的应用,7.1.1 数据通信的概念 计算机的CPU与外部设备之间、计算机与计算机之间的信息交换称为数据通信。 1.并行通信 并行通信是数据的各位同时进行传送(发送或接收)的通信方式。 其优点是数据传送速度快; 缺点是数据有多少位,就需要多少根传送线。 2.串行通信 串行通信是数据的各位一位一位顺序传送的通信方式。,7.1 串行通信的基本概念,其优点是数据传送线少(

2、利用电话线就可作为传送线),这样就大大降低了传送成本,特别适用于远距离通信; 其缺点是传送速度较低。 7.1.2 串行通信中数据的传输方式 单工传输方式: 数据只能单方向地从一端向另一端传送; 半双工传输方式: 允许数据向两个方向中的任一方向传送,但每次只允许向一个方向传送; 全双工传输方式: 允许数据同时双向传送。 7.1.3 串行通信的两种基本通信方式 1.同步通信 在同步通信中,发送器和接收器由同一个时钟控制,如图7-1(a)所示。,同步传送时,字符与字符之间没有间隙,也不用起始位和停止位,仅在要传送的数据块开始传送前,用同步字符SYNC来指示,其数据格式如图7-1(b)所示。,图7-1

3、 同步通信和同步字符,同步传送的优点是可以提高传送速率,但硬件比较复杂。 2.异步通信 在异步通信中,发送器和接收器均由各自时钟控制,如图7-2(a)所示。 通信时,数据是一帧一帧(包含一个字符代码或一字节数据)传送的,每一串行帧的数据格式如图7-2(b)所示。,在帧格式中,一个字符由四个部分组成: 起始位、数据位、奇偶校验位和停止位。即首先是一个起始位“0”,然后是数据位(规定低位在前,高位在后),接下来是奇偶校验位(可省略),最后是停止位“1”。 7.1.4 串行通信的传送速率 1.波特率 通信线路上传送的所有位信号都保持一致的信号持续时间,每一位的宽度都由数据传送速率确定。而传送速率是以

4、每秒传送多少个二进制位来度量的,这个速率叫波特率,它的单位是位/秒(b/s或bps)。 波特率对于CPU与外部的通信是很重要的。,图7-2 异步通信和帧数据格式,2.允许的波特率误差 假设传递的数据一帧为10位,若发送和接收的波特率达到理想的一致,那么接收方对数据的采样都将发生在每位数据有效时刻的中点。 如果接收一方的波特率比发送一方大或小5%,那么对10位一帧的串行数据,时钟脉冲相对数据有效时刻逐位偏移。 当接收到第10位时,积累的误差达50%,则采样的数据已是第10位数据的有效与无效的临界状态,这时就可能发生错位,所以5%是10位一帧串行传送的最大的波特率允许误差。 7.1.5 串行通信中

5、的校验 1.奇偶校验 奇偶校验是检验串行通信双方传输的数据正确与否的一个措施,并不能保证通信数据的传输一定正确。 换言之: 如果奇偶校验发生错误,表明数据传输一定出错了;,如果奇偶校验没有出错,绝不等于数据传输完全正确。 奇校验: 8位有效数据连同1位附加位中,二进制“1”的个数为奇数; 偶校验: 8位有效数据连同1位附加位中,二进制“1”的个数为偶数。 2.和校验 所谓和校验是发送方将所发数据块求和(或各字节异或),产生一个字节的校验字符(校验和)附加到数据块末尾。 接收方接收数据,同时对数据块(除校验字节外)求和(或各字节异或),将所得的结果与发送方的 “校验和” 进行比较,相符则无差错,

6、否则即认为传送过程中出现了差错。 7.1.6 串行通信的实现 实际上,单片机串行通信的过程是将其内部的并行数据转换成串行数据,通过串行通信线传送,接收方将接收到的串行数据再转换成并行数据送到计算机中。,在MCS-51系列单片机中,串并、并串转换是由串行口的移位寄存器自动完成的。,7.2 MCS-51单片机串行接口及控制寄存器,7.2.1 MCS-51串行接口结构 MCS-51串行口由串行控 制器电路、发送电路、接收 电路三部分组成,其结构如 图7-3所示。,图7-3 串行接口的结构原理示意图,7.2.2 串行接口控制 1.串行控制寄存器SCON SCON寄存器的字节地址为98H,可按位寻址,位

7、地址为98H9FH。 SCON用于设定串行接口工作方式、接收发送控制及设置状态标志。 SCON格式如下:,(98H) D7 D6 D5 D4 D3 D2 D1 D0 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9F 9E 9D 9C 9B 9A 99 98,SCON中的各位含义如下: (1)SM0,SM1串行口的工作方式选择位 其功能及编码见表7-1。,(2)SM2多机通信控制位 在方式2或方式3中,如果SM2=1,则接收到的第9位数据(RB8)为0时不激活RI,接收到的数据丢失; 只有当收到的第9位数据(RB8)为1时才激活RI,向CPU申请中断。如果SM2

8、=0,则不论收到的第9位数据(RB8)为1还是为0,都会将接收的数据装入SBUF中。 在方式1时,如果SM2=1,则只有收到有效的停止位时才会激活RI;若没有接收到有效的停止位,则RI清零。在方式0中,SM2必须为0。,表7-1 串行口工作方式 SM0 SM1 工作方式 功能说明 波特率 0 0 0 移位寄存器方式(用于扩展I/O口) fosc/12 0 1 1 10位异步收发方式(UART) 由T1控制 1 0 2 11位异步收发方式(UART) fosc/32或fosc/64 1 1 3 11位异步收发方式(UART) 由T1控制,(3)REN允许串行接收控制位 由软件置位以允许接收,由软

9、件清零时禁止接收。 (4)TB8为发送数据位 在方式2和方式3时为要发送的第9位数据,根据需要由软件置位和复位。在多机通信时,TB8的状态用来表示主机发送的是地址或数据,通常协议规定 “0” 表示数据,“1” 表示地址。 (5)RB8为接收数据位 在方式2和方式3时为接收到的第9位数据。RB8和SM2、TB8一起,常用于通信控制。 在方式1时,如果SM2=0,RB8接收到的是停止位。 在方式0时,不使用RB8。 (6)TI发送中断标志位,由片内硬件在方式0串行发送第8位结束时置位,或在其他方式串行发送停止位的开始时置位。必须由软件清零。 (7)RI接收中断标志 由片内硬件在方式0串行接收到第8

10、位结束时置位,或在其他方式串行接收到停止位的中间时置位。必须由软件清零。 2.电源控制寄存器PCON 电源控制寄存器PCON能够进行电源控制,其D7位SMOD是串行口波特率设置位。寄存器PCON的字节地址为87H,没有位寻址功能。 PCON与串行通信有关的格式如下:,D7 D6 D5 D4 D3 D2 D1 D0,SMOD GF0 GF1 PD IDL,PCON,PCON寄存器的D7位为SMOD,称为波特率倍增位。即当SMOD=1时,波特率加倍; 当SMOD=0时,波特率不加倍。 通过软件可设置SMOD=0或SMOD=1。因为PCON无位寻址功能,所以,要想改变SMOD的值,可通过相应指令来完

11、成: ANL PCON,#7FH ;使SMOD=0 ORL PCON,#80H ;使SMOD=1 MOV PCON,#00H ;使SMOD=0,7.3 MCS-51单片机串行口的工作方式,7.3.1 方式0 串行口工作于方式0下,串行口为8位同步移位寄存器输入/输出口,其波特率固定为fosc/12。,数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)端输出,发送、接收的是 8位数据。不设起始位和停止位,低位在前,高位在后。其帧格式为:, D0 D1 D2 D3 D4 D5 D6 D7 ,1.发送 SBUF中的串行数据由RXD逐位移出。 TXD输出移位时钟,频率=fosc/1

12、2。 每送出8位数据TI就自动置1,需要用软件清零TI。 方式0的发送与串入并出移位寄存器(如74L S164,CD4094等)一起使用扩展并行输出口,接 口逻辑图如图7-4所示。,图7-4 串行口方式0,2.接收 串行数据由RXD逐位移入SBUF中。 TXD输出移位时钟,频率=fosc/12。 每接收8位数据RI就自动置1,需要用软件清零RI。 方式0的接收与并入串出移位寄存器(如74L S165,CD4014等)一起使用扩展并行输入接口。 接口逻辑图如图7-5所示。 3.方式0的波特率 波特率=fosc/12。 方式0工作时,多用查询方式编程: 发送: MOV SBUF,A 接收: JNB

13、 RI,S JNB TI,S CLR RI CLR TI MOV A,SBUF,图7-5 串行口方式0接收,7.3.2 方式1 方式1是10位为一帧的异步串行通信方式。 共包括1个起始位、8个数据位(低位在前)和一个停止位。 TXD为发送端,RXD为接收端,波特率可变。其帧格式为:,0 D0 D1 D2 D3 D4 D5 D6 D7 1,起始,停止,1.发送 串行口在方式1下进行发送时,数据由TXD端输出。 CPU执行一条写入SBUF的指令就会启动串行口发送,发送完一帧数据信息时,发送中断标志TI置“1”。需要用软件清零TI。 2.接收 接收数据时,SCON应处于允许接收状态(REN=1)。,

14、接收数据有效时,装载SBUF,停止位进入RB8,RI置“1”。 中断标志RI必须由软件清零。 3.方式1的波特率 使用定时器T1作为方式1的波特率发生器。 T1可以工作于方式0、方式1和方式2,常使其工作于方式2。 波特率计算公式如下: 波特率=(2SMOD /32) fosc/12(256-X) 其中X是定时器的初值。 在实际应用中,一般是先按照所要求的通信波特率设定SMOD,然后再算出T1的时间常数。 T1的时间常数 X=28 -2SMOD fosc/(1232波特率) 【例7.1】(见教材P154页),7.3.3 方式2 串行口工作于方式2,为波特率固定11位异步通信口,发送和接收的一帧

15、信息由11位组成,即1位起始位、8位数据位(低位在前)、1位可编程位(第9位)和1位停止位。TXD为发送端,RXD为接收端。 发送时可编程位(TB8)根据需要设置为“0”或“1”(TB8既可作为多机通信中的地址数据标志位又可作为数据的奇偶校验位); 接收时,可编程位的信息被送入SCON的RB8中。其帧格式为:,起始0 D0 D1 D2 D3 D4 D5 D6 D7 TB8/RB8 停止1,1.发送 在方式2发送时,数据由 TXD端输出,附加的第9位数据为SCON中的TB8。CPU执行一条写SBUF的指令后,便立即启动发送器发送,送完一帧信息后,TI被置 “1”。,在发送下一帧信息之前,TI须由中断服务程序(或查询程序)清零。 2.接收 当REN=1时,允许串行口接收数据。数据由RXD端输入,接收11位信息。接收数据有效,8位数据装入SBUF,第9位数据装入RB8,并置RI为1。 3.方式2的波特率 方式2的波特率=(2SMOD/64)fosc 7.3.4 方式3 串行口工作于方式3,为波特率可变的11位异步通信方式。 除了波特率外,方式3和方式2相同。 方式3的波特率和方

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

当前位置:首页 > 高等教育 > 大学课件

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