实验4UART0通讯实验.docVIP

  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文档。上传文档
查看更多
实验4UART0通讯实验

实验4 UART0通讯实验 实验目的: 1.学习双机通信的常识; 2.掌握双机通信程序状态字的设置方法; 3.学习双机通信程序的编制方法。 实验设备: 计算机、U-EC5仿真器、C8051F020实验板。 实验要求: 利用2台C8051F020,一台(如A机)用做发送器,用来读入Pl口指拨开关的状态;另一台(如B机)用做接收器,用来接收A机发送过来的指拨开关的状态,并将其在P1口输出的8个LED灯上显示出来。 实验内容: (一)在D盘上建立名称为URAT的文件夹,在文件夹内建立工程为UART.uv2 参阅教材165页例4.7查询方式发送程序、查询方式接收程序。器件选80C51F020单片机。利用仿真状态将发送及接收程序都调试通过。 查询方式发送程序名称设为:chaxun_t.c 查询方式接收程序名称设为:chaxun_r.c 图4-1 双机通信的硬件电路 1.建立工程UART.uv2 2.选择器件型号 点击“Silicon Laboratories”前的“+”号,经器件系列展开,选择“C8051F020”。 3.选择连接器 4.下图中选择 “NO”。 5.选择“文件”→新建,输入后面的程序后,选择文件→另存为一个文件名。发送方存为 “chaxun_T.C”到你自己建立的目录下,接收方存为 “chaxun_R.C”到你自己建立的目录下。 注意:你自己建立的目录不要使用汉字。 6.在 “源代码组”上点击鼠标右键,选择 “添加文件到源代码组1” 先选择汇编类程序(*。c) 在刚保存的文件夹内选中刚建立的汇编文件,点击“Add”后点击“Close” 还可通过“目标选项卡”选择参数设置或修改参数。 编译当前文件/创建目标/重建所有目标文件: 开始/停止调试,选择端口 显示P4端口 使用“步进”, “步越”来跟踪程序的执行。 通过 “复位”, 可重新执行程序。通过“全速运行”可观察程序的仿真运行状态 (二)端口显示接收数据的UART0实验,同样使用80C51F020单片机,修改如上两端查询程序,完成发送方P4口的状态通过串行方式发送给接收方,接收方予以还原发送方的状态并通过LED对应显示。 先利用仿真状态将发送及接收程序都调试通过,然后两组之间完成通讯。 参考程序代码如下: 1.C8051F020-T的发送程序chaxun_Tp4.asm $include (c8051f020.inc) ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SP,#50H ;设定堆栈区 MOV XBR0,#04H ;XBR0.2=1,UART0使能占用P0.0和P0.1口线 MOV XBR2,#40H ;低端口使能 MOV SCON0,#40H ;串行口工作在方式l,禁止接收 MOV TMOD,#20H ;定时器1工作在方式2 MOV TL1,#0E8H ;波特率为l 200bps MOV TH1,#0E8H SETB TR1 ;起动定时器1 MOV 30H,#0FFH ;设定指拨开关初值 MOV P1,#0FFH ;P1口设为输入状态 MOV P4,#0FFH ;P4口设为输入状态 READ: CLR TI MOV A,P1 ;读入指拨开关值 CJNE A,30H,KEY ;若输入值改变,则跳转至KEY AJMP READ ;否则继续读指拨开关值 KEY: MOV 30H,A ;保存指拨开关新值 MOV P4,30H MOV SBUF0,A ;送串行口发送 WAIT: JBC TI,READ ;查看是否发送完 AJMP WAIT END 2.C8051F020-R的接收程序chaxun_Rp4.asm $include (c8051f020.inc) ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV SCON0,#50H ;串行口工作在方式l,允许接收 MOV XBR0,#04H ;XBR0.2=1,UART0使能占用P0.0和P0.1口线 MOV XBR2,#40H ;低端口使能 MOV TMOD,#20H ;定时器1工作在方式2 MOV TL1,#0E8H ;波特率为l 200 bps MOV TH1,#0E8H SETB TR1 ;起动定时器1 READ: JBC RI,UART ;若接收到数据,则跳转到UART AJMP READ UART: CLR RI MOV A,SBUF0 ;收到的数据送A MOV P1,A ;发送至P1口 MOV P4,A ;发送至P4口 AJMP

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档