标题: DS18B20测温显示和vb上位机PC通讯 带源码 [打印本页]

作者: DZZGDZ    时间: 2017-8-9 22:09
标题: 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, 下载次数: 62)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1