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;//??????
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金打赏帖 |
|
|---|---|
| Chaos-nano:专为低资源单片机设计的轻量级协作式异步操作系统(ATMEGA328P轻量级操作系统)—— 详细介绍被打赏¥16元 | |
| FPGA配置被打赏¥10元 | |
| Chaos-nano协作式异步操作系统:赋能MicrochipAVR8位单片机的革新之路被打赏¥15元 | |
| 基于esp32开发时串口工具的注意点被打赏¥24元 | |
| 基于FireBeetle2ESP32-C5开发板的舵机控制被打赏¥20元 | |
| 【分享开发笔记,赚取电动螺丝刀】MAX78000开发板制作的电子相册被打赏¥32元 | |
| 基于FireBeetle2ESP32-C5开发板的超声波测距及显示被打赏¥21元 | |
| FireBeetle2ESP32-C5上RTC电子时钟的实现被打赏¥25元 | |
| 【分享开发笔记,赚取电动螺丝刀】MAX78000开发板读取SD卡被打赏¥23元 | |
| 【S32K3XX】Standby RAM 重启后数据异常问题调查被打赏¥38元 | |
我要赚赏金
