<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DS18B20+PIC測(cè)溫用1602顯示溫度C程序

          DS18B20+PIC測(cè)溫用1602顯示溫度C程序

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          //熟悉使用單片機(jī)運(yùn)用DS18B20溫度傳感器測(cè)試溫度,并用1602顯示屏顯示溫度

          //1、第一行顯示:Temperature
          //2、第二行顯示:實(shí)測(cè)溫度值
          //**************************************************

          本文引用地址:http://www.ex-cimer.com/article/201611/323921.htm

          //**************************************************
          //硬件設(shè)置:
          //1、SW2,SW4開關(guān)全部斷開
          //2、插上DS18B20溫度傳感器
          //**************************************************

          //**************************************************
          //*****************定義頭文件**********************
          //**************************************************
          #include
          #include "delay.h"

          //**************************************************
          //******************定義配置位*********************
          //**************************************************
          __CONFIG(0x3545);
          //FLASH代碼不保護(hù),RB6和RB7為調(diào)試模式,F(xiàn)LASH不寫保護(hù),數(shù)據(jù)代碼不保護(hù)
          //RB3為數(shù)字IO口,低電壓復(fù)位使能,上電延時(shí)開,看門狗開,4M晶體XT振蕩器

          //**************************************************
          //******************定義常量***********************
          //**************************************************
          #define uchar unsigned char
          #define uint unsigned int

          //**************************************************
          //***************定義DS18B20引腳*******************
          //**************************************************
          #define DQ RE0
          #define DQ_IO TRISE0

          //**************************************************
          //******************定義LCD引腳*********************
          //**************************************************
          #define RS RA1
          #define RW RA2
          #define E RA3

          //**************************************************
          //******************定義變量***********************
          //**************************************************
          uchar lowtemp,hightemp; //低8位溫度變量,高8位溫度變量
          uchar zhengshu,xiaoshu; //溫度整數(shù)變量,溫度小數(shù)變量
          uint temperature; //轉(zhuǎn)換后的溫度值BCD碼形式
          uchar temp[7]; //轉(zhuǎn)換后溫度存放變量

          //**************************************************
          //******************定義數(shù)據(jù)***********************
          //**************************************************
          //顯示: Temperature
          //顯示:WWW*PICAVR*COM
          const uchar name[16]=
          //{0x20,0x20,0x20,0x54,0x65,0x6d,0x70,0x65,0x72,0x61,0x74,0x75,0x72,0x65,0x20,0x20};
          {0x20,0x57,0x57,0x57,0x2E,0x50,0x49,0x43,0x41,0x56,0x52,0x2E,0x43,0x4F,0x4D,0x20};

          //***********************************************
          //函 數(shù) 名:delayms(uchar time);
          //入口參數(shù):time
          //出口參數(shù):無
          //函數(shù)作用:毫秒延時(shí)
          //說 明:
          //***********************************************
          void delayms(uchar time)
          {
          uint i;
          while(time--)
          {
          for(i=93;i>0;i--){;}
          }
          }

          //***********************************************
          //函 數(shù) 名:port_init();
          //入口參數(shù):無
          //出口參數(shù):無
          //函數(shù)作用:端口初始化
          //說 明:
          //***********************************************
          void port_init(void)
          {
          ADCON1=0X07; //設(shè)置RA,RE口為數(shù)字口
          TRISA=0X00; //設(shè)置RA口為輸出口
          TRISD=0X00; //設(shè)置RD口為輸出口
          TRISE=0X00; //設(shè)置RE口為輸出口
          OPTION=0X8F; //分頻給WDT,分頻比為128
          }

          //***********************************************
          //函 數(shù) 名:lcd_enable();
          //入口參數(shù):無
          //出口參數(shù):無
          //函數(shù)作用:LCD寫使能
          //說 明:
          //***********************************************
          void lcd_enable(void)
          {
          RS=0; //寫命令
          RW=0; //寫操作
          E=0; //低電平信號(hào)
          delayms(10); //低電平信號(hào)保持
          E=1; //拉高電平信號(hào)
          }

          //***********************************************
          //函 數(shù) 名:lcd_writebyte(uchar data);
          //入口參數(shù):data
          //出口參數(shù):無
          //函數(shù)作用:LCD寫一個(gè)字節(jié)數(shù)據(jù)
          //說 明:
          //***********************************************
          void lcd_writebyte(uchar data)
          {
          PORTD=data; //向RD口寫數(shù)據(jù)
          RS=1; //寫數(shù)據(jù)
          RW=0; //寫操作
          E=0; //低電平信號(hào)
          delayms(10); //低電平信號(hào)保持
          E=1; //拉高電平信號(hào)
          }

          //***********************************************
          //函 數(shù) 名:lcd_writedata(const uchar *ptt);
          //入口參數(shù):*ptt
          //出口參數(shù):無
          //函數(shù)作用:LCD寫數(shù)據(jù)塊函數(shù)
          //說 明:
          //***********************************************
          void lcd_writedata(const uchar *ptt)
          {
          uchar i;
          for(i=0;i<16;i++) //寫16個(gè)字節(jié)數(shù)據(jù)
          {
          lcd_writebyte(ptt); //查表寫數(shù)據(jù)
          }
          }


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();