找回密码
 立即注册

QQ登录

只需一步,快速开始

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

DS18B20测温显示和vb上位机PC通讯 带源码

[复制链接]
跳转到指定楼层
楼主
DS18B20测温通讯C程序,VB上位机软件,采集显示温度值及温度曲线。

上位机的运行界面:


vb写的上位机源码:


单片机下位机测温源程序如下:
  1. ;这是关于单个DS18B20的测温程序,数据脚为P3.3,晶振是11.059MHZ
  2. ;温度传感器18B20采用器件默认的12位转化,最大转化时间要750毫秒
  3. ;用1602液晶屏显示,显示温度从00到99度,精确到0.0625度
  4. ;内存分配声明
  5. TEMPER_L EQU 29H;用于保存读出温度的低字节
  6. TEMPER_H EQU 28H;用于保存读出温度的高字节
  7. T_DF EQU 27H ;FORMAT后的小数部分(decimal fraction),半字节的温度小数(存在低四位)
  8. T_INTEGER EQU 26H ;FORMAT后的整数部分(integer),将两字节的温度整合成1字节
  9. FLAG1 BIT 50H;位地址50H是字节2AH的最低位,用作是否检测到DS18B20的标志位

  10. A_BIT EQU 20h ;液晶十位数存放内存位置
  11. B_BIT EQU 21h ;液晶个位数存放内存位置
  12. C_BIT EQU 22H ;个位小数
  13. D_BIT EQU 23H ;十位小数
  14. E_BIT EQU 24H ;百位小数
  15. F_BIT EQU 25H ;千位小数


  16. RS BIT P1.0 ;这3位是液晶屏的控制信号,连接方式由具体硬件而定
  17. RW BIT P1.1
  18. E  BIT P1.2

  19. ORG 0000H
  20.             LJMP MAIN
  21. ORG 0100H
  22. MAIN:   
  23.            LCALL   INIT_RS232
  24.            CLR P1.3
  25.            LCALL T_CONVERSION;调用读温度子程序
  26.            LCALL T_FORMAT;将读出的2字节温度格式化
  27.            LCALL DISPLAY;调用液晶显示子程序
  28.            LCALL D1S;延时1秒后再测
  29.            LJMP MAIN

  30. ;--------------DS18B20的温度转换子程序,具体时序请参考资料-------------------
  31. T_CONVERSION:        LCALL INIT_1820;先复位DS18B20
  32.                      JB FLAG1,T_C0
  33.                      RET ; 判断DS1820是否存在  若DS18B20不存在则返回

  34. T_C0:                MOV A,#0CCH ; 跳过ROM匹配
  35.                      LCALL WRITE_1820

  36. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
DS18B20测温显示并PC通讯.zip (39.44 KB, 下载次数: 60)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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