MSComml.CommPort=1 '设置端口1
MSComml.Settings="2400,N,8,1" '2400 b/s,无校验,8位数据位,1位停止位
MSComml.InputLen=1 '一次从缓冲区中接收一个字节
MSComml.InBufferSize=1024 '接口收缓冲区大小
MSComml.PortOpen=Ture '打开端口
MSComml.Rthreshold=1 '接收一个字节触发一次ONCOMM事件
2.2.2 ONCOMM事件响应程序
Private Sub MSComml_OnComm()
Dim buffer As Variant '由缓冲区接收到的数据用Variant格式接收
Dim arr()As Byte '定义二进制数组
Dim i As Integer
Dim receivester As string '定义输出到接收文本框中的字符变量
'下段程序是comEvReceive事件触发后,将数据存入相应的数组,并在接收文本框中显示
Select Case MSComml.CommEvent CasecomEvReceive buffer=MSComml.Inpute
arr=buffer接收缓冲区内数据variant变量内
arr=buffer '转换为二进制数并送入相应数组
For i=1to8
receivester arr(i)
Text1.Text=Text1.Text&receiverstr&"."
'在接收框中显示文本
Next i
End Select
End Sub
3 结束语
本重量测量系统,充分发挥了AT89S52单片机强大的控制能力和计算机的数据处理能力,通过称重传感器和24位分辨率的A/D转换器实现了对重量的高精度测量。系统在电子秤的实际应用中收到了满意的效果。