导航:首页 > 操作系统 > vb显示单片机温度

vb显示单片机温度

发布时间:2022-07-09 11:45:01

⑴ 求VB高手,需要VB通过串口接收51单片机采集到的温度,并在VB上显示出来温度值,不需要曲线

仅供参考

Private Sub Form_Load()
Dim i As Integer
With MSComm1
If .CommPort <> 2 Then .CommPort = 2 '设置Com2为通信端口
.Settings = "9600,N,8,1" '设置通信端口参数 9600赫兹、无校验、8个数据位、1个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。
'含义是:B:Baud Rate(波特率);P:Parity(奇偶);D:Data Bit;S:Stop Bit)
.InBufferSize = 1024 '设置缓冲区接收数据为1024字节
.OutBufferSize = 512
.InputMode = comInputModeText '设置数据接收模式为16进制形式
.InputLen = 1 '设置Input一次从接收缓冲读取字节数为1
.RThreshold = 1 '设置接收一个字节就产生OnComm事件
.OutBufferCount = 0 '清空发送缓冲区
.InBufferCount = 0 '滑空接收缓冲区
If Not .PortOpen Then
.PortOpen = True '打开通信端口
End If

End With

⑵ 使用51单片机与PC进行串口通信时,怎么将一个温度值(带两位小数)发送到VB编写的上位机界面上显示

使用51单片机与PC进行串口通信时,需将一个温度值(带两位小数)按通信协议规范组成的数据帧发送到PC机,VB则按通信协议规范组成的数据帧编写的上位机程序,接收和处理数据帧,并显示于运行程序界面或控件上。

⑶ 这个单片机程序可以往VB里面传送数据 可以正常显示温度,但是发送到VB里边显示00

数据头校验加上AA,随便你加,解包的时候,判断这个标志位就行了,校验位,加不加都可以,常见的加奇偶校验,就是多发一个位过去,实际上串口一旦出错,都是很明显的错误,奇偶校验的作用非常小,串口常常都会收到多数据帧的情况,一般把这些筛选掉就可以了,想要安全,就考虑USB来,说一下你的程序。初步估计你这个程序本身就有问题, 程序发送出去的数据是否正确,这个很容易办,借助串口调试助手这个是很多工程师都在用的,就不用考虑PC接收数据部准确的情况,网上下一个,看电脑上显示的数据,是否正常。找出错误的原因,是在单片机发送程序还是你自己写的VB程序,个人感觉是你单片机端不正确,这个我没有运行你的程序,因为你前面提到一秒发送好多次数据。你的目的应该是想1S更新一次数据到电脑上去吧。也不排除VB端接收数据也出现了错误,

⑷ 我需要将单片机采集到的温湿度 通过485 传送到电脑上用VB做的上位机进行显示 请问vb与485这块要注意什么呢

单片机UART转RS485,即串口接一个MAX485就可以了
PC端需要用USB转RS485的模块
软件上只要具有统一的通信握手协议就可以了

⑸ vb进行编程,接收单片机发送来的数据温度和湿度,显示在指定文本里。

1.将单片机与PC 连接,并在计算机管理的硬件中找到端口为COM*的设备,USB的也一样
2.用MSCOMM控件进行连接,要点是要侦测到指定的端口和数据返回,意思是你要编写代码查询COM1-16号端口有没连接设备,并返回单片机传送的起始数据,
3.根据数据调用中断或者事件触发编程即可,非常简单。如手头没有单片机用手机即可。

⑹ 基于VB的单片机温度数据采集,将单片机数据送入VB时,数据要怎么处理,为什么VB会显示乱码

你的数据格式完全是数字的话,估计你发送的是ASCII码,每个字节减去48(十进制)就可以得到实际数字,比如收到0x34 0x33,各减去48得到21,21就是最终的值,不知道说清楚没有

⑺ 把单片机采集的温度经过串口传输到PC机上,在PC机上如何用VB做出曲线图显示温度的变化

根据从串口收到的温度值,一个一个的描点到曲线图,点多了就组成了曲线。

⑻ 做一个温度采集系统,程序是单片机温度显示部分可以正常显示温度,要把采集的温度发送到VB里,

回答1:
用串口前请初始化串口。

回答2:
看数据定义
float tp; //设定为单精度
display((uint) tp); //将单精度浮点型小数转换成无符号整型,这里会丢弃小数部分数据,但对tp本身无影响
send_char((uchar) tp);//将单精度浮点型小数转换成无符号字符型,尼玛还不是丢掉了小数部分。然后发送了个8位的tp过去。

回答3:
t1=(a&0x0f)*0.0625;//取小数部分
t=((b<<4)|(a>>4));//取整数部分
//尼玛你非得要这样表示小数?难道你就不可以用2个uchar接收小数和整数,然后去发送?
if(t>128)
{
t=t+1;
}
t=t+t1;
//上面是不是这个意思 如果整数部分大于128就让整数部分加1.如果不是那么就让整数部分加上小数部分。你的意思是不是大于128就不要小数了,小于128就要个小数。

解决方案先给我分我再给你附上代码

⑼ 用VB编写上位机界面, 将单片机传来的温度信号进行显示,界面包括温度曲线,当前温度,最高温度,急需。

这个不难,只不过现在没时间,需要的话,周末可以帮你编一个。

阅读全文

与vb显示单片机温度相关的资料

热点内容
北京服务器硬盘回收门店云主机 浏览:837
神探狄仁杰5在哪个app可以观看 浏览:697
云南中级程序员实战培训 浏览:674
安卓软件什么平台比较好 浏览:153
linux五笔输入法下载 浏览:923
程序员问题解决方案 浏览:78
数据和app哪个好 浏览:120
大众app怎么显示车去哪里 浏览:274
柱根部的加密区长度怎么算 浏览:847
沈阳人力资源公司外包程序员 浏览:313
陌探app哪个好 浏览:289
法院案件查哪个app 浏览:479
计算器算法问题 浏览:748
右肺被压缩约80 浏览:641
vb编译的语法错误是什么 浏览:841
清华大学编译原理2020 浏览:285
怎么才能获得云服务器 浏览:809
海康服务器mgmt是什么 浏览:717
调节按钮与单片机接口图 浏览:739
酒小七网盘文件夹 浏览:836