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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1290|回復: 1
打印 上一主題 下一主題
收起左側(cè)

為什么1602顯示不了溫度 求幫助

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:543220 發(fā)表于 2019-5-21 17:27 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

  1. #include <reg52.H>
  2. #include <intrins.H>
  3. #include <math.H>

  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. uchar table[] = "temp:";
  7. sbit dula = P2^6;
  8. sbit wela = P2^7;
  9. sbit rw = P3^6;
  10. sbit RS = P3^5;  

  11. sbit LCDEN = P3^4;
  12. void comint()
  13. {
  14.         EA=1;
  15.         ES=1;
  16.         TMOD=0X20;
  17.         SCON=0X50;
  18.         TH1=256-(11059200/12/32)/9600;
  19.         TL1=256-(11059200/12/32)/9600;
  20.         TR1=1;
  21. }

  22. void delayUs()
  23. {
  24.     _nop_();
  25. }

  26. void delayMs(uint a)
  27. {
  28.     uint i, j;
  29.     for(i = a; i > 0; i--)
  30.         for(j = 100; j > 0; j--);
  31. }


  32. void writeComm(uchar comm)
  33. {
  34.      RS = 0;   
  35.     P0 = comm;
  36.     LCDEN = 1;
  37.      delayUs();
  38.     LCDEN = 0;
  39.     delayMs(1);
  40. }

  41. //???:RS=1, RW=0;
  42. void writeData(uchar dat)
  43. {
  44.      RS = 1;
  45.      P0 = dat;
  46.      LCDEN = 1;
  47.     delayUs();
  48.     LCDEN = 0;
  49.     delayMs(1);
  50. }


  51. void init()
  52. {
  53.    rw = 0;
  54.    dula = wela = 0;
  55.    writeComm(0x38);
  56.    writeComm(0x0c);
  57.    writeComm(0x06);
  58.    writeComm(0x01);
  59. }

  60. void writeString(uchar * str, uchar length)
  61. {
  62.      uchar i;
  63.     for(i = 0; i < length; i++)
  64.     {
  65.          writeData(str[i]);
  66.      }
  67. }
  68. /**//*****************************ultrasound*******************************/


  69. /**//*****************************DS18B20*******************************/
  70. sbit ds = P3^7;
  71. void dsInit()
  72. {

  73.     unsigned int i;  
  74.     ds = 0;
  75.     i = 100;  
  76.      while(i>0) i--;
  77.     ds = 1;   
  78.     i = 4;
  79.      while(i>0) i--;
  80. }

  81. void dsWait()
  82. {
  83.       unsigned int i;
  84.       while(ds);  
  85.       while(~ds);
  86.       i = 4;
  87.       while(i > 0) i--;
  88. }


  89. bit readBit()
  90. {
  91.     unsigned int i;
  92.     bit b;
  93.     ds = 0;
  94.     i++;   
  95.     ds = 1;
  96.    i++; i++;  
  97.     b = ds;
  98.     i = 8;
  99.     while(i>0) i--;
  100.     return b;
  101. }

  102. unsigned char readByte()
  103. {
  104.     unsigned int i;
  105.     unsigned char j, dat;
  106.    dat = 0;
  107.     for(i=0; i<8; i++)
  108.     {
  109.         j = readBit();

  110.         dat = (j << 7) | (dat >> 1);
  111.     }
  112.     return dat;
  113. }


  114. void writeByte(unsigned char dat)
  115. {
  116.     unsigned int i;
  117.     unsigned char j;
  118.     bit b;
  119.     for(j = 0; j < 8; j++)
  120.     {
  121.         b = dat & 0x01;
  122.         dat >>= 1;

  123.         if(b)   
  124.         {
  125.            ds = 0;          i++; i++;  
  126.             ds = 1;   
  127.             i = 8; while(i>0) i--;  
  128.         }
  129.         else  
  130.         {
  131.             ds = 0;
  132.           i = 8; while(i>0) i--;  
  133.             ds = 1;
  134.            i++; i++;
  135.         }
  136.    }
  137. }


  138. void sendChangeCmd()
  139. {
  140.     dsInit();   
  141.     dsWait();   
  142.     delayMs(2);   
  143.     writeByte(0xcc);
  144.     writeByte(0x44);
  145. }

  146. void sendReadCmd()
  147. {
  148.     dsInit();
  149.     dsWait();
  150.     delayMs(1);
  151.     writeByte(0xcc);
  152.     writeByte(0xbe);
  153. }


  154. int getTmpValue()
  155. {
  156.     unsigned int tmpvalue;
  157.     int value;
  158.     float t;
  159.     unsigned char low, high;
  160.     sendReadCmd();

  161.     low = readByte();
  162.     high = readByte();

  163.     tmpvalue = high;
  164.     tmpvalue <<= 8;
  165.     tmpvalue |= low;
  166.     value = tmpvalue;

  167.   \
  168.     t = value * 0.0625;
  169.     \
  170.     value = t * 100 + (value > 0 ? 0.5 : -0.5); //??0?0.5, ??0?0.5
  171.     return value;
  172. }

  173. void display(int v)
  174. {
  175.     unsigned char count;
  176.     unsigned char datas[] = {0, 0, 0, 0, 0};
  177.     unsigned int tmp = abs(v);
  178.     datas[0] = tmp / 10000;
  179.     datas[1] = tmp % 10000 / 1000;
  180.     datas[2] = tmp % 1000 / 100;
  181.     datas[3] = tmp % 100 / 10;
  182.     datas[4] = tmp % 10;


  183.     for(count = 1; count != 5; count++)
  184.     {
  185.         writeData('0'+datas[count]);
  186.         if(count == 2)
  187.         {
  188.             writeData('.');
  189.         }
  190.     }
  191.         writeData(0xdf);
  192.         writeData(0x43);
  193. }
  194. /**//*****************************DS18B20*******************************/

  195. void main()
  196. {

  197.                 comint();
  198.     sendChangeCmd();
  199.     init();
  200.     writeComm(0xc0);
  201.     writeString(table, 7);
  202.     while(1)
  203.     {
  204.         delayMs(1000); //????????750ms??
  205.         writeComm(0xc0);
  206.                                 delayMs(1000);
  207.         display(getTmpValue());
  208.                         
  209.         sendChangeCmd();
  210.                                 P1=0XFE;
  211.     }
  212. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:543220 發(fā)表于 2019-5-21 17:32 | 只看該作者
求大神幫忙下啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本黄色大片免费看 | 伊人影院99 | 日韩精品亚洲专区在线观看 | 国产精品视频一二三区 | 国产不卡视频 | 国产精品美女久久久久久不卡 | 在线免费观看黄色 | 天天爽夜夜骑 | 在线成人| www日韩欧美 | 日韩成人影院在线观看 | 国产91视频播放 | a级免费视频 | 桃花av在线 | 亚洲天堂久久 | 亚洲免费一区二区 | 久久r久久| av免费观看在线 | 国产成人在线视频 | 高清免费av | 无人区国产成人久久三区 | 久久高清国产视频 | 成人免费小视频 | 日韩欧美在线视频观看 | h视频在线看 | 国产精品日日摸夜夜添夜夜av | 91色在线视频 | 欧美 日韩 国产 成人 | 欧美色综合天天久久综合精品 | 久久精品黄色 | 成人在线不卡 | 国产网站久久 | 五十女人一级毛片 | 99小视频 | 亚洲一区 中文字幕 | 伊人艹 | 蜜桃av一区二区三区 | 91社区在线观看播放 | 性在线 | 精品欧美一区二区三区久久久 | 免费黄色录像片 |