单片机原理及接口技术(第三版)李朝青编著第七章作业答案.docxVIP

单片机原理及接口技术(第三版)李朝青编著第七章作业答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.5思考题与习题 89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确 定? 答:四种工作方式及波特率: SMO SM1 工作方式 功能 波特率 0 0 方式0 8位同步移位寄存 fosc/12 0 1 方式1 10 位 UART 口」变 1 0 方式2 11 位 UART fQ64或忖32 1 1 方式3 11 位 UART 三种帧格式, 一帧位数8/10/11三种: X Do X D] X D2 X 6 X E X D5 X D6 X D7 X \起始何xQ D| X D2 X D3 X D4 X 6 X D6 X D7 y停止位 \起始位/O D] X D2 X D3 X D4 X D5 X D6 5〉彳亭止位 若杲步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率 是多少? 答:波特率: 3600/60X11=660 bps. 89C51 中 SCON 的 SM2、TB8 和 RB8 有何作用? 答:SM2:多机通讯控制位,用于方式2和方式3中。 TB8:在方式2, 3中,是发送机要发送的第9位数据。 RB8:在方式2, 3中,接收来自发送机的第9位数据(TB8) 设fosc=l 1.0592 MHz,试编写一段程序,其功能为对串行口初始化,使之工 作于方式1,波特率为1200 b/s;并用查询串行口状态的方法,读出接收缓冲 器的数据并回送到发送缓冲器。 答:SIO:MOVSCON, ;串口方式1,且TI=RI=0MOVTMOD, #20H;T1作波特率发生器MOVTH1, #0E8H;选定波特率 答:SIO: MOV SCON, ;串口方式1,且TI=RI=0 MOV TMOD, #20H ;T1作波特率发生器 MOV TH1, #0E8H ;选定波特率=1200bps MOV TL1, #0E8H SETB TRI WAIT: JBC RI, NEXT 查询等待 SJMP WAIT NEXT:MOV A, SBUF NEXT: MOV A, SBUF 读取接收数据 MOV SBUF, A回送到发送缓冲器 MOV SBUF, A 回送到发送缓冲器 SJMP $8.若晶振为11.0592 MHz,串行口工作于方式1,波特率为4800 SJMP $ 8.若晶振为 11.0592 MHz,串行口工作于方式1,波特率为4800 b/so写出用 T1作为波特率发半器的方式字和计数初值。 答:TMOD=20H, TH1=TL1=F4H 17?设计一个单片机的双机通信系统,并编写通信程序。将甲机内部RAM 30H?3FH存储区的数据块通过串行口传送到乙机内部RAM 40H-4FH存储 区中去。 答:硬件系统: \17 单片机甲RXD TXDTXD RXD \17 单片机甲 RXD TXD TXD RXD 单片机乙 程序甲(发送): ORG 0000H LJMP MAINT ORG 0023H ;串行口中断入口 LJMP TRANI MAINT: MOV SCON, ;串行口方式1初始化 MOV PCON, #80H ;波特率 MOV TMOD, #20H ;T1作波特率发生器 MOV TH1, #0E8H ;选定波特率=2400bps MOV TL1, #0E8H SETB TRI SETB EA SETB ES ;开串行口中断 MOV RO, #30H ;设数据指针 MOV R7, #10H ;数据长度 MOV A, @R0 ;取一个字符 MOV SBUF, A ;启动一次发送 SJMP $ TRANI: CLR TI ;清发送结束标志 DJNZ R7, NEXT ;是否发送完? CLR ES ;发送完,关闭串行口中断 SJMP TEND NEXT: INC RO 未发送完,修改指针 MOV A, @R0 取下一个字符 MOV SBUF, A 发送一个字符 TEND: RETI 中断返回 程序乙: ORG 0000H LJMP MAINT ORG AJMP 0023H RINT ;串行口中断入口 MAINT: MOV SCON, #010100008 ;串行口方式1允许接收 MOV PCON, #80H ;波特率 MOV TMOD, #20H ;T1作波特率发生器 MOV TH1, #0E8H ;选定波特率=2400bps MOV TL1, #0E8H SETB TRI SETB EA SETB ES ;开串行口中断 MOV R0, #40H ;设数据指针 MOV R7, #10H ;接收数据长度 SJMP $ RINT: CLR RI ;清接收结束标志 MOV A, SBUF ;读取接收字符 MOV @R0, A ;保存一个字

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档