串行通信原理与应用精选PPT.ppt

上传人:石*** 文档编号:87143120 上传时间:2023-04-16 格式:PPT 页数:34 大小:1.52MB
返回 下载 相关 举报
串行通信原理与应用精选PPT.ppt_第1页
第1页 / 共34页
串行通信原理与应用精选PPT.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《串行通信原理与应用精选PPT.ppt》由会员分享,可在线阅读,更多相关《串行通信原理与应用精选PPT.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关于串行通信原理与应用关于串行通信原理与应用第1页,讲稿共34张,创作于星期一什么是通信什么是通信两个设备之间交换数据的过程我们称之为通信单工双工AB第2页,讲稿共34张,创作于星期一通信的方式通信的方式n从同时传输的数据位数来分为:n n1、并行通信(Parrel)n2、串行通信(Serial)第3页,讲稿共34张,创作于星期一串并行方式各自特点串并行方式各自特点速度价格距离并行串行相对快相对慢短远贵廉价第4页,讲稿共34张,创作于星期一如何并行通信(有时间再讲)如何并行通信(有时间再讲)n nDB0-DB7 WR RD CS ALE信号等n n举例:内存的写数据过程(两部分)。n n通过时

2、序图让学生明白CLKA15:0ALEWRPhase 2Phase 1AddressD7:0Data第5页,讲稿共34张,创作于星期一如何串行通信如何串行通信n就用极少的数据线就能实现数据通信,那么是如何实现的呢?n桢的概念:起始位,数据位,速率(波特率),应答位或停止位。第6页,讲稿共34张,创作于星期一串行通信桢格式串行通信桢格式第7页,讲稿共34张,创作于星期一常见的串行通信协议常见的串行通信协议 名称特点USARTUSBI2CCAN用途PC与MCUPC与MCUMCU之间MCU之间特点简单快,可靠简单复杂,可靠USARTPC与MCU简单第8页,讲稿共34张,创作于星期一USART特点特点n

3、支持同步串行通信和异步串行通信n n支持全双工n桢格式可编程第9页,讲稿共34张,创作于星期一串行输出原理串行输出原理第10页,讲稿共34张,创作于星期一串行输入原理串行输入原理第11页,讲稿共34张,创作于星期一PIC的的USART结构结构起始位 数据 停止位接收接收发送发送起始位停止位起始位TXEN0111TXIF接收缓冲寄存器波特率发生器RCIF88SPEN10波特率发生器SPEN发送缓冲寄存器1 发送移位寄存器 01 接收移位寄存器 0停止位(教材89页)图3-9 USART异步传送模式结构原理及时序图第12页,讲稿共34张,创作于星期一串行通信时必须要考虑的问题串行通信时必须要考虑的

4、问题p硬件如何连接?传输速度是多少?通信格式是什么样的?要发送或接收的数据放在哪里?如何判断发送或接收完毕?第13页,讲稿共34张,创作于星期一MCU通过通过UART与与PC连接图连接图5V 代表 10V 代表 0+12V 代表 112V 代表 0TXPCMAX232电平转换器12V/-12V+5V/0VRX第14页,讲稿共34张,创作于星期一寄存器设置寄存器设置nPORTC:TXD TransmitternPORTC:RXD Receivern nRXSTA:1b7b6b5b4B3b2b1b0SPENRX9RX9SRENSRENCRENCRENADDENADDENFERRFERROERROE

5、RRRX9DRX9Db7SPEN第15页,讲稿共34张,创作于星期一考虑传输速率问题考虑传输速率问题n可能出现设备之间的主频不同的情况,为了解决这个问题,两个设备之间必须协商通信速率。n对于UART而言,传输速率是两个设备之间预先协商好的,通过设置相应寄存器来实现。第16页,讲稿共34张,创作于星期一传输速率相关寄存器及标志位传输速率相关寄存器及标志位n n波特率发生寄存器:SPBPG(99H)n n高波特率标志位:BRGHTXSTAn n同步收发标志位:SYNCTXSTA常用SPBPG的值:当主频是4Mhz时,速度希望采用9600bps进行异步通信则SPBRG=25,BRGH1,SYNC0第

6、17页,讲稿共34张,创作于星期一串行通信格式图串行通信格式图相关寄存器有两个:TXSTA:发送控制寄存器RCSTA:接收控制寄存器第18页,讲稿共34张,创作于星期一TXSTA(98H):发送控制寄存器765432100TX9TXENSYNC0BRGH0 TX9D功能:功能:控制控制UARTUART发送数据的格式发送数据的格式第19页,讲稿共34张,创作于星期一TXSTA(98H):发送控制寄存器765432100TX9TXENSYNC0BRGH0 TX9D9 9位发送使能位发送使能发送使能发送使能同步模式使能同步模式使能高波特率使能高波特率使能发送位第发送位第9 9位位无用位,清无用位,清

7、0 0第20页,讲稿共34张,创作于星期一TXSTA(98H):发送控制寄存器7bit6bit5bit43bit2bit1bit1bit0CSRCCSRCTX9TXENSYNC-BRGHTRMTTRMTTX9D思考题:我想让思考题:我想让PIC的的USART模块采用模块采用8位位数据位数据位发送数据,发送数据,异步方式异步方式,高速状态高速状态,请,请问问TXSTA该设定何值?该设定何值?TXSTA=0b00100100;第21页,讲稿共34张,创作于星期一RCSTA:接收控制寄存器:接收控制寄存器bit7654SPENRX9SRENCREN3bit2bit1bit0ADDEN FERROER

8、RRX9D功能:功能:控制控制UARTUART接收数据的格式和状态接收数据的格式和状态第22页,讲稿共34张,创作于星期一RCSTA:接收控制寄存器:接收控制寄存器bit7bit76 65 54 43 3bit2bit2bit1bit1bit0bit0SPENSPENRX9RX90 0CRENCREN0 0FERRFERROERROERRRX9DRX9D串口使能串口使能9 9位使能位使能连续接收使能连续接收使能桢格式错溢出错接收的第9位未用,置0思考题:我想让PIC的USART模块在异步方式下采用8位数据位接收数据,请问RCSTA该设定何值?RCSTA=0b10010000;第23页,讲稿共3

9、4张,创作于星期一要发送或接收的数据放在哪里?要发送或接收的数据放在哪里?n要发送的数据放在TXREG里n收到的数据放在RCREG里nTXREG和RCREG都在0体中TXREG=A;char var=RCREG;第24页,讲稿共34张,创作于星期一如何判断发送成功?如何判断发送成功?n n对于发送而言,当一个字节发送完毕后PIR1的TXIF标志位会被自动置1,通过判断此位就可得知数据发送是否完毕,当TXREG被赋值后,TXIF自动被清空。思考题:如何用程序判断是否发送成功?76543210TXIFPIR1:if(PIR1&0b00010000)!=0)/TXIF=1,本次发送成功 /发下一个数

10、据或结束发送 第25页,讲稿共34张,创作于星期一如何判断接收完毕?如何判断接收完毕?n n对于接收而言,当接收到一个字节后PIR1的RCIF标志位会置1,通过判断此位可得知是否收到一个数据,当RCREG被读取后,RCIF自动被清空。思考题:如何用程序判断是否接收完毕?76543210RCIFPIR1:if(PIR1&0b00100000)!=0)/RCIF=1,说明收到一个数据 /把收到的数据读走。第26页,讲稿共34张,创作于星期一例题例题1n电路图如上图通过PIC16F877向PC的COM1不停的发送字符A,要求波特率为9600bps8位数据位,无奇偶校验位,一位停止位,无数据流控,请编

11、程实现。第27页,讲稿共34张,创作于星期一流程图流程图初始化串行口TXREGAPIR1的TXIF位1TXREGATRUEFALSE第28页,讲稿共34张,创作于星期一程序源代码程序源代码MAIN()MAIN()RCSTA=0b10010000;RCSTA=0b10010000;SPBRG=25;SPBRG=25;TXSTA=0b00100100;TXSTA=0b00100100;TXREG=A;TXREG=A;while(1)while(1)if(PIR1&0b00010000)!=0)if(PIR1&0b00010000)!=0)TXREG=A;TXREG=A;/串口使能串口使能,接收使能

12、接收使能/9600bps4MHz/9600bps4MHz/发送字符发送字符 A A/发送使能,高波特率发送使能,高波特率/发送完毕吗?发送完毕吗?/再发送一个字符再发送一个字符 A A/死循环,循环发送死循环,循环发送 第29页,讲稿共34张,创作于星期一例题例题2n n电路图如上图用超级终端软件通过PC的COM1向PIC发送一个字符(由键盘输入),MCU收到后把此字符加一后回传给PC。n n要求波特率为9600bps,8位数据位,无奇偶校验位,一位停止位,无数据流控,请编程实现。第30页,讲稿共34张,创作于星期一流程图流程图初始化串行口PIR1的RXIF位1TXREG=RCREG1;第31

13、页,讲稿共34张,创作于星期一程序源代码程序源代码MAIN()MAIN()RCSTA=0b10010000;RCSTA=0b10010000;SPBRG=25;SPBRG=25;TXSTA=0b00100100;TXSTA=0b00100100;while(1)while(1)if(PIR1&0b00100000)!=0)if(PIR1&0b00100000)!=0)TXREG=RCREG+1;TXREG=RCREG+1;/串口使能串口使能,接收使能接收使能/9600bps4MHz/9600bps4MHz/发送使能,高波特率发送使能,高波特率/接收完毕吗?接收完毕吗?/把收到的字符把收到的字符1 1后发送后发送 /死循环,循环发送死循环,循环发送 第32页,讲稿共34张,创作于星期一作业作业nPIC16F877的主频为4Mhz,通过MAX232与PC的COM1正确相连,编程实现PC通过超级终端发给MCU一个字符串(以r结尾),MCU收到此字符串把此串长度反馈给PC,而后循环此过程,通信方式为:波特率9600bps,8位数据位,奇偶校验位无,1位停止位,数据流控制为无。第33页,讲稿共34张,创作于星期一感感谢谢大大家家观观看看第34页,讲稿共34张,创作于星期一

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

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁