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

標(biāo)題: 溫度傳感器DS18B20溫度測量程序 [打印本頁]

作者: daniu    時間: 2014-12-27 00:28
標(biāo)題: 溫度傳感器DS18B20溫度測量程序
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit lcden=P3^4;
  5. sbit lcdrs=P3^5;
  6. sbit lcdwr=P3^6;
  7. sbit dula=P2^6;
  8. sbit wela=P2^7;
  9. sbit DQ=P2^2;
  10. uchar code table0[]="DS18B20";
  11. uchar code table1[]="0123456789";
  12. uchar num,shi,ge,dd=0;
  13. uchar dat=0;
  14. void delay(uchar z)
  15. {
  16. uint x,y;
  17. for(x=z;x>0;x--)
  18.   for(y=110;y>0;y--);
  19. }
  20. void delay1(uchar i)
  21. {
  22. while(i--);
  23. }
  24. void write_com(uchar com)
  25. {
  26. lcdrs=1;
  27. lcden=0;
  28. lcdrs=0;
  29. P0=com;
  30. delay(5);
  31. lcden=1;
  32. delay(5);
  33. lcden=0;
  34. }
  35. void write_data(uchar date)
  36. {
  37. lcdrs=0;
  38. lcden=0;
  39. lcdrs=1;
  40. P0=date;
  41. delay(5);
  42. lcden=1;
  43. delay(5);
  44. lcden=0;
  45. }
  46. void init_1602()
  47. {
  48. lcdwr=0;
  49. wela=0;
  50. dula=0;
  51. write_com(0x38);
  52. write_com(0x0c);
  53. write_com(0x06);
  54. write_com(0x01);
  55. write_com(0x80);
  56. }
  57. void init_DS18B20()
  58. {
  59. uchar x=0;
  60. DQ=1;
  61. delay1(8);
  62. DQ=0;
  63. delay1(80);
  64. DQ=1;
  65. delay1(14);
  66. x=DQ;
  67. delay1(20);
  68. }
  69. read_DS18B20(void)
  70. {
  71. uchar i=0;
  72. uchar dat=0;
  73. for(i=0;i<8;i++)
  74.   {
  75.    DQ=0;
  76.    dat=dat>>1;
  77.    DQ=1;
  78.    delay1(5);
  79.    if(DQ==1)
  80.     {
  81.      dat=dat|0x80;
  82.     }
  83.    delay1(4);
  84.   }
  85. return (dat);
  86. }
  87. write_DS18B20(uchar dat)
  88. {
  89. uchar i=0;
  90. for(i=0;i<8;i++)
  91.   {
  92.    DQ=0;
  93.    DQ=dat&0x01;
  94.    delay1(5);
  95.    DQ=1;
  96.    dat=dat>>1;
  97.   }
  98. delay1(4);//每讀一個數(shù)之間都得有間隔  
  99. }
  100. chuli_dat(void)
  101. {
  102. uchar aa=0;
  103. uchar bb=0;
  104. uchar cc=0;
  105. init_DS18B20();
  106. write_DS18B20(0xCC);
  107. write_DS18B20(0x44);
  108. init_DS18B20();
  109. write_DS18B20(0xCC);
  110. write_DS18B20(0xBE);//發(fā)送讀指令
  111. aa=read_DS18B20();//讀高8位
  112. bb=read_DS18B20();//讀低8位
  113. cc=(aa>>4)|(bb<<4);
  114. if(cc>128)
  115.   {
  116.    cc=~cc+1;
  117.   }
  118. return(cc);
  119. }
  120. void main()
  121. {
  122. init_1602();
  123. write_com(0x80);
  124. for(num=0;num<7;num++)
  125.   {
  126.    write_data(table0[num]);
  127.    delay(10);
  128.   }
  129. while(1)
  130.   {
  131.    dd=chuli_dat();
  132.    //write_com(0x80+0x08);
  133.    shi=dd/10;
  134.    ge=dd%10;
  135.    write_com(0x80+0x0b);
  136.    write_data(table1[shi]);
  137.    write_com(0x80+0x0c);
  138.    write_data(table1[ge]);

  139.    write_com(0x80+0x0d);
  140.    write_data(0xdf);
  141.    write_com(0x80+0x0e);
  142.    write_data('C');
  143.   }
  144. }
復(fù)制代碼







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 色综合网站 | 羞羞涩涩在线观看 | av第一页 | 亚洲九九 | 在线免费观看黄a | 草久在线 | 麻豆国产一区二区三区四区 | 精品综合| 亚洲国产成人在线视频 | 亚洲一区二区成人 | 色综合色综合网色综合 | 亚洲精品日韩视频 | 日韩欧美日韩在线 | 一区二区三区四区视频 | 超碰导航 | 国产精品久久影院 | 日韩综合色 | 免费观看的黄色网址 | 亚洲国产精品精华素 | 人人爽人人草 | 深爱激情综合 | 欧美视频二区 | 91九色porny首页最多播放 | 欧美一区二区三区免费电影 | 久久久久网站 | 日韩精品一区二区三区在线播放 | 欧美久久视频 | 精品欧美一区二区三区免费观看 | 九九热这里只有精品在线观看 | 一区二区三区播放 | 亚州影院 | 欧美在线日韩 | 欧美成ee人免费视频 | 久久精品视频在线观看 | 欧美高清视频一区 | 91pron在线 | 日韩三级视频 | 日韩中文字幕在线观看 | 天天人人精品 | 久久日韩粉嫩一区二区三区 | 久久国产免费看 |