利用VB实现电脑与单片机通讯

合集下载

VB环境下实现PC机与单片机的串行通讯

VB环境下实现PC机与单片机的串行通讯

VB环境下实现PC机与单片机的串行通讯随着科技的不断发展,PC机和单片机的联系日益密切,特别是在嵌入式系统领域中,单片机已经成为了必不可少的重要组成部分。

而如何实现PC机和单片机之间的通讯,是一项必须要掌握的技能。

本篇文章主要介绍如何运用VB环境下的串口编程,实现PC机与单片机的串行通讯。

一、概述通讯技术日新月异,各种新的通讯技术层出不穷。

而在普通家庭却使用最为广泛的通讯技术,还是传统的串口通讯。

使用传统的串口通讯,可以实现PC机与单片机之间的数据交互,可靠性高,兼容性强,使用便捷。

要实现PC机与单片机之间的串行通讯,需要掌握两个技能:单片机串行通讯的编程和VB环境下串口编程。

二、单片机串行通讯的编程单片机串行通讯主要是通过寄存器和中断实现的。

单片机通过一个IO口与电脑之间建立一个简单的通讯接口,PC机通过该接口向单片机发送数据,单片机接收到数据,就可以通过该接口把数据返回给PC机。

单片机串口通讯编程的内容主要包括串口数据位、停止位、校验位、波特率等信息,这些信息需要设置在单片机的寄存器中。

同时,还要设置中断信息,以免程序在不接收数据时死等。

三、VB环境下串口编程VB环境下串口编程的关键是掌握控件的使用。

实际上,VB环境下的串口编程非常简单,只需要使用微软提供的MSComm控件就可以实现。

通过MSComm控件的事件和方法,可以轻松地实现数据的读取、发送、接收等功能。

需要注意的是,MSComm控件的BaudRate属性需要与单片机编写的程序的波特率一致,不然可能会出现通讯故障。

四、如何实现串口通讯首先需要硬件上建立好通讯接口。

通常情况下,USB串口转换器和单片机板子都会配套出售,只需要把两者插在一起即可。

其次需要编写单片机的串口通讯程序。

单片机数字口与串口的通讯,就是把串口接到单片机的数字口中,通过串口向外发送数据。

因此,编写单片机的串口通讯程序,需要设置停止位、数据位、奇偶校验位、波特率等参数。

基于VB进行PC机与单片机的串行通信

基于VB进行PC机与单片机的串行通信
二 、软件设计
计算机软件 可 以用 B SC语 言 、C语 言开 发 ,也 可 以 AI 利用 V 、VC e h 等开发平 台。新 一代 面 向对 象的程 序 B 、D l i p 设计 语 言 Vi a B s V s l ai u c( B)是 Widw n o s图形 工 作 环境 与 B SC语言编程简便 性的完美结合 。它 简明易用 ,因而得 到 AI 广泛的应 用。VB提供 一个名 为 M._  ̄. _ OMM3 . X的通信控 2 QC
P C机程序清单:( 语言) Ⅶ
图 2 电平匹配原理 图
S b Fo m u r

L a ( od )
RS 3 一2 2信号的 电平 和单 片机串行信 号 的电平不 一致 ,
M S :mm 1 Co (0 . mmPo t 2 r=
收稿 日期 :2 0 0 7—2 0 —2
作者简介 :周桔蓉 (9 8 ,女 ,九江职 业技 术学院电气工程 系教师。 17 一)
维普资讯
2 0 . 07 3
九 江 职 业 技 术 学 院 学 报
( 周桔 蓉 :基 于 V B进 行 P C机 与单 片机 的 串行 通信 )
2 1
基于 V B进 行 P C机 与 单 片 机 的 串行 通 信
周桔 蓉 ,孙 旭 日
( 九江 职业技术学院 ,江西九江 3 20 ) 3 0 7

M S mm1 Set g = ” 9 0 Co . ti s n 6 0, N , 8, 1 ” En u dSb S b c rma d u on n l

Ci ( lk ) c
MS o C mm l Po t  ̄ =FALS , rOr E

基于VB6.0的PC机与单片机串口通讯的实现

基于VB6.0的PC机与单片机串口通讯的实现

基于VB6.0的PC机与单片机串口通讯的实现魏延萍【期刊名称】《信息技术》【年(卷),期】2011(000)007【摘要】RS-232 serial port is used to carry out the communication between PC and singlechip microcomputer. The hardware connection scheme and the associated communication protocols are designed in details. The MSComm component is researched, and the communication program based on VB6.0 is developed, and the detailed programming is presented. An example proved that the design is stable and reliable, and can satisfy the design requirement and function, and the system is provided with a good reference value for developing similar system.%应用RS-232串口实现PC机与单片机之间的通讯,设计了其硬件连接电路及相关通讯协议.研究了MSComm控件,并编写了基于VB6.O的通讯软件程序,给出了详细的程序设计.通过实例,证明该设计运行稳定可靠,能满足设计的需求和功能,对于开发类似的系统具有很好的参考价值.【总页数】3页(P38-40)【作者】魏延萍【作者单位】宝鸡文理学院物理与信息技术系,宝鸡721007【正文语种】中文【中图分类】TP311.1【相关文献】1.基于VC6.0的多台MSP430单片机和PC机串口通讯实现方案 [J], 周辉军;许亮;韩瑞宁2.基于VB6.0的PC机与多单片机串行通信设计与实现 [J], 孔德刚;肖海荣;安国建;刘文江3.利用VB6.0实现PC机与单片机的串口通讯 [J], 付旭;方康玲4.基于VB6.0实现单片机与PC机的串口通信 [J], 陈代胜;张莉君;;;5.基于VB6.0实现PC机与单片机的串行通讯 [J], 杨佩璐因版权原因,仅展示原文概要,查看原文内容请购买。

用VB来实现单片机与PC之间通信

用VB来实现单片机与PC之间通信

VB入门中最简单入门教程基于VB单片机与PC通信一、目的和要求1、掌握利用VB软件制做出通信界面;2、掌握在VB中添加程序并能够写出发送数据的程序;3、掌握单片机串行口通信原理;4、掌握单片机接受串行口通信数据程序;二、设备1、Keilc51软件及电脑一台;2、89C51单片机开发板一块;3、Microsoft Visual Basic 6.0软件;三、实验内容本次课程设计就是利用Microsoft Visual Basic 6.0软件制作一个通信界面在界面上添加三个按钮,当按第一个按钮时单片机上的LED灯正转,当按第二个按钮时单片机上的LED灯反转,当按第三个按钮时单片机上的LED灯闪烁。

单片机能正确接受并显示。

四、原理串口是计算机上一种非常通用设备通信的协议〔不要与通用串行总线Universal Serial Bus或者USB混淆〕。

大多数计算机包含两个基于RS232的串口。

串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。

同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位〔bit〕发送和接收字节。

尽管比按字节〔byte〕的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

它很简单并且能够实现远距离通信。

比方IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

五、步骤1、在桌面上启动Microsoft Visual Basic 6.0软件弹出对话框,点击标准EXE确定。

2、添加串口控件点击工程-部件-Microsoft Comm control 6.0 即可会在左方的工具栏出现该工具,双击此工具会在form1中出现。

3、初始化串口双击form1中的空白区域添加程序MSComm1.Settings = "9600,n,8,1"mPort = 4MSComm1.PortOpen = TrueMSComm1.RThreshold = 1mPort 取决你使用的串行口,在设备管理器中查看。

VB实现PC机与单片机的通信程序

VB实现PC机与单片机的通信程序

Private Sub Command1_Click() ' 发送功能代码: Dim Num As Integer ' 发送的数据变量Dim OutB (0) As Byte ' 发送字节数组Num=Val(Text1.text) ' 类型转换OutB (0)=CByte(Num) ' 转换为二进制MSComm1.OutBufferCount=0 ' 清空发送缓冲区MSComm1.Output=OutB ' 发送数据End Sub接收功能代码:Private Sub MSComm1_OnComm()Dim Array1(0) As Byte ' 接收字节数组Select Case mEventCase comEvReceive ' 触发接收事件Dim Buffer As VariantMSComm1.InputLen = 0Buffer=MSComm1.Input ' 接收数据Array1 (0)=AscB(InData) ' 类型转换Text2.text= Array1 (Buffer) ' 显示数据MSComm1.InBufferCount=0 ' 清空接收缓冲区End SelectEnd Sub单片机部分程序代码Private Sub Form_Load()mPort = 11 '使用COM 作为通信端口MSComm1.Settings = "300,N,8,1" '设置通信参数波特率为9600,' 无奇偶校验位, 8 个数据位, 一个停止位MSComm1.InputLen = 0 '读取缓存区的所有字符MSComm1.InBufferSize = 1024 '设置接收缓存区为1024MSComm1.OutBufferSize = 512 '设置发送缓存区为512MSComm1.PortOpen = True '打开串口MSComm1.SThreshold = 1 '不触发发送事件MSComm1.RThreshold = 1 '每一个字符到接收缓存区都触发接受事件MSComm1.InBufferCount = 0 '清除发送缓存区的数据MSComm1.OutBufferCount = 0 '清除接收缓存区的数据MSComm1.InputMode = comInputModeBinary ' 采用二进制方式End SubPrivate Sub Comsend_Click()Dim x As StringIf Textsend.Text = "" Then '发送数据不能为空x = MsgBox("发送数据不能为空", 16)Exit SubEnd IfIf Not MSComm1.PortOpen Then '保证串口打开MSComm1.PortOpen = TrueEnd IfMSComm1.Output = Textsend.Text + Chr$(13)For i = 1 To 20000000 '延时NextEnd SubPrivate Sub Command1_qkfs_Click()Textsend.Text = "" '清空发送缓存区Textsend.SetFocusEnd SubPrivate Sub Command2_qkjs_Click()TextReceive.Text = "" '清空接收缓存区Textsend.SetFocusEnd SubPrivate Sub MSComm1_OnComm()Select Case mEvent '检验串口事件'错误处理Case comEventOverrun '数据丢失Textsend.Text = "" '清空发送缓存区TextReceive.Text = "" '清空接收缓存区Textsend.SetFocusExit SubCase comEventRxOver '接收缓存区溢出Textsend.Text = "" '清空发送缓存区TextReceive.Text = "" '清空接收缓存区Textsend.SetFocusExit SubCase comEventTxOver '发送缓存区已满Textsend.Text = "" '清空发送缓存区TextReceive.Text = "" '清空接收缓存区Textsend.SetFocusExit Sub'事件处理Case comEReceive '接收缓存区内有数据Dim str As Stringsrt = MSComm1.Input '从接收队列中读入字符串TextReceive.Text = TextReceive.Text + str '读出字符串送显End SelectEnd SubPrivate Sub Commandguanbi_Click()MSComm1.PortOpen = FalseUnload MeEnd Sub/share/269187588/12858676890?from=010*******&ref=hotnewsfeed&sf et=110&fin=5&ff_id=269187588。

基于VB实现PC机与单片机的串行通讯

基于VB实现PC机与单片机的串行通讯

基于VB实现PC机与单片机的串行通讯
引言
随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片
机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。

PC
机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。

因此如何实现PC 机与单片机之间的通讯具有非常重要的现实
意义。

本文将论述在VB 环境下PC 机与单片机之间实现串行通讯的软硬件方案。

PC 机的通讯程序使用Visual Basic 编写,VB 是Microsoft 公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM 控件。

1、硬件原理
目前的PC 机都有至少一个串行通讯端口RS-232,RS-232 端口可用于两台计算机之间进行通讯,RS-232 的逻辑电平用正负电压表示,且信号使用负逻辑,逻辑0 的电压范围是+5V~+15V,而逻辑1 的电压范围是-5V~ -15V,RS-232 端口是计算机与其他设备沟通的最常用的接口,不但实作简单,而且价格便宜。

在8051 单片机的内部有一个全双工的异步串行I/O 口,它的输入和输出使用5V 逻辑而不是RS-232 电压,如何进行两种信号的转换,是连接时需要解决的问题,事实上,解决的方法很简单,只需使用一个诸如MAX232 这样的专用芯片即可。

电路结构见下图。

用Visual Basic实现PC机与单片机之间的串行通信

用Visual Basic实现PC机与单片机之间的串行通信

用Visual Basic实现PC机与单片机之间的串行通信
赵建周;韩庆妙
【期刊名称】《安阳工学院学报》
【年(卷),期】2003(000)001
【摘要】本文介绍应用VB提供的通信控件实现PC机与单片机之间的串行通信的方法、注意事项和两个实例.
【总页数】3页(P38-40)
【作者】赵建周;韩庆妙
【作者单位】安阳大学,河南,安阳,455000;安阳大学,河南,安阳,455000
【正文语种】中文
【中图分类】TN919.6
【相关文献】
1.基于Visual Basic的PLC与PC机之间串行通信设计 [J], 官平;谢守勇;祝诗平
2.使用VisualBasic实现PC与89C51单片机之间的串行通信 [J], 张润华
3.运用Visual Basic实现PC与89C51 单片机之间的串行通信 [J], 沈飙;夏海燕
4.用BASIC语言实现PC机与MCS—51单片机的串行通信 [J], 张国富
5.基于Visual Basic
6.0下PC机与MCS-51单片机的串行通信 [J], 袁月峰;张树森;姚继权
因版权原因,仅展示原文概要,查看原文内容请购买。

VB环境下实现PC机与单片机(8031)的串行通讯

VB环境下实现PC机与单片机(8031)的串行通讯

VB环境下实现PC机与单片机(8031)的串行通讯摘要:一般的PC与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。

本文着重用VB具有面向对象的设计方法,友好的用户界面等优点,来探讨在VB环境下来实现PC机与单片机(8031)之间串行通讯的方法。

关键词:PC机单片机串行通讯数据交换1 引言随着计算机技术特别是单片机技术的发展,在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。

串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。

鉴于PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现应用系统与PC机之间的数据交换。

本文论述了在VB环境下如何实现单片机与PC机之间实现串行通讯所需条件,PC机通讯程序利用VB提供的MsComm串行通讯控件来完成,单片机的程序用汇编语言来写。

2 系统介绍2.1 ADM101E芯片介绍大多数PC机都有一个串行通讯端口RS-232用于两台计算机间进行串行通讯。

RS - 232通讯接口是一种标准化的串行接口,是为远程通讯连接终端设备DTE(Data Terminal Equipment)与数据通讯设备DCE (Data Communication Equipment)定义的物理接口。

RS-232采用非平衡连接(又称为单端线路),在这个线路中,信号电压加到一条导线上,所有的信号电压都使用一个公共的接地线。

为了提高抗干扰能力和增加传送距离,RS一232的每个脚线的信号和电平规定采用负逻辑电平,DC(-15一5V)规定为逻辑“1”,DC( 5— 15V)规定逻辑“0”, DC(-5一 5V规定为过渡区)。

利用VB实现PC机与多单片机远程无线通讯

利用VB实现PC机与多单片机远程无线通讯

摘要:本文给出了一种以数传电台为通讯媒体,由控制中心PC机和多个AT89C51单片机系统组成的远程无线通信系统,重点介绍了利用VB实现PC机与多个单片机控制系统远程无线通讯程序设计方法,实现了PC机对多个远端单元的实时控制与管理。

关键词:Visual Basic、串行通讯、数传电台、单片机、远程控制1 引言随着现代电子与信息技术的不断发展,计算机与单片机控制系统之间的远程无线通讯技术得到了广泛的应用,而数传电台目前已发展成为远程无线通信的一种重要工具,它使用灵活、性价比高,环境适应能力强,非常适用于大范围、分散控制系统及在恶劣环境中,不适于铺设有线网络的实时监控系统,数传电台已成功应用于电力设备监控、计算机实时监控与数据采集(SCADA)以及实时交易数据遥测遥控等领域。

同时VB6.0具有界面友好、编程简便高效、数据处理及驱动底层硬件功能强等优点,成为许多用户开发PC 机与单片机串行通信程序的首选工具。

本文以美国MDS OEM EL705数传电台为通讯媒体,利用VB6.0的通讯控件MSComm实现了控制中心PC机与多个远端AT89C51单片机控制系统之间远程无线通讯,实现了控制中心PC机对多个远端单元的实时控制与管理,并应用于工程设计中,通过实际应用,取得了满意的效果。

2 系统的组成及工作原理2.1系统的组成系统由控制中心和多个远端单元RTU(Remote Terminal Unit)组成。

控制中心主要由上位机PC和数传电台组成,各远端单元由数传电台、AT89C51单片机系统及现场设备组成,各远端单元根据实际需要分布在距控制中心一定距离的范围内,控制中心及远端单元结构分别如图1、图2所示。

2.2工作原理控制中心作为系统的数据终端设备DTE(Data Terminal Equipment),负责实现对远端单片机系统的实时控制与管理,打印单片机系统工作状态信息、自检信息、记录报表信息及远程单片机系统故障报警信息等,并可通过局域网与其它PC机进行信息传递。

用VB 6.O实现PC机与单片机的串行通信

用VB 6.O实现PC机与单片机的串行通信

用VB 6.O实现PC机与单片机的串行通信
周江伟;段奇法
【期刊名称】《武汉理工大学学报(交通科学与工程版)》
【年(卷),期】2001(025)004
【摘要】介绍在Windows98下采用VB6.0中的通信控件实现PC机与单片机之间串行通信的原理及方法.对在并Windows98下实现串行通信的方法进行了探讨,简要介绍了利用Win32API实现多线程通信的原理,较为详细地介绍了利用VB MSComm控件实现串行通信的方法,并结合自动跟踪补偿消弧控制系统的实例给出了基本的通信程序.
【总页数】4页(P508-511)
【作者】周江伟;段奇法
【作者单位】武汉理工大学自动化学院,;武汉理工大学自动化学院,
【正文语种】中文
【中图分类】TP273+.5
【相关文献】
1.用VB实现PC机与MSP430单片机串行通信的研究 [J], 孙瑞杰;吴晓宇;张瑜;马铁华
2.基于VB的PC机与单片机串行通信系统研究与实现 [J], 马壮;吴铮;王永强
3.利用VB8.0实现PC机与多单片机串行通信的方法 [J], 王平根
4.基于VB实现PC机与单片机的串行通信 [J], 王圆妹;许劲;李涛
5.基于VB的PC机与单片机串行通信关键技术实现 [J], 冯新宇;王娟;王安华
因版权原因,仅展示原文概要,查看原文内容请购买。

利用VB实现电脑与单片机通讯

利用VB实现电脑与单片机通讯

VB实现电脑跟单片机通讯任务说明:电脑端通过串口将数字(00,01,….,FF,十六进制)发送给单片机,单片机收到后回传这个数字,电脑接收到回传数据后显示出来,若发送的数据和接受的数据一致,则串口通讯正常,否则错误。

起始符是数字00,结束符是数字FF。

一、软件界面设计如下:二、VB程序代码如下:'将数字(0,1,2,3...255,转换为16进制)传给单片机,单片机收到后回传这个数字,PC机接收到回传数据后显示出来,'若发送和接收的数据相同,显示通信正常,否则通信不正常'发送以00开始,以FF结束'定义变量Dim data, data1 As V ariant '串口初始化'在窗体的Load事件中加入下列代码对串口进行初始化:Private Sub Form_Load()mPort = 1MSComm1.InputMode = 1MSComm1.RThreshold = 1MSComm1.SThreshold = 1MSComm1.Settings = "9600,n,8,1"MSComm1.PortOpen = Truesenddata.Text = "00"End Sub'单击清空文本框Private Sub senddata_Click()senddata.Text = ""Cmdsend.Enabled = TrueEnd SubPrivate Sub senddata_Change()senddata.Text = UCase(senddata.Text)End SubPrivate Sub senddata_KeyPress(KeyAscii As Integer)If (KeyAscii >= Asc("a") And KeyAscii <= Asc("f")) ThenKeyAscii = KeyAscii - 32End IfEnd Sub'向单片机发送数据Private Sub Cmdsend_Click()If Len(senddata.Text) <> 2 ThenMsgBox ("请输入2位16进制数!")Exit SubEnd Ifc = senddata.TextIf (c = "FF") Thendata1 = "&H" & cdata = Chr(data1)Elsea = Left(c, 1) '截取senddata左边字符b = Right(c, 1) '截取senddata右边字符data1 = "&H" & senddata.Text 'data1没有将senddata中的字符拆开data = Chr("&H" & a) & Chr("&H" & b) '将senddata中的字符拆开存入data中,这样就会解决例如A1接收不正确的问题End IfMSComm1.Output = dataCmdsend.Enabled = FalseEnd Sub'获取温度测量值并显示'每发送一次指令,触发下面事件,返回数据串Private Sub MSComm1_OnComm()Dim Inbyte() As ByteDim buffer As Variant'读取仪表返回数据串Select Case mEventCase comEvReceiveInbyte = MSComm1.InputFor i = LBound(Inbyte) To UBound(Inbyte)buffer = buffer + Hex(Inbyte(i))Next iCase comEvSendEnd SelectIf Len(Trim(buffer)) = 1 Thenreturndata.Text = Str("0") & bufferElsereturndata.Text = bufferEnd IfIf "&H" & buffer = data1 ThenLabel1.ForeColor = QBColor(13)Label1.Caption = "通信正常!"End IfIf "&H" & buffer <> data1 ThenLabel1.ForeColor = QBColor(12)Label1.Caption = "通信不正常!"Label1.Caption = "未接收到数据"End IfIf Trim(buffer) = "FF" ThenLabel1.ForeColor = QBColor(12)Label1.Caption = "输入00重新开始!"End IfEnd Sub'当退出程序时,关闭串行口Private Sub Cmdquit_Click()Unload MeEnd SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) MSComm1.PortOpen = False '关闭串口End Sub三、单片机代码:。

利用VB6.0实现网络远程PC与单片机通信

利用VB6.0实现网络远程PC与单片机通信

在各种单片机应用系统的设计中,常常遇到单片机与PC的通信问题,在速度要求不高、传送距离不远的场合一般采用RS 232标准串行接口实现,在传送距离较远的场合,也有学者研究通过网络实现PC间的通信。

但是,要同时满足高速度和远距离PC与单片机通信这是一个迫切需要解决的问题。

随着信息技术的发展,计算机和网络越来越普及,对单片机的远程控制与测量的要求也越来越多。

本文在结合现有研究的基础上,对相关的设计进行一定的改进和创新,设计一个远程通信系统,他由3部分构成:远端PC、本地端PC和单片机系统。

通过VB 可视化编程,远端PC利用局域网向本地端PC发出命令,本地端PC接到命令后,自动与单片机通过打印机接口以EPP1.9协议进行通信(串行接口作为备用通信口),并将接到的单片机数据实时传送给远端PC,以实现高速远程情况下PC与单片机通信的要求。

1 系统结构与设计系统构成如图1所示,远端PC通过局域网和本地PC通信,在通信中使用Winsock控件和TCP/1P协议;本地端PC通过并行通信接口或串行通信接口与单片机通信,在并口通信中使用WINIO并口通信驱动程序、EPP协议和LPT打印机接口,在串口通信中使用MsComm控件、RS 232C协议和COM口。

在此结构中,本地PC端起到中继的作用,当本地端PC接收到从远端PC传送过来的命令,在选择通信方式后,与单片机通信,使单片机向远端PC传送数据。

2 远端PC与本地端PC通信设计TCP/IP是目前在网络通信中广泛采用的一组完整的网络协议,该协议的核心是TCP,IP和UDP协议。

TCP/IP网络环境下应用程序通过网络系统编程界面套接字(Socket)实现与内核的交互。

利用Socket通信编程接口编写程序,其目的是在TCP/IP所组建网络的不同机器之间利用客户/服务器模式建立通信连接,开发人员只要提供一些基本的连接信息,其余由操作系统内核完成。

WinSock(Windows Socket)是Windows操作系统下的通用的TCP/IP应用程序的网络编程接口,通过调用WinSock的接口函数来调用TCP/IP的各种功能。

用VB实现单片机和计算机的串口通信

用VB实现单片机和计算机的串口通信

用VB实现单片机和计算机的串口通信//ex99 单片机数据发送程序#include //包含单片机寄存器的头文件/*****************************************************函数功能:向PC 发送一个字节数据***************************************************/void Send(unsigned char dat){ SBUF=dat; while(TI==0) ; TI=0;}/*****************************************************函数功能:延时1ms(3j+2)i=(3乘以33+2) 乘以10=1010(微秒),可以认为是1毫秒***************************************************/void delay1ms(){ unsigned char i,j; for(i=0;i<10;i++) for(j=0;j<33;j++) ;}/*****************************************************函数功能:延时若干毫秒***************************************************/void delaynms(unsigned char x){unsigned char i; for(i=0;i<x;i++) delay1ms();}/*****************************************************函数功能:主函数***************************************************/void main(void){ unsigned char i; TMOD=0x20; //定时器T1工作于方式2 TH1=0xfd; //根据规定给定时器T1赋初值TL1=0xfd; //根据规定给定时器T1赋初值PCON=0x00; //波特率9600 TR1=1; //启动定时器t1 SCON=0x40; //串口工作方式1 while(1) { for(i=0;i<200;i++) //模拟检测数据{ Send(i); //发送数据i delaynms(100); //100ms发送一次检测数据} }}tips:感谢大家的阅读,本文由我司收集整编。

用VB实现计算机与单片机的串行通信

用VB实现计算机与单片机的串行通信
维普资讯
S M f
E bde ytr m eddS s n e
用V B实现计 算机 与单片机 的 串行通信
周 子 琛 , 申 振 宁
( 警工程 学院 ,陵 西 西 安 7 0 6) 武 1 08
摘 要 :给 出了使用 VB控 件 .实现 P C机 8 3 0 1单片机之 串行 通信 的编 程 方法 r井给 出 了 个 H j VB
2 硬 件 组 成
该系统 中, 由于计 算机 串行通 信接 口和 8 3 单 01 片机的驱动 电平 不一致 ,故应 使用一个 电平转换装
置 ,而 MAXI 3 2 M 2 3就 可 以 完 成 这 。 能 , 最 简 功 单系 统 如 图 1 示。 所
件及错 误 ; ( )查询 方式, 查 Co E e t 性 来 2 检 n v n属 处理通 信 事 件及 错 误 。 F 面简要介绍Ms mm控件的主要 属性 以及 响 Co
“ 用 C 使 OM2作 为 通 信 口 , 使 用 查 询 方 式 进 行 通 信 ,每 隔 0 5 查 询 一 次 , 以确 定 是 否 发 送 周 期 .S
到 接 收 缓 冲 区 内字 节 个 数 达 到 或 超 过 该 设 置 值 时 就 产 生 On o c mm 事 件 。 门) n uln: 设 置 或 返 回接 收 缓 冲 区 内用 I . lp t e n p t 八 的个数 。 n 读 () n u : 表 示 从 接 收 缓 冲 区 内 读 出 的 串字 8 Ip t
( )P rOp I 串 行 L打 开 与 否 , 为 布 尔 案 。 3 o t e1 : J ( ) n feSz : 设 置 或 返 回缓 冲 区 的 人 小 , 4 IBu fr ie 政省值 为 l 2 0 4字 节 。 ( ) n u fr o n: 返 同 缓 冲 区 等 待 读 取 字 节 5 IB f C u t e

用VB实现计算机与单片机的串行通信

用VB实现计算机与单片机的串行通信

用VB实现计算机与单片机的串行通信周子琛,申振宁(武警工程学院,陕西西安710086)摘要:给出了使用VB控件,实现PC机与8031单片机之间串行通信的编程方法,并给出了一个用VB实现PC机同8031通信的应用实例。

1 概述在工业应用中,常常需要进行串行通信,特别是在一些工业控制系统中尤其重要。

早期,人们习惯使用汇编语言来编制通信程序,随着WINDOWS和可视化编程开发环境的出现,如微软的VB、VC等等,给传统的程序开发模式带来了深刻的变化。

其中VISUAL BASIC 由于使用方便,一般工程人员容易掌握、设计软件方便、工作量较小,深受工程人员喜爱。

适用于一些对实时性要求不高的情况下使用。

以下就采用RS232串行接口和8031单片机进行通信为例设计一个由8031单片机采集外部数据,然后送入计算机进行数据处理的处理过程来说明VB在开发串行通信时的使用情况。

2 硬件组成该系统中,由于计算机串行通信接口和8031单片机的驱动电平不一致,故应使用一个电平转换装置,而MAXIM3223就可以完成这一功能,最简单系统如图1所示。

在使用VB来完成串行通信时,可以使用两种方法:一种是VB调用Windows的API 函数法,另一种是使用VB自带的通信控件MsComm来完成。

3 MsComm控件MsComm控件并未在常用的工具箱内出现,用户可以单击菜单中的“工程”菜单,并选择“部件”命令,在部件对话框中选择“Micosoft comm. Control”即可加入到工具箱内。

MsComm控件提供了一系列标准通信命令使用的界面,可以建立与串行通信端口的连接,并通过串行通信端口完成对单片机,调制解调器等设备的数据采集和发送,以及监视串行通信线路的变化。

MsComm控件有两种处理方式:(1)事件驱动方式,由MsComm控件中的OnComm事件捕获并处理通信事件及错误;(2)查询方式,检查ConEvent属性来处理通信事件及错误。

基于VB6.0的PC机与单片机间的串口通信

基于VB6.0的PC机与单片机间的串口通信

基于VB6.0的PC机与单片机间的串口通信摘要:串口通信是一项广泛应用于各领域使用的通信方式,如打印机、逻辑分析仪、磁盘等,都很普遍地采用了串口方式交换数据。

为了可以更方便地控制电脑关机、重新启动、打开我的电脑等功能,系统采用以单片机为核心介绍了基于VB6.0的PC机与单片机间的串口通信,将接收到的红外遥控器所发出的信号通过串口通信技术,然后利用VB开发的虚拟软件在电脑屏幕上显示相应的控制功能。

关键词:串口通信VB6.0 单片机Visual Basic6.0是一种功能强大、可视化的程序设计语言,是Microsoft公司在Quick Basic的基础上为开发Windows应用程序而提供的强有力的开发环境和开发工具,是具有良好的图形用户界面的程序设计语言。

它采用面向对象和事件驱动的编程机制,把过程化和结构化编程思想结合在一起。

Visual Basic即可视Basic 语言,缩写为VB。

它以Basic语言为基础,它的可视化(Visual)特性,还为应用程序的界面设计提供了更迅速便捷的途径。

Visual Basic提供的可视化设计工具,把Windows界面设计的复杂性“封装”起来,不必为界面设计而编写大量的程序代码,只需按设计要求的屏幕布局,在屏幕上画出各种“部件”,即图形对象,并设计这些图形对象的属性,Visual Basic就会自动产生界面设计代码,只需要编写实现程序功能的那部分代码,因此,可以大大提高程序设计的效率。

其中MSComm通信控件提供了一系列标准通信命令的接口,它允许上位机与其他通信设备建立串口连接,还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以利用它创建高效实用的串行通信程序。

MSComm控件封装了串口通信的API函数,适用于Windows的各种操作平台,使串口通信编程变得简单、方便。

该控件不仅可在VB下使用,而且还适用于VC、Delphi等。

用VB开发PC与单片机通信的上位机程序

用VB开发PC与单片机通信的上位机程序

1 符号位2 百位3 十位4 个位注释:1,符号符,+(2B)或—(2D),表示数据的正负2,3,4,百位,十位,和个位数字5,结束符,用大写字母A(41)表示接着,我们就要明确设计思路了,这个程序的设计将采用Microsoft Visual Basic 6.0(以下简称VB6.0)作为编译环境,运用串口通讯控件MSComm,通过计时器控件实现以查询方式编写的串口数据的接收和实时绘图。

二,程序界面设计(1)创建一个标准EXE工程:启动VB6.0,在自动弹出的“新建工程”窗口中单击“标准EXE”图标,然后单击“打开”按钮即可创建一个标准EXE工程。

将弹出的窗体的Caption属性设置为串口通讯与实时绘图程序。

[attachment=1364699](1)添加串口通信控件MSComm:VB的串口通信控件MSComm并不会主动出现在工具箱中,当我们需要MSComm控件时,首先要把它加入工具箱中,选择“工程”菜单下的“部件...”子菜单,在弹出的“部件”对话框中,在“控件”选项卡属性中选中“Microsoft Comm Control 6.0”,单击“确定”按钮后,在工具箱中就出现了一个形似电话的图标,这就是MSComm控件,选择MSComm控件的图标,将它添加到适当位置,采用默认名称MSComm1。

[attachment=1364697][attachment=1364696](1)添加一个Timer控件用于自动接收字符:选择Timer控件的图标,将它添加到适当位置,采用默认名称Timer1,Interval属性为1,Enabled属性为False。

(2)添加两个文本框控件用于显示数据:选择TexrBox控件的图标,将它添加到适当位置,采用默认名称Text1与Text2,Text属性均设置为空,设置Text2的属性MultiLine=True,ScrollBars=2-Vertical。

Text1用于显示最新的一组数据,Text2用于储存之前的所有数据。

用VB实现PC机与MCS_51单片机的主从式通信

用VB实现PC机与MCS_51单片机的主从式通信

用VB 实现PC 机与MCS )51单片机的主从式通信Master -Slave Mode Communication between PC Computerand MCS )51Microprocessors w ith VB Language 林巧玲 兰 浩 谢国栋(上海大学自动化学院 200072)Lin Qiaoling Lan Hao Xie Guodong (Shanghai University 200072 China)摘要 主要针对多台LED 显示屏系统数据传送问题,提出一种用Visual Basic 语言实现的PC 机与多台MCS )51单片机主从式通信方法,给出硬件电路图、通信协议及软件流程图关键词:主从式通信 通信协议 VB 语言 单片机Abstract This paper describes mainly a method to realize the master -slave mode communication between PC computer and multiple MC S )51microprocessors in mult-i LED -screen systems using VB langua ge,includ -ing the circuit of hardware,the communication protocols as well as the flow charts of software 1Keywords:Master -slave mode communication Communication protocols VB langua geMicroprocessor上海市高校科技发展基金资助项目。

19990511收到稿件。

林巧玲 女,1962年生,1988年毕业于浙江大学研究生院,获硕士学位,现在上海大学从事LED 大屏幕显示系统的研究、开发、生产和推广工作。

利用VB6.0实现网络远程PC与单片机通信

利用VB6.0实现网络远程PC与单片机通信

在各种单片机应用系统的设计中,常常遇到单片机与PC的通信问题,在速度要求不高、传送距离不远的场合一般采用RS 232标准串行接口实现,在传送距离较远的场合,也有学者研究通过网络实现PC间的通信。

但是,要同时满足高速度和远距离PC与单片机通信这是一个迫切需要解决的问题。

随着信息技术的发展,计算机和网络越来越普及,对单片机的远程控制与测量的要求也越来越多。

本文在结合现有研究的基础上,对相关的设计进行一定的改进和创新,设计一个远程通信系统,他由3部分构成:远端PC、本地端PC和单片机系统。

通过VB 可视化编程,远端PC利用局域网向本地端PC发出命令,本地端PC接到命令后,自动与单片机通过打印机接口以EPP1.9协议进行通信(串行接口作为备用通信口),并将接到的单片机数据实时传送给远端PC,以实现高速远程情况下PC与单片机通信的要求。

1 系统结构与设计系统构成如图1所示,远端PC通过局域网和本地PC通信,在通信中使用Winsock控件和TCP/1P协议;本地端PC通过并行通信接口或串行通信接口与单片机通信,在并口通信中使用WINIO并口通信驱动程序、EPP协议和LPT打印机接口,在串口通信中使用MsComm控件、RS 232C协议和COM口。

在此结构中,本地PC端起到中继的作用,当本地端PC接收到从远端PC传送过来的命令,在选择通信方式后,与单片机通信,使单片机向远端PC传送数据。

2 远端PC与本地端PC通信设计TCP/IP是目前在网络通信中广泛采用的一组完整的网络协议,该协议的核心是TCP,IP和UDP协议。

TCP/IP网络环境下应用程序通过网络系统编程界面套接字(Socket)实现与内核的交互。

利用Socket通信编程接口编写程序,其目的是在TCP/IP所组建网络的不同机器之间利用客户/服务器模式建立通信连接,开发人员只要提供一些基本的连接信息,其余由操作系统内核完成。

WinSock(Windows Socket)是Windows操作系统下的通用的TCP/IP应用程序的网络编程接口,通过调用WinSock的接口函数来调用TCP/IP的各种功能。

利用VB实现PC机与多个单片机通讯

利用VB实现PC机与多个单片机通讯

利用VB实现PC机与多个单片机通讯摘要:在Windows2000下利用VB的串行通讯控件可实现PC机与多单片机之间的通讯。

采用定时器控制大大加快了自动化进程,克服了以往“握手”协议造成的通讯速度缓慢的缺点。

本文主要介绍了在PC机上如何利用VB软件构建单片机的上位机界面和底层通信基础。

关键词:单片机;通讯;属性;事件中图分类号:TP311.1 文献标识码:A 文章编号:1007-9599 (2010) 05-0000-02Using VB Realized Communication Between Multiple MCU&PCLi Guofeng(Langfang Teachers College,Langfang 065000,China)Abstracts:Using VB COMM Controls in Windows2000 can be realized communications Between ma ny Microcontroller unints and PC.Greatly accelerated by the timer control automated processes,ov ercoming the past"handshake"agreements resulting from the shortcomings of slow communication s.This paper mainly introduces how to use a PC in VB software construction of MCU interface and t he underlying communication foundation.Keywords:MCU;Communication;Property;Events在采用以PC机为控制中心的数据采集自动化控制系统中,通常需要单片机采集数据,然后用异步串行通讯方式传给PC机,PC对单片机进行定时控制,需要多个单片机协同工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB实现电脑跟单片机通讯
任务说明:
电脑端通过串口将数字(00,01,….,FF,十六进制)发送给单片机,单片机收到后回传这个数字,电脑接收到回传数据后显示出来,若发送的数据和接受的数据一致,则串口通讯正常,否则错误。

起始符是数字00,结束符是数字FF。

一、软件界面设计如下:
二、VB程序代码如下:
'将数字(0,1,2,3...255,转换为16进制)传给单片机,单片机收到后回传这个数字,PC机接收到回传数据后显示出来,
'若发送和接收的数据相同,显示通信正常,否则通信不正常
'发送以00开始,以FF结束
'定义变量
Dim data, data1 As V ariant '串口初始化
'在窗体的Load事件中加入下列代码对串口进行初始化:
Private Sub Form_Load()
mPort = 1
MSComm1.InputMode = 1
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
senddata.Text = "00"
End Sub
'单击清空文本框
Private Sub senddata_Click()
senddata.Text = ""
Cmdsend.Enabled = True
End Sub
Private Sub senddata_Change()
senddata.Text = UCase(senddata.Text)
End Sub
Private Sub senddata_KeyPress(KeyAscii As Integer)
If (KeyAscii >= Asc("a") And KeyAscii <= Asc("f")) Then
KeyAscii = KeyAscii - 32
End If
End Sub
'向单片机发送数据
Private Sub Cmdsend_Click()
If Len(senddata.Text) <> 2 Then
MsgBox ("请输入2位16进制数!")
Exit Sub
End If
c = senddata.Text
If (c = "FF") Then
data1 = "&H" & c
data = Chr(data1)
Else
a = Left(c, 1) '截取senddata左边字符
b = Right(c, 1) '截取senddata右边字符
data1 = "&H" & senddata.Text 'data1没有将senddata中的字符拆开
data = Chr("&H" & a) & Chr("&H" & b) '将senddata中的字符拆开存入data中,这样就会解决例如A1接收不正确的问题
End If
MSComm1.Output = data
Cmdsend.Enabled = False
End Sub
'获取温度测量值并显示
'每发送一次指令,触发下面事件,返回数据串
Private Sub MSComm1_OnComm()
Dim Inbyte() As Byte
Dim buffer As Variant
'读取仪表返回数据串
Select Case mEvent
Case comEvReceive
Inbyte = MSComm1.Input
For i = LBound(Inbyte) To UBound(Inbyte)
buffer = buffer + Hex(Inbyte(i))
Next i
Case comEvSend
End Select
If Len(Trim(buffer)) = 1 Then
returndata.Text = Str("0") & buffer
Else
returndata.Text = buffer
End If
If "&H" & buffer = data1 Then
Label1.ForeColor = QBColor(13)
Label1.Caption = "通信正常!"
End If
If "&H" & buffer <> data1 Then
Label1.ForeColor = QBColor(12)
Label1.Caption = "通信不正常!"
Label1.Caption = "未接收到数据"
End If
If Trim(buffer) = "FF" Then
Label1.ForeColor = QBColor(12)
Label1.Caption = "输入00重新开始!"
End If
End Sub
'当退出程序时,关闭串行口
Private Sub Cmdquit_Click()
Unload Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) MSComm1.PortOpen = False '关闭串口
End Sub
三、单片机代码:。

相关文档
最新文档