- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章串行通信与接口
第八章 串行通信与接口 8.1串行通信基础 8.1.1串行通信概念 8.1.2串行通信的同步方式与异步方式 一、 异步串行通信 1 异步串行通信的字符格式 2 异步传输的速率——波特率 数据传输的速率是用波特率表示的。波特率定义为每秒钟传送二进制数的位数 假如每秒传送120个字符,而每个字符按上述规定包含10位(起始位、校验位、停止位各1位,数据位7位),则波特率为 120×10 bps=1 200 bps 这里有两点需要注意: 第一,波特率并不等于有效数据位的传输速率。 第二,波特率也不等同于时钟频率。 二、 同步串行通信 同步串行通信的帧结构 8.1.3 串行通信的制式 一、 串行通信的数据传输方向 半双工方式:通信双方的每一方既可发送数据又可接收数据,但这两种功能不能同时进行,即发送时不能接收,接收时不能发送 全双工方式:通信双方有两个独立的通信回路,一个回路用于发送,一个回路用于接收。因此通信的每一方可以同时发送和接收数据 8.1.4 UART通用异步接收器/发送器原理 UART的硬件结构如图8-6所示 图8-7接收数据的字符同步过程 8.2 MCS-51单片机的串行口 8.2.1串行口的结构 一、 串行口结构 二、 串行口控制寄存器 SCON为一特殊功能寄存器,它的字节地址为98H,可位寻址。SCON各位的作用定义如下 8.2.2 串行口的工作方式 一、 方式0 串行口工作于同步移位寄存器方式,其工作时序如图8-9所示 二、 方式1 接收----采样原理 在接收时,CPU以数据传输速率的16倍频采样RXD 事实上每位数据的检测脉冲有16个,在每位时间的第7、8、9个计数状态,位检测器采样RXD的值,在三个采样值中,至少有两个值是一致的,这样的值才被确认接收,以此排除噪声干扰。如果在第一位时间接收的值不是0,将复位接收电路,并重新寻找另一个1到0的跳变。这样可以排除错误的起始位。如果接收到有效起始位,接着便开始接收本帧的其余部分。 三、 方式2和方式3 串行口工作于异步通信方式。字符格式为11位:1位起始位,8位数据位,1位可编程的数据位(第9位数据),1位停止位 方式2和方式3的差别仅在于:方式2的波特率为fosc/32(SMOD=1)或fosc/64(SMOD=0),而方式3的波特率是可变的,由用户设定 8.2.3 波特率产生 串行口工作于方式0和方式2时,其波特率是基本固定的;工作于方式1和方式3时,波特率是由定时器1的溢出率决定的,其值为 方式1、3波特率=2SMOD/32×定时器1的溢出率 其中SMOD为特殊功能寄存器PCON中D7位的值。定时器1的溢出率取决于对它的应用模式的设定。在大多数应用场合,设置定时器1为定时器操作,且运行于自动重新装载模式(模式2)。此时TMOD的高4位应为0010B,而自动重装入的值放在TH1中。这时波特率产生公式为 方式1、3波特率=2SMOD/32×fosc/12×[256-(TH1)] 8.3 串行口的应用与编程 8.3.1 编程方法提要 串行口数据发送/接收程序的基本结构如图8-11所示 8.3.2 应用编程举例 例8-1采用查询方式编写数据块发送程序 例8-1程序 START:MOV SCON,#80H ;设定工作方式2 MOV PCON,#80H ;设置传送波特率 MOV DPTR,#TDATA ;指向数据区首址 MOV R7,#n ;传送字节数赋值 TX:ACALL TXSUB ;调一帧传送子程序 INC DPTR ;数据地址指针加1 DJNZ R7,TX ;没有传送完,继续传送 RET ;返回 TXSUB: MOVX A,@DPTR ;传送数据送A MOV C,PSW.0 ;奇偶核验位P→TB8 MOV TB8,C; MOV SBUF,A ;启动数据发送 TX1:JBC TI,TX2 ;一帧数据发送等待 SJMP TX1 TX2:
文档评论(0)