网站大量收购闲置独家精品文档,联系QQ:2885784924

第九章串行口及其应用.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章串行口及其应用

(1)发送 方式1发送数据时,数据由TXD 端输入。CPU 执行一条写入SBUF 的指令后,就启动串行口开始发送数据。 (2)接收 方式1接收数据时,数据由RXD端输入。当接收允许位REN 置1后,接收器便以波特率的16倍速率采样接收端RXD的电平。 3.串行口工作方式2和方式3 串行口工作的方式2和方式3时,均为11位异步通信接口,由TXD和RXD发送与接收数据。 这两种工作方式除波特率不同外,其它操作完全相同。 (1)方式2和方式3发送 方式2 和方式3 发送数据时,应先根据通信协议设置TB8,以确定TB8是奇偶校验位还是作多机通信的地址/数据标志位,然后将要发送的数据写入SBUF,启动发送过程。串行口自动把TB8取出,并装入到第9位数据的位置,再逐一发送出去。数据发送完毕,置发送中断标志TI=1,向CPU申请中断。 (2)方式2和方式3的接收 方式2和方式3接收数据时,应先置SCON中的REN=1,允许接收。当检测到起始位时,开始接收第9位数据。当满足RI=0 且SM2=0 或接收到的第9位为1 时,前8位数据装入SBUF,第9位数据装入SCON中的RB8,并置RI=1,向CPU申请中断。 (a)方式2、3发送数据时的时序图 (b)方式2、3接收数据时的时序图 第三节 串行通信实例 一、方式0 的应用 二、方式2的应用 三、方式2、3的应用 一、方式0 的应用 方式0主要是和移位寄存器连用实现I/O口的扩展 图9.3.1 方式0 扩展I/O 口电路原理图 【例9.3.1】利用串行口扩展并行输入、输出接口,如图8.3.1所示。图9.3.1(a)是输出口扩展方案。8051单片机设置于串行口工作方式0的发送状态,串行数据由P3.0 端口输出,移动脉冲由P3.1端口输出。 解: 图9.3.1 a)是输入口扩展方案。 用两片8位串行输入、并行输出移位寄存器CD4094 (也可以使用74LS164)串联起来构成16位串入并出移位寄存器。移位寄存器16个并行输出口作为扩展输出口。P3.2端口作为移位寄存器选通线,当CPU连续送出两帧串行数据后,选通线P3.2变为高电平,16位数据就可以同时由CD4094输出。 其一次输出程序为: MOV R0,30H ;取第一个字节。 MOV A,@R0 MOV SBUF,A INC R0; K1:JNB TI,K1 ;第一个字节输出完毕?,未完再次检测。 CLR TI ;完毕,取下一个字节。 MOV A,@R0 MOV SBUF,A K2:JNB TI,K2 ;第二个字节输出完毕?,未完再次检测。 CLR TI ;完毕,两个字节输出。 SETB P3.2 图9.3.1 b)是输入口扩展方案。初始化时,串行通信设置为方式0,选通线P3.2变置低电平,设待输入的数据保存在30H,31H单元。 其一次输入程序为: SETB P3.2 ;暂停输入 MOV R0,30H CLR P3.2 ;启动输入 K1:JNB RI,K1 ;第一个字节输入完毕?,未完再次检测。 CLR RI ;完毕,保存 MOV A,SBUF MOV @R0,A; INC R0; K2:JNB RI,K2;第二个字节输入完毕?,未完再次检测。 CLR RI;完毕,保存 MOV A,SBUF; MOV @R0,A; 二、方式2的应用 【例9.3.2】甲乙两台8031单片机进行串行通信,现将甲机片内RAM 40H~5FH单元的数据,串行发送到乙机片内RAM 60~7FH单元中。设甲乙两机的晶振频率均为11.0592MHz,通信的波特率为4800bit/s。 解:设采用方式2工作,发送和接收的参考程序如下: 甲机发送程序: ORG 2000H TX: MOV TMOD,#02H MOV TH1,#0FAH MOV TL1,#0FAH MOV SCON,#080H ;设定工作方式2 发送 MOV PCON,#00H ;波特率为fosc/64 SETB TR0 MOV R0,#40H ;设发送数据的地址指针 MOV R2,#20H ;设发送数据的长度 LOOP: MOV A,@R0 ;取发送数据送A MOV C,PSW.0 MOV TB8,C ;奇偶位送TB8 MOV SBUF,A ;启动发送 WAIT: JBC TI,LOOP1 ;判发送中断标志 SJMP WAIT LOOP1: INC R0 DJNZ R2, LOOP RET 乙机接收程序: ORG 2000H RX:

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档