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

標題: 單片機P0口接LCD1602顯示環境溫度,溫度檢測通過DS18B20實現。 [打印本頁]

作者: 一只楊九龜    時間: 2018-11-24 18:53
標題: 單片機P0口接LCD1602顯示環境溫度,溫度檢測通過DS18B20實現。
下面是模塊化程序:需要私我。


keilC51代碼:
  1. #include <reg51.h>
  2. #include<intrins.h>
  3. #include "18B20.h"
  4. #include "delay.h"
  5. #include "LCD1602.h"
  6. float TM;            //讀一個溫度時的溫度轉換中間     
  7. int tvalue;          //溫度值
  8. unsigned char tflag;    //溫度正負標志
  9. unsigned char data disdata[5];      //溫度字型顯示中間變量

  10. void delay_18B20(unsigned int i)//延時1微秒
  11. {
  12.          while(i--);
  13. }

  14. void ds1820rst()     /*ds1820復位*/
  15. {  
  16.          unsigned char x=0;
  17.          DQ = 1;          //DQ復位
  18.          delay_18B20(4);  //延時
  19.          DQ = 0;          //DQ拉低
  20.          delay_18B20(80); //精確延時大于480us   540us
  21.          DQ = 1;          //拉高總線   15-60us
  22.          delay_18B20(20);
  23.    x=DQ;          //讀總線狀態   為0復位成功,1復位不成功
  24.    delay(30);
  25.    DQ=1;      //釋放總線         
  26. }  

  27. unsigned char ds1820rd()  /*讀數據*/
  28.   {
  29.                 unsigned char i=0;
  30.           unsigned char dat = 0;
  31.           for (i=8;i>0;i--)
  32.           {   
  33.                         DQ = 0; //給脈沖信號
  34.                   dat>>=1;
  35.                   DQ = 1; //給脈沖信號
  36.                   if(DQ)
  37.                   dat|=0x80;     //dat和0x80做“或”運算(最高位1,其他位保持不變)
  38.                   delay_18B20(10);
  39.           }
  40.            return(dat);
  41.   }

  42. void ds1820wr(unsigned char wdata) /*寫數據*/
  43. {
  44.                 unsigned char i=0;
  45.     for (i=8; i>0; i--)
  46.     {
  47.                         DQ = 0;
  48.       DQ = wdata&0x01;      //
  49.       delay_18B20(10);
  50.       DQ = 1;
  51.       wdata>>=1;
  52.     }
  53. }
  54.         
  55. read_temp()/*讀取溫度值并轉換*/
  56. {
  57.         unsigned char a,b;
  58.   ds1820rst();   
  59.   ds1820wr(0xcc);//*跳過讀序列號*/
  60.   ds1820wr(0x44);//*啟動溫度轉換*/
  61.   ds1820rst();   
  62.   ds1820wr(0xcc);//*跳過讀序列號*/
  63.   ds1820wr(0xbe);//*讀取溫度*/
  64.   a=ds1820rd();
  65.   b=ds1820rd();
  66.   tvalue=b;
  67.   tvalue<<=8;
  68.   tvalue=tvalue|a;
  69.         TM=tvalue*0.625;
  70.         tvalue=TM*1+0.5;
  71.   /*
  72.     if(tvalue<0x0FFF)
  73.     tflag=0;
  74.     else
  75.    {tvalue=~tvalue+1;
  76.          tflag=1;
  77.    }
  78.     tvalue=tvalue*(0.425);//溫度值擴大10倍,精確到1位小數  */
  79.         return(tvalue);        
  80.   }

  81. void ds1820disp()//溫度值顯示
  82.         {
  83.                 unsigned char flagdat;
  84.           disdata[0]=tvalue/1000+0x30;//百位數
  85.     disdata[1]=tvalue%1000/100+0x30;//十位數
  86.     disdata[2]=tvalue%100/10+0x30;//個位數
  87.     disdata[3]=tvalue%10+0x30;//小數位
  88.    
  89.     if(tflag==0)
  90.             flagdat=0x20;//正溫度不顯示符號
  91.     else
  92.        flagdat=0x2d;//負溫度顯示負號:-

  93.     if(disdata[0]==0x30)
  94.           {disdata[0]=0x20;//如果百位為0,不顯示
  95.                 if(disdata[1]==0x30)
  96.                 {disdata[1]=0x20;//如果百位為0,十位為0也不顯示
  97.                 }
  98.                 }

  99.            write_com(0x80+0x40);
  100.            write_date(flagdat);//顯示符號位
  101.            write_com(0x80+0x41);
  102.            write_date(disdata[0]);//顯示百位
  103.            write_com(0x80+0x42);
  104.            write_date(disdata[1]);//顯示十位         
  105.            write_com(0x80+0x43);
  106.            write_date(disdata[2]);//顯示個位         
  107.            write_com(0x80+0x44);
  108.            write_date(0x2e);//顯示小數點         
  109.            write_com(0x80+0x45);
  110.            write_date(disdata[3]);//顯示小數位
  111.            write_com(0x80+0x46);
  112.            write_date('C');
  113.    }
復制代碼

下載:http://m.zg4o1577.cn/bbs/dpj-143026-1.html

新手,大佬誤噴。


作者: 二九兒    時間: 2019-4-29 21:10
為什么我的運行有錯呢
作者: newforce    時間: 2021-7-30 13:46
xiexie,xuexi~~~~~~~~~~




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产日韩欧美日韩大片 | 久久久免费精品视频 | 久草视频观看 | 精品久久久久久 | 九九视频免费观看 | 欧美一二 | 欧美日韩a | 狠狠操天天操 | 欧美精品一区在线 | 国产成人久久 | 日韩亚洲一区二区 | 午夜精品久久久久久久久久久久 | 亚洲欧美另类图片 | 亚洲精品免费观看 | 91看片在线观看 | 国产精品第一 | 国产精品欧美精品 | 欧美激情综合五月色丁香 | av手机天堂 | 精品免费在线观看 | 成人羞羞国产免费动态 | 国产黄色一区 | 久久在线视频 | 亚洲网站在线 | 精品在线一区 | 亚洲三级在线播放 | 欧美色综合天天久久综合精品 | 日本高清中文字幕 | 欧美精品三区 | 四虎影视最新地址 | 久久激情视频 | 日日夜夜精品视频免费 | 一区二区三区视频在线 | 久久激情视频 | 日本特级淫片 | 国产免费一级 | 人人澡人人干 | 欧美综合一区二区 | 在线免费毛片 | 久插视频 | 狠狠操综合 |