找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2762|回复: 0
打印 上一主题 下一主题
收起左侧

基于51单片机的上位机实时监控环境温度的实现

[复制链接]
跳转到指定楼层
楼主
ID:128229 发表于 2016-6-27 01:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

因为电脑没有串口(很遗憾),所以就用USB转串口数据线来让单片机跟电脑连接。

上位机初始界面,串口状态为:未打开,与下位机连接状态为:未连接!

这个就是所谓的下位机:51开发板,51挺低级的(没办法,高级的单片机暂时没钱买开发板,不会用)。不过51很朴素,很经济
先不给其上电,也就是不让它工作。以检测后面 它与上位机的握手效果。。


点击“打开串口”按钮,左边显示串口打开状态,原来的“打开串口”按钮也变为了“关闭串口”,点击它一样就可以关闭串口了


点击“连接下位机”按钮,弹出连接对话框,准备好连接下位机。

点击“开始握手”尝试与下位机握手连接,因为没给单片机上电,自然单片机没有工作,自然也就无法与上位机握手。

打开51实验板开关,上电,单片机工作,并实时采集环境温度,这里采用DS18B20作温度探头


51实验板上的液晶显示采集的温度,当前温度为 20.8 ℃。还是挺暖和的,冬天的桂林就是这么的温暖,没办法


再次尝试与下位机握手

与下位机握手成功!!这个握手协议,我是让上位机给下位机发了一个‘L’即link 的命令,然后下位机回答上位机的是“OK!”就表示下位机准备好了。挺好玩的。

显示连接状态:已连接上!



点击“开始监测温度”按钮,温度显示窗口显示从下位机传过来的温度信息。

用手捂一捂温度就升高了,18B20的反应也还是挺快的。

我测了下自己手袖子里的温度,不要怀疑准确性,18B20测温精度是很高的。只是我隔着衣服测,肯定是不能达到体温37℃的。


这两个灯一直忙碌的闪烁着。代表串口通信的工作状态,右边的灯比较亮。闪烁的规律,也就是它们之间的协议:下位机发送一串温度数据,如果上位机收到,则立即回答一下下位机。下位机通过接收上位机的应答来判断是否继续向上位机发送数据。如果下位机收不到回答则会停止发送数据。
此时,又告一段落了。此次上位机的编写遇到了重重困难,因为初次编写串口通信协议再加上VC也刚起步。途中也找了很多技术支持,虽然它们都是一等一的高手,但是他们要不就是单纯电脑VC编程的,要不就是用VB编上位机的,找不到用VC编上位机的技术支持,使得我的前进道路非常坎坷,没办法只能靠自己不断的尝试摸索,最终基本完成,但是仍旧不近人意,因为这只是很简单的数据通信,我并没有加上校验码,所以到了真正复杂数据通信的时候,难以想象会在传输中出什么乱子,估计还得摸索一阵子。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表