实验6单片机与PC机间的串行通信..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文档。上传文档
查看更多
实验6单片机与PC机间的串行通信.

实验6 单片机与PC机间的串行通信 一、实验目的 1、掌握电平转换器件RS-232的使用方法; 2、掌握Proteus VSM虚拟终端(VITUAL TERMINAL)的使用; 3、掌握单片机与PC机间的串行通信软硬件设计方法。 二、实验内容 实现利用虚拟终端仿真单片机与PC机间的串行通信。PC机先发送从键盘输入的数据,单片机接收后回发给PC机。单片机同时将收到的30~39H间的数据转换成0~9的数字显示,其他字符的数据直接显示为其ASCII码。 单片机和PC机进行通信时,要求使用的波特率、传送的位数等相同。要能够进行数据传送也必须首先测试双方是否可以可靠通信。可在PC机和单片机上各编制非常短小的程序,具体可分成PC机串行口发送接收程序、单片机串行口发送程序和单片机串行口发送接收程序。这三个程序能运行通过,即可证明串行口工作正常。 PC机串行口发送接收程序设置串行口为波特率9600、8位数据、1位停止位、无奇偶校验的简单设置。从键盘接收的字符可从串行口发送出去,从串行口接收的字符在屏幕上显示。通过让串行口发送线和接收线短接可测试微机串行口,通过让串行口和单片机系统相接,使用此程序可进一步测试单片机的串行通信状况。具体程序用BASIC编制,简单易懂。直接输入即可运行。程序RS232. 三、实验电路原理图 图7-1 单片机与PC机间电路原理图 实验步骤 1、在PROTEUS中画好电路原理图。 2、串口模型属性设置 串口模型属性设置为:波特率―4800;数据位―8;奇偶校验―无;停止位-1,如图7-2所示。 图7-2 串口模型属性设置 3、虚拟终端属性设置 PCT代表计算机发送数据,PCR用来监视PC接收到的数据,它们的属性设置完全一样,如图7-3所示。SCMT和SCMR分别是单片机的数据发送和接收终端,用来监视单片机发送和接收的数据,它们的属性设置也完全一样,如图7-4所示。单片机和PC机双方的波特率、数据位、停止位和检验位等要确保和串口模型的设置一样,并且同单片机程序中串口的设置一致。 图7-3 PC机虚拟终端属性设置 图7-4 单片机虚拟终端属性设置 要注意到PC机虚拟终端与单片机虚拟终端在RX/TX Polarity属性的设置是相反的,因为信号在经过器件MAX232时要反相。 4、将HEX文件写入电路图中的单片机,在Proteus ISIS界面中的PCT虚拟终端上单击右键,在弹出的快捷菜单中选择“Echo Typed Characters”项; 鼠标指针在PCT终端窗口单击,该窗口出现闪烁的光标,从键盘输入数字“8”,在PCS终端窗口中就出现“8”,表明PC机发送数据“8”,按照设计好的程序,单片机将接收到“8”,所以在单片机接收虚拟终端SCMR上会显示“8”,同时又将数字“8”送显到数码管上。接下来,单片机又将该数回发给PC机,因此在单片机发送终端SCMT上也显示“8”,PC机接收到数据后在接收终端PCR上同样显示“8”,结果如图7-5所示。根据程序设计,当在键盘上输入0~9以外的字符时,单片机输出到数码管上显示的则是该字符的ASCII码,如图7-6所示。 图7-5 程序运行结果1 图7-6 程序运行结果2 实验源代码 程序框图: 1、汇编程序: ORG 30H START: MOV SP,#60H MOV SCON, ;设定串行方式: ;8位异步,允许接收 MOV TMOD,#20H ;设定计数器1为模式2 ORL PCON, ;波特率加倍 MOV TH1,#0F3H ;设定波特率为4800 MOV TL1,#0F3H SETB TR1 ;计数器1开始计时 AGAIN: JNB RI,$ ;等待接收完成 CLR RI ;清接收标志 MOV A,SBUF ;接收数据送缓冲区 MOV SBUF,A ;发送收到的数据 JNB TI,$ ;等待发送完成 CLR TI ;清发送标志 SJMP AGAIN END 2、Cx51程序: #include reg51.h #define uchar unsigned char #define uint unsigned int void display(uchar b); main() { uchar a; TMOD=0x20; TL1=0xf3; TH1=0xf3; SCON=0x50; PCON=0x80;/*设置串行口方式*/ TR1=1

文档评论(0)

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

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

1亿VIP精品文档

相关文档