资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
VB6.0串口操作职业 2010-12-22 11:30:58 阅读60 评论0 字号:大中小订阅 一直想通过计算机人机界面来控制单片机,感觉用软件控制硬件,即计算机控制是一件比较有意思的事情。计算机与单片机的连接,是通过串口来实现的。如何实现,我想应该明白VB怎样来操作串口,实现VB操作串口,就可以把单片机串口线接入计算机,从而实现真正的计算机控制单片机。这其他是别人早已实现了的,我因为是刚接触,就写下来留作纪念吧。开发软件:Visual Basic 6.0企业版(VB6)新建一个工程:标准EXE。接下来做Form界面。代码:Private Sub Combo1_Click()If MSComm1.PortOpen = True Then 如果串口打开先关闭后再进行其他操作 MSComm1.PortOpen = FalseEnd IfMSComm1.CommPort = Combo1.ListIndex + 1End SubPrivate Sub Command1_Click() Dim Temp(0) As Byte Dim strBuff As StringIf Option3.Value = True Then 如果显示16进制发送则进行16进制处理 ,这里只发送一个 Temp(0) = &H & Text1 MSComm1.Output = Temp 发送一个16进制 Else strBuff = Text1End IfIf MSComm1.PortOpen = False Then MsgBox 请打开串口End IfOn Error GoTo uerrorMSComm1.Output = strBuffuerror: End SubPrivate Sub Command2_Click()On Error GoTo uerror 发现错误跳转到错误处理If Command2.Caption = 关闭串口 Then MSComm1.PortOpen = False Command2.Caption = 打开串口 按钮文字改变 Shape1.FillColor = &HFFFFC0 灯颜色改变Else MSComm1.PortOpen = True Command2.Caption = 关闭串口 Shape1.FillColor = &HFFEnd IfExit Subuerror: msg$ = 无效端口号 错误显示 Title$ = 串口调试助手 x = MsgBox(msg$, 48, Title$) 48标示显示警告图标 End SubPrivate Sub Command3_Click()Text2.Text = End SubPrivate Sub Command4_Click()Text1.Text = End SubPrivate Sub Form_Load()If MSComm1.PortOpen = True Then MSComm1.PortOpen = FalseElseEnd IfCombo1.AddItem COM1Combo1.AddItem COM2Combo1.AddItem COM3Combo1.AddItem COM4Combo1.AddItem COM5Combo1.AddItem COM6Combo1.AddItem COM7Combo1.AddItem COM8Combo1.AddItem COM9Combo1.AddItem COM10Combo1.AddItem COM11Combo1.AddItem COM12Combo1.AddItem COM13Combo1.AddItem COM14Combo1.AddItem COM15Combo1.AddItem COM16Combo1.ListIndex = 0MSComm1.CommPort = Combo1.ListIndex + 1MSComm1.Settings = 9600,n,8,1 Command2.Caption = 打开串口 Shape1.FillColor = &HFFFFC0Option2.Value = TrueOption4.Value = TrueCombo2.AddItem 256000Combo2.AddItem 128000Combo2.AddItem 115200Combo2.AddItem 57600Combo2.AddItem 38400Combo2.AddItem 28800Combo2.AddItem 19200Combo2.AddItem 14400Combo2.AddItem 12800Combo2.AddItem 11520Combo2.AddItem 9600Combo2.AddItem 4800Combo2.AddItem 2400Combo2.AddItem 1200Combo2.AddItem 600Combo3.AddItem 无NoneCombo3.AddItem 奇OddCombo3.AddItem 偶EvenCombo4.AddItem 4Combo4.AddItem 5Combo4.AddItem 6Combo4.AddItem 7Combo4.AddItem 8Combo5.AddItem 1Combo5.AddItem 2End SubPrivate Sub MSComm1_OnComm()Dim BytReceived() As Byte Dim strBuff As String Dim i As Integer Select Case MSComm1.CommEvent 事件发生 Case 2 Cls MSComm1.InputLen = 0 读入缓冲区全部内容 strBuff = MSComm1.Input 读入到缓冲区 If MSComm1.InputMode = comInputModeBinary Then BytReceived() = strBuff 如果是二进制接收模式则进行数据处理,否则直接显示字符串 For i = 0 To UBound(BytReceived) If Len(Hex(BytReceived(i) = 1 Then strData = strData & 0 & Hex(BytReceived(i) & 如果只有一个字符,则前补0,如F显示0F,最后补空格 Else 方便显示观察如: 00 0F FE strData = strData & Hex(BytReceived(i) & End If Next Text2 = Text2 & strData strData = Else Text2 = Text2 & strBuff End If End SelectEnd SubPrivate Sub Option1_Click()MSComm1.InputMode = comInputModeBinaryEnd SubPrivate Sub Option2_Click()MSComm1.InputMode = comInputModeTextEnd Sub重要:一。添加新的VB控件:在控件 工具箱点鼠标右键:部件 添加:Microsoft Comm Control 6.0 (Mscomm1)二、设置 Mscomm1选中Mscomm1 改:RThreshold 0-1 LThreshold 0-1其他可不用改,默认。OK,以上基本可以完成这个小程序的设计,这样点发送就可以发送一个字符了。如果有单片机,在单片机里编好接收程序,则可以实现一定的控制,如实现LED灯的亮与灭,数码管显示,这在以后我会努力搞定发表的。附:上面程序界面中命名:信息(1)发送区:用frame3 (必须用,这样隔离option1,2).Text1 (发送文本框) option3(16进制发送) option 4 (字符格式发送)发送(command1) 清空发送区(command4)(2)接收区:Frame1 (必须用,隔离option3,4,)Text2(接收文本框,要多行,即:属性:MultiLine:True)option1(16进制接收) option2(字符格式接收) command3(清空接收区:Text2)(3)端口设置区:(在Form_load里设置的初值)combo1(端口,Text:COM1) combo2(波特率) combo3(校验位) combo4(数据位) combo5(停止位)Label1Label5标示名字 : 即:Label1:端口 Label2:波特率Label3:校验位Label4:数据位Label5:停止位(4)command2 :打开串口,(5)Mscomm1(添加的VB6.0串口控件)(6)添加一Shape1(圆形的用 3-Circle) 通过设置其FillColor(颜色变化)来标示COM口是否打开以上基本完成。其他功能大家相互学习吧。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号