ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:21.35KB ,
资源ID:28367274      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28367274.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(串口传输实验报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

串口传输实验报告.docx

1、串口传输实验报告串口传输实验报告 篇一:RS232串口通信实验报告 RS232串口通信实验报告 学号: 学院:电子信息学院 班级:08031102 姓名:张泽宇 康启萌 余建军 时间:2014年11月13日 学校:西北工业大学 2011301966 2011301950 2011301961 一实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三实验内容 程序代码: P/ : implementation file /

2、 #include “ #include “ #include “ #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif / / CAboutDlg dialog used for App About class CAboutDlg : public CDialog public: CAboutDlg; / Dialog Data /AFX_DATA enum IDD = IDD_ABOUTBOX ; /AFX_DATA / ClassWizard generate

3、d virtual function overrides /AFX_VIRTUAL protected: virtual void DoDataExchange; / DDX/DDV support /AFX_VIRTUAL / Implementation protected: /AFX_MSG /AFX_MSG DECLARE_MESSAGE_MAP ; CAboutDlg:CAboutDlg : CDialog /AFX_DATA_INIT /AFX_DATA_INIT void CAboutDlg:DoDataExchange CDialog:DoDataExchange; /AFX_

4、DATA_MAP /AFX_DATA_MAP BEGIN_MESSAGE_MAP /AFX_MSG_MAP / No message handlers /AFX_MSG_MAP END_MESSAGE_MAP / / CPC1PC2Dlg dialog CPC1PC2Dlg:CPC1PC2Dlg : CDialog /AFX_DATA_INIT m_send = _T; m_receive = _T; m_bt = _T; /AFX_DATA_INIT / Note that LoadIcon does not require a subsequent DestroyIcon in Win32

5、 m_hIcon = AfxGetApp-LoadIcon; void CPC1PC2Dlg:DoDataExchange CDialog:DoDataExchange;/AFX_DATA_MAP DDX_Control; DDX_Text; DDX_Text; DDX_CBString; /AFX_DATA_MAP BEGIN_MESSAGE_MAP /AFX_MSG_MAP ON_WM_SYSCOMMAND ON_WM_PAINT ON_WM_QUERYDRAGICON ON_BN_CLICKED ON_BN_CLICKED ON_BN_CLICKED /AFX_MSG_MAP END_M

6、ESSAGE_MAP / / CPC1PC2Dlg message handlers BOOL CPC1PC2Dlg:OnInitDialog CDialog:OnInitDialog; / Add “About.” menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT = IDM_ABOUTBOX); ASSERT; CMenu* pSysMenu = GetSystemMenu; if CString strAboutMenu; ; if ) pSysMenu-AppendM

7、enu; pSysMenu-AppendMenu; / Set the icon for this dialog. The framework does this automatically / when the applications main window is not a dialog SetIcon;/ Set big icon SetIcon; / Set small icon / TODO: Add extra initialization here m_;/选择COM1 m_; /输入方式为二进制方式 m_; /参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收

8、数据的OnComm事件 / CString str; / str=“9600,n,8,1”; / m_; m_;/打开串口 return TRUE; / return TRUE unless you set the focus to a control void CPC1PC2Dlg:OnSysCommand if = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAb; else CDialog:OnSysCommand; / If you add a minimize button to your dialog, you will need the code b

9、elow / to draw the icon. For MFC applications using the document/view model, / this is automatically done for you by the framework. void CPC1PC2Dlg:OnPaint if ) CPaintDC dc; / device context for painting SendMessage , 0); / Center icon in client rectangle int cxIcon = GetSystemMetrics;篇二:串口传输实验报告 基于

10、单片机的RS232和RS485总线的数据传输 张裕卓 XX班 摘要 本设计是基于单片机的RS232和RS485总线的数据传输实验设计。通过MAX232和MAX485芯片进行电平转换,按照设计要求,先将单片机输出的TTL电平经MAX232转换为RS232电平,再通过MAX232将RS232电平转换为TTL电平,以便于作为MAX485信号的输入,经过MAX485转换后得到RS485电平,以进行发送端的数据发送,在接收端,用MAX485再将RS485电平转换为TTL电平,再用MAX232转换为RS232电平以提供给PC机并在上位机中显示,从而完成了串口通信。整个设计电路简洁,功能完成良好。 关键词:

11、电平转换、单片机、串口通信 1.设计要求 了解RS232和RS485总线的电平特性。使用MAX232和MAX485芯片进行单片机和微机的数据传输。将单片机的TTL电平传输到MAX232转换成RS232电平,再转RS485总线远距离传输。同时接收方划拨给RS485信号转为RS232信号,传送到目标PC机上,用超级终端显示。 2.设计原理及方案 RS232是美国电子工业协会制定的一种串行物理接口标准,在双工通信中只需要三根信号线就可以实现数据传输,因此被广泛使用,但是因为其为单端传输,传输过程中易受干扰,从而制约了其传输距离。RS485接口电路采用平衡差分结构,且收发器共用总线。其主要优点为低阻传

12、输线对电气噪声不敏感,且其差分结构可有效抑制共模噪声。故可适用于远距离信号传输。本设计方案基于此,通过电平转换来优化数据传输的效果,从而较好的实现串口通信。现分别介绍电平转换模块和串口通信模块。 数字系统中,数据用“0”和“1”及其组合表示,而“0”和“1”则用物理的电气电平信号表示,例如经常使用的TTL电平中5V表示“1”,0V表示“0”。在RS232系统中,用-3-15V表示“1”,315V表示“0”,-33V间的电平无效。在RS485系统中,使用差分电平传输,当正向输出端电压高于反向输出端电压时表示“1”,当反向输出端电压高于正向输出端电压时表示“0”。根据题目要求,需要进行电平转换才能

13、实现串口传输。MAX232和MAX485是MAXIM公司的电平转换芯片,MAX232能够实现TTL与RS232间的电平转换,MAX485能够实现TTL与RS485间的电平转换。从而根据题目要求,我们在发送端用两块MAX232进行TTL-RS232-TTL电平转换,然后用一块RS485转换为RS485电平;在接收方,我们先用一块MAX485将RS485电平转换为TTL电平,然后用一块MAX232将电平转换为RS232电平,从而可以传输给使用RS232电平的PC机。 串口是单片机中普遍存在和使用的一种外部设备,主要用以与其他设备通信。在51单片机中,串口通信一般使用异步串口通信模式,其波特率用定时

14、器进行配置,可以配置成不同的波特率以便于通信需求。并且其数据的接受可以产生串口中断,以便于数据的获取。在本设计中,只要求单工通信,故只需要用单片机的串口发送数据,在PC端进行接受即可。本设计中的波特率为19200bps, 通过理论分析,能够很好地进行数据传输。 3.系统硬件设计 因MAX232和MAX485外围电路比较简单,系统硬件设计比较简洁,只需按照要求画出电路即可。根据电路腐蚀出电路板,并进行焊接调试,效果良好。 图1.发送方电路图2.接收方电路 4.系统软件设计 本系统软件设计要求简单,只需要实现单工信号传输即可,故只需要配置单片机的串口传输模块,在PC机上进行观察即可。程序设计流程图

15、如下: 图3.程序流程图5.设计过程中遇到的问题 此次设计,没有一帆风顺,在其过程中遇到了很多问题,其中最严重的问题是对于电平变换的理解。之前没有考虑到RS232电平转换为RS485电平需要经过TTL电平过渡,导致没能正常转换。经过严格的电路测试及理论分析,我最终发现了这个问题,并通过再加入MAX232进行RS232到TTL的电平转换,最后成功地实现了全部的电平转换,并实现了串口通信,在PC机上显示正常。 6.总结 此次课程设计让我对电平转换和单片机串口通信知识有了更深入地了解,在其过程中我也初步掌握了一些技能,比如keil和protel的熟练使用。实验过程中很多问题出现了,但是我并没有灰心,

16、而是更加坚定了前进的步伐,当最后信息成功地在PC机上显示时,那时的心情无法言语,希望以后能够以此为基础更好地学习。篇三:西安邮电大学串口通信实验报告 高级Internet实验报告 题目:串口通信 学生姓名:班 级: 软件工程1202 学 号:指导老师: 王文浪 西安邮电大学计算机学院 2015 年 6 月 10 日一、 实验目的 1.了解串口通信的通信的原理 2.串口包的安装(Windows下) 3.解使用java进行串口通信的配置 二、 实验准备 1.首先准备一条串口通信线 2. 在设备上实现Java串口通信,需要用到包.目前,常见的Java串口包有SUN在1998年发布的串口通信API:(

17、Windows下)、(Linux/Solaris);IBM的串口通信API以及一个开源的实现。鉴于在Windows下SUN的API比较常用以及IBM的实现和SUN的在API层面都是一样的,那个开源的实现又不像两家大厂的产品那样让人放心,这里就只介绍SUN的串口通信API在Windows平台下的使用。 3.到SUN的网站下载按照其使用说明()的说法,要想使用串口包进行串口通信,除了设置好环境变量之外,还要将复制到bin目录下;将复制到 lib;把也同样拷贝到lib目录下。然而在真正运行使用串口包的时候,仅作这些是不够的。因为通常当运行“java MyApp”的时候,是由JRE下的虚拟机启动MyA

18、pp的。而我们只复制上述文件到JDK相应目录下,所以应用程序将会提示找不到串口。解决这个问题的方法很简单,只须将上面提到的文件放到JRE相应的目录下就可以了.三、 实验过程 1.串口API概览 这是用于描述一个被底层系统支持的端口的抽象类。它包含一些高层的IO控制方法,这些方法对于所有不同的通讯端口来说是通用的。SerialPort 和ParallelPort都是它的子类,前者用于控制串行端口而后者用于控这并口,二者对于各自底层的物理端口都有不同的控制方法。这里我只关心SerialPort。 2. 这个类主要用于对串口进行管理和设置,是对串口进行访问控制的核心类。主要包括以下方法 确定是否有可

19、用的通信端口 为IO操作打开通信端口 决定端口的所有权 处理端口所有权的争用 管理端口所有权变化引发的事件(Event) 3. 这个类用于描述一个RS-232串行通信端口的底层接口,它定义了串口通信所需的最小功能集。通过它,用户可以直接对串口进行读、写及设置工作 4 .串口通信实例 (1)要准备相应的设备:电脑,外设,通过数据线把他们连接起来。 (2)检验外设到底是用的那个COM口和电脑通讯的. 也就是说,他们有没有真确的连接上。可以通过下载串口通讯口测试软件,我用的是”“的绿色软件,进行测试的。这软件很适应,如果选中的某个COM已经被使用了,它会给你一个相应的提示(端口以被占用)。如果你不知

20、道到底是使用的那个端口,那么你可以通过superCommTool软件一个一个的试,如果正常的话,那么你可以看到有数据显示在数据接收窗口。也许,有些主板的串口坏了,那么就要买一个转接卡,通过PCI插口转接。 (3)查看外设使用说明书知道外设的相关参数. 比如,波特率,数据位,停止位,校验位,等等。只有正确参数,才能显示正确的数据。当然,可以在通讯测试软件上调试这些参数的。比如:波特率 2400,数据位 8,停止位 2 ,校验位 1。 (4)准备开发环境:最基本的JDK了,使用自己的IDE,帮助开发。IDE可能自带了JDK,那么 你要把相应的javaComm20-win32放到运行时使用的JDK中

21、。 下载JAVAcomm20-win32。必须把复制到/bin下;把复制到/lib下;把添加到classPath下。前面两个都是非常重要的。 (5)获取SerialPort sPort对象的方法。 CommPortIdentifier portId = CommPortIdentifier .getPortIdentifier;SerialPort sPort = ;设置串行端口通讯参数: ; 获取输入(出)流: InputStream is = ;/从外 设获取数据 OutputStream os = ;/ 发送命令到外设 通过监听器就可以得到数据了: ; ; ; StringBuffer

22、linkWgt = new StringBuffer ;/存放获取的数据 new SerialPortEventListener public void serialEvent int newData = 0; switch ) case _ AVAILABLE: while try newData = ; if break; if new Data) else newData); catch ; return; try ); catch ; finally try /用完了,关闭端 口。 ; ; catch ; break; -|case : ; (6)枚举出系统所有的RS232端口 在开始

23、使用RS232端口通讯之前,我们想知道系统有哪些端口是可用的,以下代码列出系统中所有可用的RS232端口: Enumeration en = ; CommPortIdentifier portId; while ) portId = ; /*如果端口类型是串口,则打印出其端口信息*/ if = _SERIAL) ); 在电脑上以上程序输出以下结果: COM1 COM2 (7)主要程序 程序文件名称: * 功能:从串行口COM1中发送数据 import *; import *; import *; import *; import *; class S_Frame extends Frame implements Runnable,ActionListener /*检测系统中可用的通讯端口类 */ static CommPortIdentifier portId; /*Enumeration 为枚举型类,在util中 */ static Enumeration portList; OutputStream outputStream; /*RS-232的串行口 */ SerialPort serialPort; Thread readThread; Panel p=new Panel; TextField in_message=new TextField;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1