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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2817|回復: 0
打印 上一主題 下一主題
收起左側

溫度傳感器DS18B20溫度測量程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-27 00:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  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);//每讀一個數之間都得有間隔  
  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);//發送讀指令
  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. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区欧美在线观看 | 91精品国产一区二区三区 | 亚洲精品日韩一区二区电影 | 全部免费毛片在线播放网站 | 日本久久网 | 一级片在线播放 | 亚洲天堂久久 | 日本在线免费看最新的电影 | 亚洲国产情侣自拍 | 国产精品国产三级国产aⅴ中文 | 日韩字幕 | av在线伊人| 9191在线观看 | 国产一区二区三区在线观看免费 | 国产精品国产精品国产专区不卡 | 日韩在线精品强乱中文字幕 | 日日天天| 91精品入口蜜桃 | 国产亚洲一区精品 | 久草网站| 国产一区精品 | 久久免费观看一级毛片 | 中文亚洲字幕 | 欧美乱码精品一区二区三区 | a黄视频| 日韩久久综合 | 亚洲精品久久久久中文字幕欢迎你 | 岛国毛片在线观看 | 免费久久99精品国产婷婷六月 | 免费黄色网址视频 | 日日艹夜夜艹 | 韩日在线视频 | 天天干天天色 | 黄色大片免费网站 | 一级黄色片毛片 | 久久久涩 | 91新视频| 最近日韩中文字幕 | 亚洲国产精品久久久久秋霞不卡 | 久久国产精品视频观看 | 一久久久|