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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3971|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

ds1820.h頭文件下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76127 發(fā)表于 2015-4-18 04:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于msp430單片機的溫度驅(qū)動ds1820.h頭文件下載:
  1. #include <msp430x14x.h>
  2. uint    temp_value;
  3. uint    temp,E1,E2,E3;                 //定義的變量,顯示數(shù)據(jù)處理
  4. //*************************************************************************
  5. //   DS18B20初始化
  6. //*************************************************************************
  7. unsigned char DS18B20_Reset(void)                //初始化和復(fù)位
  8. {
  9.   unsigned char i;
  10.   DQ_OUT;
  11.   DQ_CLR;
  12.   delay_us(500);    //延時500uS(480-960)
  13.   DQ_SET;
  14.   DQ_IN;
  15.   delay_us(80);            //延時80uS
  16.   i = DQ_R;
  17.   delay_us(500);    //延時500uS(保持>480uS)

  18.   if (i)
  19.   {
  20.     return 0x00;
  21.   }
  22.   else
  23.   {
  24.     return 0x01;
  25.   }
  26. }
  27. //*************************************************************************
  28. //   DS18B20讀一個字節(jié)函數(shù)
  29. //*************************************************************************
  30.   
  31. unsigned char ds1820_read_byte(void)
  32. {
  33.   unsigned char i;
  34.   unsigned char value = 0;
  35.   for (i = 8; i != 0; i--)
  36.   {
  37.     value >>= 1;
  38.     DQ_OUT;
  39.     DQ_CLR;
  40.     delay_us(4);           //*延時4uS
  41.     DQ_SET;
  42.     DQ_IN;
  43.     delay_us(10);           //*延時10uS
  44.     if (DQ_R)
  45.     {
  46.       value|=0x80;  
  47.     }
  48.     delay_us(60);           //*延時60uS
  49.   }
  50.   return(value);
  51. }
  52. //*************************************************************************
  53. //   向18B20寫一個字節(jié)函數(shù)
  54. //*************************************************************************
  55. /*DS18B20字節(jié)寫入函數(shù)*/
  56. void ds1820_write_byte(unsigned char value)
  57. {
  58.   unsigned char i;
  59.   for (i = 8; i != 0; i--)
  60.   {
  61.     DQ_OUT;
  62.     DQ_CLR;
  63.     delay_us(4);     //延時4uS
  64.     if (value & 0x01)
  65.     {
  66.       DQ_SET;  
  67.     }
  68.     delay_us(80);     //延時80uS
  69.     DQ_SET;             //位結(jié)束
  70.     value >>= 1;
  71.   }
  72. }
  73. //*************************************************************************
  74. //    發(fā)送溫度轉(zhuǎn)換命令
  75. //*************************************************************************
  76. /*啟動ds1820轉(zhuǎn)換*/
  77. void ds1820_start(void)
  78. {
  79.   DS18B20_Reset();
  80.   ds1820_write_byte(0xCC);           //勿略地址
  81.   ds1820_write_byte(0x44);           //啟動轉(zhuǎn)換
  82. }
  83. //*************************************************************************
  84. //    DS8B20讀取溫度信息
  85. //*************************************************************************
  86. unsigned int ds1820_read_temp(void)
  87. {
  88.   unsigned int i;
  89.   unsigned char buf[9];
  90.   DS18B20_Reset();
  91.   ds1820_write_byte(0xCC);           //勿略地址
  92.   ds1820_write_byte(0xBE);           //讀取溫度
  93.   for (i = 0; i < 9; i++)
  94.   {
  95.     buf[i] = ds1820_read_byte();
  96.   }
  97.   i = buf[1];
  98.   i <<= 8;
  99.   i |= buf[0];
  100.   temp_value=i;
  101.   temp_value=(uint)(temp_value*0.625);    //不是乘以0.0625的原因是為了把小數(shù)點后一位數(shù)據(jù)也轉(zhuǎn)化為可以顯示的數(shù)據(jù)
  102.                             //比如溫度本身為27.5度,為了在后續(xù)的數(shù)據(jù)處理程序中得到BCD碼,我們先放大到275
  103.                                           //然后在顯示的時候確定小數(shù)點的位置即可,就能顯示出27.5度了
  104.   return i;
  105. }
  106. //*************************************************************************
  107. //  溫度數(shù)據(jù)處理函數(shù)
  108. //*************************************************************************
  109. void data_do(uint temp_d)
  110. {
  111.    uint A2t;
  112.    E1=temp_d/100;                         //分出百,十,和個位
  113.    A2t=temp_d%100;
  114.    E2=A2t/10;
  115.    E3=A2t%10;
  116. }
復(fù)制代碼



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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品视频导航 | 国产片一区二区三区 | 中文字幕1区 | 亚洲+变态+欧美+另类+精品 | 日本三级电影在线观看视频 | 97伦理| 欧美精品一区二区免费视频 | 黄色大片视频 | 国产一区二区视频在线 | 中文字幕 欧美 日韩 | 一级午夜aaa免费看三区 | 一区二区视频免费观看 | 国产日韩久久 | 日本一区二区影视 | 一区二区三区视频免费观看 | 精品免费国产 | 精品国产一区二区三区在线观看 | 成人在线中文字幕 | 在线播放亚洲 | 中文字幕免费在线观看 | 亚洲精品在线看 | 日韩精品一区二区三区中文在线 | 日韩欧美三级 | 亚洲精品免费视频 | 99精品免费视频 | 精品视频一区二区三区在线观看 | av网站观看| 久久免费精品视频 | 一区二区三区视频在线 | 国产美女一区二区三区 | 国产成人精品av | 男女性毛片 | 日韩在线一区二区三区 | 精品视频在线播放 | 欧美视频一级 | 在线成人免费视频 | 美国一级黄色片 | 国产精品极品美女在线观看免费 | 视频三区 | 日本不卡免费新一二三区 | 精品在线一区 |