收藏 分销(赏)

串行通信原理与应用.ppt

上传人:精**** 文档编号:1282167 上传时间:2024-04-20 格式:PPT 页数:33 大小:1.26MB 下载积分:12 金币
下载 相关 举报
串行通信原理与应用.ppt_第1页
第1页 / 共33页
串行通信原理与应用.ppt_第2页
第2页 / 共33页


点击查看更多>>
资源描述
串行通信原理及应用串行通信原理及应用什么是通信什么是通信两个设备之间交换数据的过程我们称之为通信单工双工AB通信的方式通信的方式n从同时传输的数据位数来分为:n1、并行通信(Parrel)n2、串行通信(Serial)串并行方式各自特点串并行方式各自特点速度价格距离并行串行相对快相对慢短远贵廉价如何并行通信(有时间再讲)如何并行通信(有时间再讲)n nDB0-DB7 WR RD CS ALE信号等n n举例:内存的写数据过程(两部分)。n n通过时序图让学生明白CLKA15:0ALEWRPhase 2Phase 1AddressD7:0Data如何串行通信如何串行通信n就用极少的数据线就能实现数据通信,那么是如何实现的呢?n桢的概念:起始位,数据位,速率(波特率),应答位或停止位。串行通信桢格式串行通信桢格式常见的串行通信协议常见的串行通信协议 名称名称特点特点USARTUSBI2CCAN用途PCPC与与MCUMCUPCPC与与MCUMCUMCUMCU之间之间MCUMCU之间之间特点简单快,可靠简单复杂,可靠USARTPCPC与与MCUMCU简单USART特点特点n支持同步串行通信和异步串行通信n支持全双工n桢格式可编程串行输出原理串行输出原理串行输入原理串行输入原理PIC的的USART结构结构起始位 数据 停止位接收接收发送发送起始位停止位起始位TXEN0111TXIF接收缓冲寄存器波特率发生器RCIF88SPEN10波特率发生器SPEN发送缓冲寄存器1 发送移位寄存器 01 接收移位寄存器 0停止位(教材89页)图3-9 USART异步传送模式结构原理及时序图串行通信时必须要考虑的问题串行通信时必须要考虑的问题p硬件如何连接?传输速度是多少?通信格式是什么样的?要发送或接收的数据放在哪里?如何判断发送或接收完毕?MCU通过通过UART与与PC连接图连接图5V 代表 10V 代表 0+12V 代表 112V 代表 0TXPCMAX232电平转换器12V/-12V+5V/0VRX寄存器设置寄存器设置nPORTC:TXD TransmitternPORTC:RXD Receivern nRXSTA:1b7b7b6b5b4B3b2b1b0SPENSPENRX9RX9SRENSRENCRENCRENADDENADDEN FERRFERR OERROERRRX9DRX9Db7b7SPENSPEN考虑传输速率问题考虑传输速率问题n可能出现设备之间的主频不同的情况,为了解决这个问题,两个设备之间必须协商通信速率。n对于UART而言,传输速率是两个设备之间预先协商好的,通过设置相应寄存器来实现。传输速率相关寄存器及标志位传输速率相关寄存器及标志位n n波特率发生寄存器:SPBPG(99H)n n高波特率标志位:BRGHTXSTAn n同步收发标志位:SYNCTXSTA常用SPBPG的值:当主频是4Mhz时,速度希望采用9600bps进行异步通信则SPBRG=25,BRGH1,SYNC0串行通信格式图串行通信格式图相关寄存器有两个:TXSTA:发送控制寄存器RCSTA:接收控制寄存器TXSTA(98H):发送控制寄存器76 65 54 43 32 21 10 00TX9TXENSYNC0 BRGH0 TX9D功能:功能:控制控制UARTUART发送数据的格式发送数据的格式TXSTA(98H):发送控制寄存器76 65 54 43 32 21 10 00TX9TXENSYNC0 BRGH0 TX9D9 9位发送使能位发送使能 发送使能发送使能 同步模式使能同步模式使能高波特率使能高波特率使能发送位第发送位第9 9位位无用位,清无用位,清0 0TXSTA(98H):发送控制寄存器7 7bit6bit5bit43bit2bit1bit1bit0CSRCCSRCTX9TXENSYNC-BRGHTRMTTRMTTX9D思考题:我想让思考题:我想让PIC的的USART模块采用模块采用8位数据位位数据位发送数据,发送数据,异步方式异步方式,高速状态高速状态,请问请问TXSTA该设定何值?该设定何值?TXSTA=0b00100100;RCSTA:接收控制寄存器:接收控制寄存器bit7654SPENRX9SRENCREN3bit2bit1bit0ADDEN FERROERRRX9D功能:功能:控制控制UARTUART接收数据的格式和状态接收数据的格式和状态RCSTA:接收控制寄存器:接收控制寄存器bit7bit76 65 54 43 3bit2bit2bit1bit1bit0bit0SPENSPEN RX9RX90 0CRENCREN0 0FERRFERROERROERRRX9DRX9D串口使能串口使能9 9位使能位使能连续接收使能连续接收使能桢格式错溢出错接收的第9位未用,置0思考题:我想让PIC的USART模块在异步方式下采用8位数据位接收数据,请问RCSTA该设定何值?RCSTA=0b10010000;要发送或接收的数据放在哪里?要发送或接收的数据放在哪里?n要发送的数据放在TXREG里n收到的数据放在RCREG里nTXREG和RCREG都在0体中TXREG=A;char var=RCREG;如何判断发送成功?如何判断发送成功?n n对于发送而言,当一个字节发送完毕后PIR1的TXIF标志位会被自动置1,通过判断此位就可得知数据发送是否完毕,当TXREG被赋值后,TXIF自动被清空。思考题:如何用程序判断是否发送成功?76 65 543 32 21 10 0TXIFPIR1:if(PIR1&0b00010000)!=0)/TXIF=1,本次发送成功,本次发送成功 /发下一个数据或结束发送发下一个数据或结束发送 如何判断接收完毕?如何判断接收完毕?n n对于接收而言,当接收到一个字节后PIR1的RCIF标志位会置1,通过判断此位可得知是否收到一个数据,当RCREG被读取后,RCIF自动被清空。思考题:如何用程序判断是否接收完毕?76 654 43 32 21 10 0RCIFPIR1:if(PIR1&0b00100000)!=0)/RCIF=1,说明收到一个数据说明收到一个数据 /把收到的数据读走。把收到的数据读走。例题例题1n电路图如上图通过PIC16F877向PC的COM1不停的发送字符A,要求波特率为9600bps8位数据位,无奇偶校验位,一位停止位,无数据流控,请编程实现。流程图流程图初始化串行口初始化串行口TXREGAPIR1的的TXIF位位1TXREGATRUEFALSE程序源代码程序源代码/串口使能串口使能串口使能串口使能,接收使能接收使能接收使能接收使能/9600bps4MHz/9600bps4MHz/发送字符发送字符发送字符发送字符 AA/发送使能,高波特率发送使能,高波特率发送使能,高波特率发送使能,高波特率/发送完毕吗?发送完毕吗?发送完毕吗?发送完毕吗?/再发送一个字符再发送一个字符再发送一个字符再发送一个字符 A A/死循环,循环发送死循环,循环发送死循环,循环发送死循环,循环发送 例题例题2n n电路图如上图用超级终端软件通过PC的COM1向PIC发送一个字符(由键盘输入),MCU收到后把此字符加一后回传给PC。n n要求波特率为9600bps,8位数据位,无奇偶校验位,一位停止位,无数据流控,请编程实现。流程图流程图初始化串行口初始化串行口PIR1的的RXIF位位1TXREG=RCREG1;程序源代码程序源代码/串口使能串口使能串口使能串口使能,接收使能接收使能接收使能接收使能/9600bps4MHz/9600bps4MHz/发送使能,高波特率发送使能,高波特率发送使能,高波特率发送使能,高波特率/接收完毕吗?接收完毕吗?接收完毕吗?接收完毕吗?/把收到的字符把收到的字符把收到的字符把收到的字符1 1后发送后发送后发送后发送 /死循环,循环发送死循环,循环发送死循环,循环发送死循环,循环发送 作业作业
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服