- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
云南大学信息学院学生实验报告
题目:RS-485串口通信设计与实现
姓名: 李 博
学号: 12018000748
专业: 检测技术与自动化装置
小组成员: 李 博
2018年11月24日
一、实验目的
1、掌握串行通信接口原理;
2、掌握锡焊工艺及技巧;
3、熟悉RS-232芯片电平协议;
4、熟悉proteus软件平台操作;
5、熟悉基本电路调试方法;
6、熟悉各种元器件特性和安装使用方法;
7、了解至少一种Windows编程开发工具;
二、实验所需软硬件
本次实验涉及到仪器、设备、元件、软件平台较多,故以列表形式进行展示,并附带部分元器件实物图。
类型
名称
数量
备注
元件
DB9(公头)
4
RS-232底座
4
RS-232
4
485底座
6
485
6
电路板(小孔板)
2
10μF电容
16
电解电容
120欧姆电阻
6
色环电阻
1000欧姆电阻
1
色环电阻
三极管
2
S9014/NPN
设备
电脑(PC)
2
电烙铁
1
12V稳压电源
2
实际稳压15V
6V稳压电源
2
实际稳压5.5V
万用表
1
耗材
高温海绵
1
焊锡丝
若干
导线
若干
松香
若干
排针
若干
软件
VB6.0
—
编程开发工具
VC6.0
—
编程开发工具
proteus
—
仿真平台
三、实验内容
本次实验由于任务量比较大,由小组成员互相分工配合完成,其中由我负责硬件部分,由单文娇同学负责软件部分,半双工电路图设计由我完成,全双工电路图设计由单文娇同学完成。
1、Windows编程
这一部分的要求时通过学习Windows编程,最终使用C++或者VB语言编写串口通信程序。我学习使用的VB语言,编写的VB串口通信程序基于MFC对话框编程,使用了串口控件、按钮控件、列表控件、编辑框控件、组合框控件、标签控件。具体程序将在附录中列出,并加以注释。
下面就VB6.0这个平台做简要介绍。
VB的程序是一种基于 窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。 窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说: 窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些 字符的输入。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口,比如没有最大化和最小化按钮的窗体,可以用来提供弹出功能。
2、设计电路
串口通信实验要求实现全双工与半双工两种模式的通信,因此电路图也需要设计两份。本次设计利用Proteus仿真平台上进行,它是英国著名的 仿真软件,从 原理图布图、代码调试到 单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。也是目前世界上唯一将 电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,它也支持IAR、Keil和MATLAB等多种 编译器。
下图是初次经过校对后的全双工电路图:
由于电路两边是对称的,因此只贴出了一半电路图。该电路图虽然理论上可行,但是到了实际应用的时候出现一些问题。首先按照DB9的引脚功能,2口是接收数据,3口是发送数据,但是实际应用中并不能实现串口通信。在查阅了很多前人的经验以后,我们将两边DB9的2、3口交换后成功实现了静态调试。关于这个问题,我们同学之间交流讨论以后认为,是DB9与串口线一个是公头,一个是母头,导致了引脚功能交叉。
下图是半双工通信初稿的电路图:
半双工的电路图也是对称的,所以也只贴出了一半。该电路在实际应用中也遇到了一些问题。首先也是2、3脚的交叉问题,该问题在全双工通信中已经得到解决。其次半双工通信比全双工通信难的地方在于需要进行发送数据与接收数据之间的转换。该转换信号原本由DB9的7口给出,但在通信时,7口中并不能检测到电平变化。为了解决这个问
文档评论(0)