串行通信原理与应用

上传人:xzh****18 文档编号:50509516 上传时间:2018-08-08 格式:PPT 页数:33 大小:1.26MB
返回 下载 相关 举报
串行通信原理与应用_第1页
第1页 / 共33页
串行通信原理与应用_第2页
第2页 / 共33页
串行通信原理与应用_第3页
第3页 / 共33页
串行通信原理与应用_第4页
第4页 / 共33页
串行通信原理与应用_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《串行通信原理与应用》由会员分享,可在线阅读,更多相关《串行通信原理与应用(33页珍藏版)》请在金锄头文库上搜索。

1、串行通信原理及应用什么是通信两个设备之间交换数据 的过程我们称之为通信单工双工AB通信的方式n从同时传输的数据位数来分为:n n1 1、并行通信、并行通信( (ParrelParrel) )n n2 2、串行通信、串行通信(Serial)(Serial)串并行方式各自特点速度价格距离并 行 串 行相对快相对快相对慢相对慢短短远远贵贵廉价廉价如何并行通信(有时间再讲)nDB0-DB7 WR RD CS ALE信号等n举例:内存的写数据过程(两部分)。n通过时序图让学生明白CLKA15:0ALEWRPhase 2Phase 1AddressD7:0Data如何串行通信n就用极少的数据线就能实现数据

2、 通信,那么是如何实现的呢?n桢的概念:起始位,数据位,速 率(波特率),应答位或停止位。串行通信桢格式常见的串行通信协议名称 特点USARTUSBI2CCAN用途PC与MCU PC与MCUMCU之 间MCU之间特点简单快, 可靠简单复杂,可 靠USARTPC与MCU简单USART特点n支持同步串行通信和异步串行通信n支持全双工n桢格式可编程串行输出原理串行输入原理PIC的USART结构起始位 数据 停止位接收发送起始位停止位起始位TXEN0111TXIF接收缓冲寄存器波特率发生器RCIF88SPEN10波特率发生器SPEN发送缓冲寄存器1 发送移位寄存器 01 接收移位寄存器 0停止位(教材

3、89页)图3-9 USART异步传送模式结构原理及时序图串行通信时必须要考虑的问题p硬件如何连接? 传输速度是多少? 通信格式是什么样的? 要发送或接收的数据放在哪里? 如何判断发送或接收完毕?MCU通过UART与PC连接图5V 代表 1 0V 代表 0+12V 代表 112V 代表 0TXPCMAX232 电平转换器 12V/-12V+5V/0VRX寄存器设置nPORTC:TXD TransmitternPORTC:RXD Receivern nRXSTA:1RXSTA:1b7b6b5b4B3b2b1b0SPENRX9SRENCREN ADDEN FER ROERRRX9Db7SPEN考虑传

4、输速率问题n可能出现设备之间的主频不同的情 况,为了解决这个问题,两个设备 之间必须协商通信速率。n对于UART而言,传输速率是两个设 备之间预先协商好的,通过设置相 应寄存器来实现。传输速率相关寄存器及标志位n波特率发生寄存器:SPBPG(99H)n高波特率标志位:BRGHTXSTAn同步收发标志位:SYNCTXSTA常用SPBPG的值:当主频是4Mhz时, 速度希望采用9600bps进行异步通信则SPBRG=25,BRGH1,SYNC0串行通信格式图相关寄存器有两个:TXSTA: 发送控制寄存器RCSTA:接收控制寄存器TXSTA(98H):发送控制寄存器76543210 0TX9TXEN

5、SYN C0BRGH0 TX9D功能:控制UART发送数据的格式TXSTA(98H):发送控制寄存器76543210 0TX9TXENSYN C0BRGH0 TX9D9 9位发送使能位发送使能 发送使能发送使能同步模式使能同步模式使能高波特率使能高波特率使能发送位第发送位第9 9位位无用位,清无用位,清0 0TXSTA(98H):发送控制寄存器7bit6bit5bit43bit2bit1bit0 CSRCTX9TXENSYN C- BRG HTRMTTX9D思考题:我想让PIC的USART模块采用8 位数据位发送数据,异步方式,高速状态 ,请问TXSTA该设定何值?TXSTA=0b001001

6、00;RCSTA:接收控制寄存器bit7654 SPENRX9SRENCREN3bit2bit1bit0 ADDE NFERROERRRX9D功能:控制UART接收数据的格式和状态RCSTA:接收控制寄存器bit76543bit2bit1bit0SPEN RX90CREN0FERROERRRX9D串口使能串口使能9 9位使能位使能连续接收使能连续接收使能桢格式错桢格式错溢出错溢出错接收的第接收的第9 9位位未用,置未用,置0 0思考题:我想让PIC的USART模块在 异步方式下采用8位数据位接收数据 ,请问RCSTA该设定何值?RCSTA=0b10010000;要发送或接收的数据放在哪里?n要

7、发送的数据放在TXREG里n收到的数据放在RCREG里nTXREG和RCREG都在0体中TXREG=A;char var=RCREG;如何判断发送成功?n对于发送而言,当一个字节发送完毕后 PIR1的TXIF标志位会被自动置1,通过 判断此位就可得知数据发送是否完毕, 当TXREG被赋值后,TXIF自动被清空。思考题:如何用程序判断是否发送成功?76543210TXI FPIR1:if(PIR1 SPBRG=25;TXSTA=0b00100100;TXREG=A; while(1)if(PIR1 / 串口使能,接收使能 / 9600bps4MHz/发发送字符A/发发送使能,高波特率/发发送完毕

8、吗毕吗 ?/再发发送一个字符A /死循环环,循环发环发 送 例题2n电路图如上图 用超级终端软件通过PC的COM1向PIC发 送一个字符(由键盘输入),MCU收到后把 此字符加一后回传给PC。n要求波特率为9600bps,8位数据位,无 奇偶校验位,一位停止位,无数据流控 ,请编程实现。流程图 初始化串行口PIR1的RXIF位1TXREG=RCREG1;程序源代码MAIN() RCSTA=0b10010000; SPBRG=25;TXSTA=0b00100100;while(1)if(PIR1 / 串口使能,接收使能 / 9600bps4MHz/发发送使能,高波特率/接收完毕吗毕吗 ?/把收到的字符1后发发送 /死循环环,循环发环发 送 作业nPIC16F877的主频为4Mhz,通过 MAX232与PC的COM1正确相连,编 程实现PC通过超级终端发给MCU一 个字符串(以r结尾),MCU收到此 字符串把此串长度反馈给PC,而后 循环此过程,通信方式为:波特率 9600bps,8位数据位,奇偶校验位 无,1位停止位,数据流控制为无。

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

当前位置:首页 > IT计算机/网络 > 计算机原理

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