找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 968|回复: 0
收起左侧

单片机18b20温度测控程序仿真 LCD1602显示

[复制链接]
ID:1068245 发表于 2023-3-27 20:22 | 显示全部楼层 |阅读模式
屏幕截图 2023-03-27 201933.png

单片机源程序如下:
  1. #include "测温.h"
  2. void delay10us()                //@12.000MHz
  3. {
  4.         unsigned char i;
  5.         _nop_();
  6.         i = 2;
  7.         while (--i);
  8. }

  9. void delay60us()                //@12.000MHz
  10. {
  11.         unsigned char i;
  12.         _nop_();
  13.         i = 27;
  14.         while (--i);
  15. }
  16. void delay480us()                //@12.000MHz
  17. {
  18.         unsigned char i;
  19.         _nop_();
  20.         i = 237;
  21.         while (--i);
  22. }
  23. void init18B20()
  24. {
  25.         DQ=0;
  26.         delay480us();
  27.         DQ=1;
  28.         delay60us();
  29.         while(DQ);
  30.         delay480us();
  31. }
  32. void sendCommand(uchar comm)
  33. {
  34.         uchar i;
  35.         for(i=0;i<8;i++)
  36.         {
  37.                 DQ=0;
  38.                 _nop_();       
  39.                 DQ=comm&0x01?1:0;
  40.                 delay60us();
  41.                 DQ=1;
  42.                 comm>>=1;
  43.         }
  44. }
  45. uchar readByte()
  46. {
  47.         uchar i,dat=0;
  48.         for(i=0;i<8;i++)
  49.         {
  50.                 DQ=0;
  51.                 _nop_();       
  52.                 DQ=1;
  53.                 delay10us();
  54.                 dat>>=1;
  55.                 if(DQ) dat|=0x80;
  56.                 delay60us();
  57.         }
  58.         return dat;
  59. }
  60. int readTemp()
  61. {
  62.         int temp;
  63.         uchar MSB,LSB;
  64.         init18B20();
  65.         sendCommand(0xcc);
  66.         sendCommand(0x44);
  67.        
  68.         init18B20();
  69.         sendCommand(0xcc);
  70.         sendCommand(0xbe);
  71.        
  72.         LSB=readByte();
  73.         MSB=readByte();
  74.         temp=(MSB<<8)+LSB;
  75.         return temp;
  76. }
复制代码

Keil代码下载:
仿真程序.7z (76.73 KB, 下载次数: 19)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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