历史上的今天
返回首页

历史上的今天

今天是:2025年06月28日(星期六)

2019年06月28日 | 第十节:(二)VB MSCOMM控件与单片机通信实现温度显示

2019-06-28 来源:eefocus

     在上一部分中单片机程序,单片机将采集到的温度数据处理后,通过串行口发送出去,这一节专门讲解如何用VB6.0(企业版)调用MSComm控件接收数据、处理数据和显示数据。


第一步,打开VB软件,如下图所示。在新建工程对话框中选择[标准EXE习项]单击[打开习按钮]

接着出现如下图所示界面。


第二步, 单击 [工程一部件]菜单项, 打开[部件]对话框,弹出对话框如下图所示。


选择 [Microsotf Comm Control 6.0]控件列表项, 单击[确定]按钮, 如下图所示。


      然后可以看到在工具箱中增加了一个像电话的图标, 如下图箭头所指处, 这就是VB串行口通信所用的标准控件 ( MSComm )。

第三步, 单击[MSComm]控件, 并在窗体 Forml上拖出一个矩形,如下图所示,这时 MSComm控件就被添加到工程中了。


第四步, 一个矩形框,单击 [TextBox] 控件, 如下图左箭头所指处, 同上步骤在窗体 Forml 上拖出如下图右所示。


第五步, 双击[TextBox]控件或窗体无控件的空白处, 会打开代码编辑框, 如下图所示。

第六步, 在 Private Sub Form_load()函数中增加如下代码:

Private Sub Form_Load()

Text1(0).Enabled = False

Text2.Enabled = False

Text3.Enabled = False

Text2.Text = "单片机与PC端通信" & vbCrLf & "QQ:1371129880 " & vbCrLf & "博客:https://blog.csdn.net/qq_38351824"

 

MSComm1.Settings = "9600,n,8,1"    '波特率 9600bit/s  无校验  8位数据 1位停止位

MSComm1.CommPort = 5               '设定串口为1com,这里大家需要改为自己对应的com序号

MSComm1.InBufferSize = 8           '设置返回接收缓冲区的大小,以字符为单位

MSComm1.OutBufferSize = 2

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False  '关串口

MSComm1.RThreshold = 4  '设置并返回产生oncomm事件的字符数,以字符为单位

'RThreshold         为1,接收缓冲区收到每一个字符都会使MSComm控件产生oncomm事件

MSComm1.SThreshold = 1

MSComm1.InputLen = 0  '设置从接收缓冲区读取的字数,为0读取整个缓冲区

MSComm1.InputMode = comInputModeText  '文本形式接收

If MSComm1.PortOpen = False Then MSComm1.PortOpen = True

MSComm1.InBufferCount = 0  '清空缓冲区

Me.Caption = "温度"

Text1(0).Text = "00.0"

End Sub

添加完的编辑框如下中上半部分所示。

第七步, 双击窗体内的 [ MSComm]控件, 向 [ Private Sub  MSComml_OnComm()]函数中添加接收数据代码,添    加完成后的编辑框如下图的下半部分所示。

Private Sub MSComm1_OnComm()

Dim rec As String

Select Case MSComm1.CommEvent

Case comEvReceive

rec = MSComm1.Input

Text1(0).Text = rec

MSComm1.InBufferCount = 0 '清空缓冲区

End Select

End Sub

第八步, 单击上按钮或直接按 [ F5]键运行程序。用串行口线连接 实验板和计算机, 即可在文本框中显示出当前环境温度值, 如下图所示。


推荐阅读

史海拾趣

Banner Engineering公司的发展小趣事

面对日益严峻的环境问题,Banner Engineering公司积极践行绿色环保理念,推动企业的可持续发展。公司在生产过程中采用了环保材料和工艺,减少了对环境的污染。同时,公司还致力于开发节能高效的传感器产品,帮助客户降低能源消耗和减少碳排放。此外,公司还积极参与公益活动和社会责任项目,为社会和环境做出积极贡献。

这些故事展示了Banner Engineering公司在电子行业发展中不断创新、拓展市场、提升质量、践行环保理念的发展历程。正是这些努力使公司成为了电子行业中具有影响力的企业之一。

Agilent Technologies公司的发展小趣事

Banner Engineering公司一直将质量管理作为企业发展的核心。公司建立了完善的质量管理体系,从原材料采购、生产制造到产品出厂,每一个环节都进行严格的质量控制。同时,公司还注重持续改进,通过不断优化生产流程、提高生产效率、降低生产成本等方式,不断提升产品质量和企业竞争力。这些努力使公司的产品在市场上获得了良好的口碑和信誉。

Electro Technik Industries公司的发展小趣事

ETI公司成立于20世纪初,当时电子产业正处于起步阶段。创始人张三看准了电子技术的巨大潜力,决定投身其中。然而,初创时期资金短缺、技术落后、市场竞争激烈等问题让ETI步履维艰。张三凭借着对电子技术的热情和不懈的努力,带领团队不断研发新产品,拓展市场,最终使ETI在电子行业中崭露头角。

Custom Electronics Inc公司的发展小趣事

随着科技的快速发展和市场需求的变化,CEI不断调整自身的发展战略和业务结构。公司加大了对新技术、新产品的研发投入,推动产业结构的升级和转型。同时,CEI还积极探索新的商业模式和市场机会,为公司的可持续发展提供了有力保障。

HANA Micron公司的发展小趣事

Hama公司成立于1923年,最初在德勒斯登作为一家个人作坊起家,专门批发摄影设备及制造实验室和录音设备。随着电子技术的兴起,Hama敏锐地捕捉到市场变化,开始逐步将产品线扩展到电子配件领域。通过不断的技术研发和产品创新,Hama成功转型为一家电子配件的领军企业,其产品线涵盖了从电线、存储卡、天线到相机配件等广泛品类。这一转型不仅巩固了Hama在市场上的地位,也为其后续的发展奠定了坚实基础。

FETek Technology(东沅)公司的发展小趣事

FETek Technology(东沅)于XXXX年在台湾台北市成立,由一群志同道合的半导体行业专家组成。他们看到了当时电子行业对高质量、高效率半导体测试解决方案的迫切需求,于是决定创立东沅,专注于提供这一领域的创新产品。初期,公司面临资金紧张、人才匮乏等挑战,但他们凭借坚定的信念和不懈的努力,逐渐吸引了更多的投资者和优秀人才加入。

问答坊 | AI 解惑

后级是用IGBT管子的电鱼器

后级是用IGBT管子的电鱼器…

查看全部问答>

9G-LINUX嵌入式开发书籍推荐(附WINCE部分)

来源:我的博客:http://blog.163.com/yuan_xihua/blog/static/3074054420087135650488/ 一,编程语言部分1,C语言 《C语言大全(第四版)》  市场价 :¥48.00 【原 书 名】 The Complete Referene,Fourth Edition   【 ...…

查看全部问答>

QuartusII7.2SP3破解文件

QuartusII7.2SP3破解文件…

查看全部问答>

电源模块测试规范

电源模块测试规范…

查看全部问答>

s3c2410 Nand flash 驱动问题

在看2.4.18内核的关于三星的nand flash 驱动时遇到一个地方没有看明白,请指教 使用的nand flash 为 k9f1208 其中有个函数:作用是向flash发送一个地址 static void s3c2410_command (struct mtd_info *mtd, unsigned command, int column, int ...…

查看全部问答>

招聘 兼职嵌入式Linux讲师 (上海)

招聘嵌入式Linux讲师,工作地点上海,要求如下: 1、具有3年或以上相关领域工作经验 2、熟悉嵌入式Bootloadr 3、熟悉Linux 内核及实时系统 4、熟悉Linux驱动 5、熟悉Linux设备驱动 6、熟悉嵌入式文件系统 工作时间可在周末,一经录用 ...…

查看全部问答>

【晒经典】1.25—30V稳压可调电源电路

本帖最后由 dontium 于 2015-1-23 13:24 编辑 LM117/LM317是美国国家半导体公司的三端可调正稳压器集成电路。我国和世界各大集成电路生产商均有同类产品可供选用,是使用极为广泛的一类串联集成稳压器。 LM117/LM317 的输出电压范围是1.2V 至3 ...…

查看全部问答>

【白皮书分享】为无线扩容铺平道路

作者:Ralf Bendlin,德州仪器系统工程师Tony Ekpenyong,德州仪器系统工程师Debbie Greenstreet,德州仪器战略市场营销   摘要       智能手机与其它手持设备的发展以及其上数据消费应用的大量繁衍生息,不 ...…

查看全部问答>

请各位大大能不能给我说明下这张图的工作原理

谢谢请告诉我这张图的工作原理好吗谢谢!…

查看全部问答>

INOUT引脚:在FPGA中使用方法

INOUT引脚: 1.FPGA IO在做输入时,可以用作高阻态,这就是所说的高阻输入; 2.FPGA IO在做输出时,则可以直接用来输入输出。 芯片外部引脚很多都使用inout类型的,为的是节省管腿。就是一个端口同时做输入和输出。 inout在具体实现上一般用 ...…

查看全部问答>