RS-232标准全双工查询方式异步串行通信.docVIP

RS-232标准全双工查询方式异步串行通信.doc

  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文档。上传文档
查看更多
RS-232标准全双工查询方式异步串行通信

HUNAN CITY UNIVERSITY 微机原理与接口技术课程 设 计 报 告 设计题目: RS-232标准全双工查询方式异步串行通信 专 业: 计算机科学与技术 学生姓名: 班级学号: 分组成员: 指导教师: 2011 年12月31日 设计时间 2011年12月 26日---2011年12月 30日 设计地点 设计目的 1.掌握MFID接口硬件开发平台的使用方法。 2.掌握基本接口电路的综合应用。 3.学习 RS-232C 标准的串行通信接口电路及串行通信收/发程序的设计原理与方法。 设计小组成员 指导老师 设计课题 RS-232标准全双工查询方式异步串行通信(实现类似QQ聊天功能) 基本思路及关键问题的解决方法 甲乙两台微机之间,按RS-232C标准协议,进行零MODEM方式,全双工串行通信。所谓全双工是双方通过各自的键盘按键发送,同时接收对方发来的字符。发送与接收的字符均在屏幕上显示。,接口电路以8251为核心,8253提供发/收时钟,8255控制8253的Gate门。按ESC键,退出采用两台MFID平台板上的串行接口电路进行硬件连接,分别编写甲乙两机各自的发送与接收程序,并进行调试,直至程序正常运行。 算法及流程图 (一)流程图 (二)原理框图 调试过程出现的问题及相应的解决方法 问题一:双方通信不成功,或者只有一方能够接受,另一方不能收到信息。 解决方法:检验双方的波特率设置,看是否相同。要达到双方的波特率相同才能够进行相互通信。 问题二:双方发送均不成功。 解决方法:仔细检查通信线路的连接情况。要保证每一条线的连接的正确性,同时也要保证双方的波特率设置一致。 课程设计心得体会 由于我C语言学的不好,我组的其他两个成员让我负责本实验中用到编写程序很简单的8255模块以及整理实验报告。通过参考课本以及老师以前所教过的内容,找出8255的初始化以及8255的控制字的设置。初始化8255: outportb(0x303,0x80),将PC6设置为1:utportb(0x303,0x0d)。 虽然,我的组员让我负责最简单的模块,但是整个过程中他们也耐心地给我讲解了8253和8251的功能,通过这次试验我更加深刻地理解了8255、8253、8251这三个芯片的工作原理,同时也体会到团体的配合的重要性,感谢老师给我这次与他人合作的机会和也非常感谢我的组员对我的帮助。 源程序参考文献 #include stdio.h #include dos.h #include conio.h #define factor 16 //波特率因子16 unsigned long int clk = 1919828; void main() { int send,recv,status,hel; int sendhigh,sendlow; hel=clk/600; //8253计数初值计算与装入 hel=hel/factor; //计算计数初值 sendhigh = (hel8)0x00ff;//装入高8位 sendlow = hel 0x00ff;//装入低8位 outportb(0x307,0xb6);//初始化8253 outportb(0x306,sendlow);//装计数初值低字节 outportb(0x306,sendhigh);//装计数初值高字节 outportb(0x309,0x00); //复位控制口 outportb(0x309,0x40); //复位 outportb(0x309,0x4e); //初始化方式控制字 outportb(0x309,0x27); //初始化命令控制字 outportb(0x303,0x80); //初始化8255 outportb(0x303,0x0d); //pc6=1 while(1) { if(kbhit()) { send=getche(); //取得键入的值 if(send==0x1b)//是ESC?是,则退出 { outport(0x303,0x0c);//关闭8253

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档