久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3441|回復: 0
收起左側

單只18B20測溫程序帶負溫度(LCD1602寫單字符方式)

[復制鏈接]
ID:203166 發表于 2017-5-21 16:10 | 顯示全部樓層 |閱讀模式
0.png

單片機源程序如下:
  1. //單只DS18B20的溫度檢測,測溫范圍-55 —— +125度,1602液晶顯示。
  2. #include "STC15W4K.H"
  3. #include "DS18b20.h"
  4. #include "myfun.h"
  5. #include "LCD1602.h"
  6. bit flag;                              // flag=0表示正溫,flag=1表示負溫。
  7. unsigned char baiw,shiw,gew;           // 百位、十位、個位 ASCII碼
  8. unsigned char point_1,point_2,point_3,point_4;    // 小數點后1、2、3、4位ASCII碼
  9.         
  10. //****************溫度數據處理函數************************/
  11. void gettemp()                           //讀取溫度值
  12. {                     
  13.          unsigned int temp0,temp1,temp;      // 存放小數、整數、符號,10000倍小數值
  14.          unsigned char temh,teml;                  // 存放原始高字節與低字節         
  15.          temp=DS18B20_ReadTemperature();         // 從18B20中讀取2字節原始溫度值
  16.          flag=0;
  17.          if ((temp&0xf800)!=0)                   // 如果是負溫,將補碼取反加1變為原碼
  18.          {
  19.                  temp=~temp        +1;
  20.                  flag=1;
  21.          }        
  22.          temh=temp/256;                                   // 高字節(5位符號+3位數據)
  23.          teml=temp%256;                                   // 低字節(4位整數+4位小數)
  24.          
  25.          temp0=teml&0x0F;              // 4 位小數
  26.      temp1=(temh<<4)|(teml>>4);    // 8 位整數(最高一位符號0不用管)      
  27.      baiw=temp1/100+48;            // 百位ASCII碼         
  28.      shiw=(temp1%100)/10+48;       // 十位 ASCII碼
  29.      gew=(temp1%100)%10+48;            // 個位 ASCII碼  
  30.      temp=temp0*625;               // 將結果中的小數乘以分辨溫度0.0625
  31.                                                             // 擴大10000倍進行輸出,不用浮點,同樣可以保留4位小數精度
  32.          point_1=temp/1000+48;                   // 小數點后1位ASCII碼
  33.          point_2=(temp%1000)/100+48;   // 小數點后2位ASCII碼
  34.          point_3=(temp%100)/10+48;           // 小數點后3位ASCII碼
  35.          point_4=temp%10+48;                   // 小數點后4位ASCII碼
  36. }

  37. void port_mode()            // 端口模式
  38. {
  39.         P0M1=0x00; P0M0=0x00;P1M1=0x00; P1M0=0x00;P2M1=0x00; P2M0=0x00;P3M1=0x00; P3M0=0x00;
  40.         P4M1=0x00; P4M0=0x00;P5M1=0x00; P5M0=0x00;P6M1=0x00; P6M0=0x00;P7M1=0x00; P7M0=0x00;
  41. }

  42. void main()
  43. {
  44.         unsigned char xPos,yPos;
  45.         unsigned char *s="Now temp is:";
  46.         port_mode();                      // 所有IO口設為準雙向弱上拉方式。
  47.         xPos=0;                              // xPos表示水平右移字符數(0-15)
  48.         yPos=0;                              // yPos表示垂直下移字符數(0-1)
  49.         delay100ms();                 // 等待LCD1602上電時內部復位
  50.         LCD1602_Init();
  51.         WriteString(xPos,yPos,s);          // X坐標、Y坐標、字符串,屏幕左上角為坐標原點        
  52.         DS18B20_SetResolution(3); //設置DS18B20的分辨率為12位(默認值,新器件可以不作任何設置)
  53.         while(1)
  54.         {
  55.                 gettemp();
  56.                 if(flag)      // 負溫度
  57.                 {
  58.                         WriteChar(0,1,'-');
  59.                 }
  60.                 if(!flag)     // 正溫度
  61.                 {
  62.                         WriteChar(0,1,'+');
  63.                 }               
  64.                 WriteChar(1,1,baiw);
  65. ……………………

  66. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
單只18B20測溫(1602寫單字符方式).rar (57.38 KB, 下載次數: 11)


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97国产一区二区精品久久呦 | 国产精品视频久久 | 99re6热在线精品视频播放 | 国产91亚洲精品 | 欧美片网站免费 | 亚洲日韩中文字幕一区 | 日本欧美在线观看视频 | 国产精品18久久久久久白浆动漫 | 免费视频一区二区三区在线观看 | 午夜ww| 亚洲一区二区中文字幕 | 日本三级电影免费观看 | 中文字幕在线观看视频一区 | 亚洲福利| 伊人色综合久久天天五月婷 | 天天干天天操天天射 | jdav视频在线观看免费 | 久久久久久成人 | 午夜激情免费视频 | v片网站| 欧美精选一区二区 | 一区二区三区四区在线视频 | 美女久久久久 | 国产一区二区 | 日韩欧美国产成人一区二区 | 婷婷亚洲综合 | 国产精品美女一区二区 | 日韩在线中文 | 黄频免费 | 一道本在线 | 久久久久久国产精品 | 一级在线 | 天天射天天操天天干 | 久久久久国产 | 日韩在线视频免费观看 | 日韩三级在线 | 特级毛片爽www免费版 | 国产精品一区二区三区在线 | 秋霞电影院午夜伦 | 黄色片免费看视频 | 91久久国产综合久久91精品网站 |