- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 串行通信 本时章要点
⑷ 应用举例 【例7-3】设甲乙机以串行方式1进行数据传送,fosc=11.0592MHz,波特率为1200b/s。甲机发送的16个数据存在内RAM 40H~4FH单元中,乙机接收后存在内RAM 50H为首地址的区域中。 T1初值 = 256 - × = 232 = E8H 32 12×1200 解: 串行方式1波特率取决于T1溢出率(设SMOD=0), 计算T1定时初值: 20 SM0 SM1 SM2 REN TB8 RB8 TI RI 0 1 0 0 0 0 0 0 1.SMOD的设置 2.编制T1的初始化 3.选用查询方式,需要关毕中断 甲机发送子程序: TXDA: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1计数初值 MOV TH1,#0E8H ;置T1计数重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#00H ;置SMOD=0(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#40H ;置发送数据区首地址 MOV R2,#16 ;置发送数据长度 TRSA:MOV A,@R0 ;读一个数据 MOV SBUF,A ;发送 JNB TI,$ ;等待一帧数据发送完毕 CLR TI ;清发送中断标志 INC R0 ;指向下一字节单元 DJNZ R2,TRSA ;判16个数据发完否?未完继续 RET ; RXDB: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1计数初值 MOV TH1,#0E8H ;置T1计数重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#00H ;置SMOD=0(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#50H ;置接收数据区首地址 MOV R2,#16 ;置接收数据长度 SETB REN ;启动接收 RDSB: JNB RI,$;等待一帧数据接收完毕 CLR RI ;清接收中断标志 MOV A,SBUF ;读接收数据 MOV @R0,A ;存接收数据 INC R0 ;指向下一数据存储单元 DJNZ R2,RDSB;判16个数据接收完否?未完继续 RET ; 乙机接收子程序: 方式2是一帧11位的串行通信方式,即1个起始位,8个数据位,1个可编程位TB8/RB8和1个停止位, 其帧格式为: 3、 串行工作方式2 起始 D0 D1 D2 D3 D4 D5 D6 D7 TB8/RB8 停止 当SMOD=0时,波特率=20 ╳ fosc/64= fosc/64 当SMOD=1时,波特率=21 ╳ fosc/64= fosc/32 可编程位TB8/RB8既可作奇偶校验位用,也可作控制位(多机通信)用,其功能由用户确定。 数据发送和接收与方式1基本相同,区别在于方式2把发送/接收到的第9位内容送入TB8/RB8。 波特率:方式2波特率固定,即fosc/32和fosc/64。 如用公式表示则为:波特率=2SMOD ╳ fosc/64 【例7-4】 设计一个串行方式2发送子程序(SMOD=1),将片内RAM 50H~5FH中的数据串行发送,第9数据位作为奇偶校验位。接到接收方核对正确的回复信号(用FFH表示)后,再发送下一字节数据,否则再重发一遍。 解:程序如下: SM0 SM1 SM2 REN TB8 RB8 TI RI 1 0 0 0 0 0 0 0 TRS2: MOV SCON,#80H ;置串行方式2,禁止接收 MOV PCON,#80H ;置SMOD=1 MOV R0,#50H ;置发送数据区首址 TRLP: MOV A,@R0 ;读数据 MOV C,P
您可能关注的文档
- 第5课时 units 1—3,b时ook 8a.ppt
- 第5章 mcs - 51单片机内部定时器 计数器 5.1 定时器计数器的结构及工作原理 5官.2 方式和控制寄存器 5.3 工作方式5.4 定时器计数器应用举例.ppt
- 第5章 mfc winsock类的编程 为简化套接字网络编程,更方便地利用windows的消息驱动机制,微软的基础类库(microsoft foundation class libary,简称mfc),提供了两个套接字类,在不同的层次上对window是s socket api函数进行了封装,为编写windows socket网络通信程序,提供了两种编程模式。.ppt
- 第05章路由但器基时础及配置v.doc
- 第5章 adamsview呢虚拟样机仿真分析 5.1 adamsview函数 5.2 设计变量的创建 5.3 虚拟样机参数化 5.4 约束函数的创建 5.5 目标函数的创建 5.6 仿真剧本创建 5.7 虚拟样机优化分析设置 5.8 求解器(optimizer)设置 5.9 图形显示(display)设置 5.10 文件输出(output)设置 5.11 检查参数化分析结果.ppt
- 第5章 点上水闸自测题.doc
- 第5章 对面向对象程序设计.ppt
- 第3章四 交通都量分析.doc
- 第5章 关系数发据库标准语言—sql.ppt
- 第4章上 条习题解.doc
文档评论(0)