13楼
16楼
传一个用VB写的关于温度计的上位机,配合单片机串口程序在电脑端实时显示温度曲线
Public sina As Variant
Public sinb As Variant
Public sinc As Variant
Public sind As Variant
Public sine As Variant
Public i As Variant
Private Sub Command1_Click()
If Command1.Caption = "关闭串口" Then
MSComm1.PortOpen = False
Command1.Caption = "打开串口"
Timer1.Enabled = False
Else
Command1.Caption = "关闭串口"
MSComm1.CommPort = Combo1.Text
MSComm1.Settings = "" '"Combo2.text"'","'" combo3.text "'", "'" combo4.text "'" , "'"combo5.text "'""
MSComm1.InputMode = 0
MSComm1.PortOpen = True
Timer1.Enabled = True
End If
End Sub
Private Sub Form_Load()
Dim i As Integer '生成串口号
For i = 1 To 20
With Combo1
.AddItem i
End With
Next
Combo2.AddItem "600"
Combo2.AddItem "1200"
Combo2.AddItem "2400"
Combo2.AddItem "4800"
Combo2.AddItem "9600"
Combo2.AddItem "57600"
Combo2.AddItem "115200"
Combo3.AddItem "n"
Combo3.AddItem "e"
Combo3.AddItem "o"
Combo3.AddItem "s"
Combo3.AddItem "m"
Combo4.AddItem "8"
Combo4.AddItem "9"
Combo5.AddItem "1"
Combo5.AddItem "1.5"
Combo5.AddItem "2"
i = 100
sina = 0
sind = 1400
sinc = 0
End Sub
Private Sub Timer1_Timer()
Dim buf$
Dim v As Double
buf = Trim(MSComm1.Input)
If Len(buf) <> 0 Then
sina = sinc
sinb = sind
v = Asc(buf) + 256 '只传了低八位,所以直接加256,相当于把接受的数据& 0001 0000 0000
v = v / 10
Text1.Text = Text1.Text + Str(v) + Chr(13) + Chr(10)
sinc = (sina + 100)
sind = (Asc(buf) * 20)
sine = Val(2000)
Form1.Picture1.Line (sina, 5000 - sinb)-(sinc, 5000 - sind), sine
If sinc = 10000 Then
Picture1.Cls
sina = 0
sinc = 0
End If
End If
End Sub
Private Sub cmdquite_chick()
MSComm1.PortOpen = False
Unload Me
End Sub
等一会再传一个EXE可执行文件
程序数据处理比较特殊
uint tmp() //get the temperature
{
float tt;
uchar a,b;
dsreset();
delay(1);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe);
a=tmpread();
b=tmpread();
temp=b;
temp<<=8; //two byte compose a int variable
temp=temp|a;
tt=temp*0.0625;
temp=tt*10+0.5;
return temp;
}
这个是单片机读18B20,传感器是12数据,但是我们只传送了低八位,因为常温状态下第九位为1,所以加256
ii =tmp(); // SBUF=ii>>8; // while(TI==0);//???????? // TI=0;//?????? // SBUF=ii; while(TI==0);//???????? TI=0;//??????
回复
| 有奖活动 | |
|---|---|
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
我要赚赏金打赏帖 |
|
|---|---|
| window下生成compilecommands.json的的方法被打赏¥22元 | |
| 【S32K3XX】GPIO中断配置被打赏¥26元 | |
| 【分享开发笔记,赚取电动螺丝刀】WS2812B的RGB灯介绍以及驱动方法被打赏¥25元 | |
| PTC与NTC功能常规对比被打赏¥14元 | |
| 【S32K3XX】核间通信MU使用被打赏¥27元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于3pin锂电池接口的介绍/使用被打赏¥16元 | |
| 以启明云端ESP32P4开发板实现TF卡读写功能被打赏¥28元 | |
| 【分享开发笔记,赚取电动螺丝刀】树莓派5串口UART0配置被打赏¥25元 | |
| 【STM32F103ZET6】17:分享在Rtos项目中断管理的使用经验被打赏¥23元 | |
| 【STM32F103ZET6】16:分享在中断中恢复串口任务,遇到的问题被打赏¥31元 | |
我要赚赏金
