找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1970|回復(fù): 0
收起左側(cè)

DS18B20測溫小程序

[復(fù)制鏈接]
ID:195479 發(fā)表于 2017-5-2 10:53 | 顯示全部樓層 |閱讀模式
0.png

測溫不太準(zhǔn)確,捏住18B29溫度只到34.6℃,應(yīng)該是沒多點(diǎn)采樣加濾波,但是因?yàn)閱为?dú)寫了DS18B20的頭文件和.C文件,拓展編程也方便,無非就是改個(gè)p口就是了

  1. #include <reg51.h>
  2. #include <hd7279.h>
  3. #include <delay.h>
  4. #include "DS18B20.h"
  5. unsigned int Temp_Buffer = 0;
  6. main()
  7. {

  8.   Temp_Buffer = Get_temp();                                          //讀取DS18B20的值
  9.   Delay_ms(1000);                                                                //等待1s等待DS18B20數(shù)據(jù)穩(wěn)定。否則會出現(xiàn)85℃。
  10. while(1)
  11. {
  12.                 Delay_ms(10);
  13.                 send_byte (CMD_RESET);
  14.         Temp_Buffer = Get_temp();
  15.        write7279(UNDECODE+7, 0X0F);                                        //第8位led顯示“t”
  16.            write7279(UNDECODE+6, 0X09);                                        //第7位led顯示“=”
  17.                 if(flag_temper == 1)                                                // 根據(jù)溫度標(biāo)志顯示正負(fù)
  18.                 {
  19.                  write7279(UNDECODE+5, 0X08);                           //若為負(fù)第6位顯示“-”
  20.                 }
  21.                 if( Temp_Buffer/1000 != 0 )                                        // 如果第一位為0則不顯示
  22.                 {
  23.                 write7279(DECODE0+4,Temp_Buffer/1000);           //  顯示百位值
  24.                 }
  25.                 if( Temp_Buffer/1000 == 0 && Temp_Buffer%1000/100 == 0 )                        //百位十位都為0則不顯示
  26.                 {

  27.                 }
  28.                 else
  29.                 {
  30.                 write7279(DECODE0+3,Temp_Buffer%1000/100);           //  顯示十位值
  31.                 }
  32.                 write7279(DECODE0+2,Temp_Buffer%100/10+0x80);           //        顯示個(gè)位值與小數(shù)點(diǎn)                                                  
  33.                 write7279(DECODE0+1,Temp_Buffer%10);                  
  34.              write7279(UNDECODE, 0X4e);                                                  
  35.                
  36.                 Delay_ms(500);                               

  37. }


  38. }

  39.                   
復(fù)制代碼

0.png
下載:
DS18B20.zip (50.63 KB, 下載次數(shù): 7)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表