找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ds18b20溫度顯示程序+Proteus仿真

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70481 發(fā)表于 2014-12-17 17:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式



源程序和仿真文件下載: 溫度顯示.rar (156.57 KB, 下載次數(shù): 627)

評分

參與人數(shù) 1黑幣 +5 收起 理由
ethan71 + 5 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:70481 發(fā)表于 2014-12-17 17:09 | 只看該作者
  1. #include "typedef.h"
  2. #include "device_init.h"
  3. #include "delay.h"

  4. /************************************************
  5. * 函數(shù)名稱:ds18b20_reset
  6. * 輸    入:
  7. * 輸    出:
  8. * 功能描述:
  9. *************************************************/
  10. u8 ds18b20_reset(void)
  11. {
  12.         DQ_PIN = HIGH;
  13.         delay_16us(1);
  14.         DQ_PIN = LOW;
  15.         delay_16us(30);                //延時600us
  16.         DQ_PIN = HIGH;
  17.         delay_16us(5);                //延時80us
  18.         if(!DQ_PIN)
  19.         {
  20.                 delay_16us(30);        //延時420us
  21.                 return 1;
  22.         }
  23.         else
  24.                 return 0;
  25. }
  26. /************************************************
  27. * 函數(shù)名稱:ds18b20_write_byte
  28. * 輸    入:
  29. * 輸    出:
  30. * 功能描述:
  31. *************************************************/
  32. void ds18b20_write_byte(u8 wByte)
  33. {
  34.         u8 i;

  35.         for(i=0; i<8; i++)
  36.         {
  37.                 DQ_PIN = LOW;
  38.                 NOP();
  39.                 NOP();
  40.                 NOP();
  41.                 NOP();
  42.                 NOP();
  43.                 NOP();
  44.                 NOP();
  45.                 DQ_PIN = wByte & 0x01;
  46.                 NOP();
  47.                 NOP();
  48.                 NOP();
  49.                 NOP();
  50.                 NOP();
  51.                 DQ_PIN = HIGH;
  52.                 NOP();
  53.                 NOP();
  54.                 NOP();
  55.                 wByte >>= 1;
  56.         }
  57. }
  58. /************************************************
  59. * 函數(shù)名稱:ds18b20_read_byte
  60. * 輸    入:
  61. * 輸    出:
  62. * 功能描述:
  63. *************************************************/
  64. u8 ds18b20_read_byte(void)
  65. {
  66.         u8 rByte;
  67.         u8 i;

  68.         for(i=0; i<8; i++)
  69.         {
  70.                 DQ_PIN = LOW;
  71.                 NOP();
  72.                 NOP();
  73.                 rByte >>= 1;
  74.                 NOP();
  75.                 NOP();
  76.                 NOP();
  77.                 NOP();
  78.                 NOP();
  79.                 NOP();
  80.                 DQ_PIN = HIGH;
  81.                 NOP();
  82.                 NOP();
  83.                 NOP();
  84.                 NOP();
  85.                 NOP();
  86.                 NOP();
  87.                 NOP();
  88.                 if(DQ_PIN)
  89.                         rByte |= 0x80;
  90.                 NOP();
  91.                 NOP();
  92.                 NOP();
  93.                 NOP();
  94.                 NOP();
  95.                 NOP();
  96.                 NOP();
  97.         }
  98.         DQ_PIN = HIGH;
  99.         return rByte;
  100. }
  101. /************************************************
  102. * 函數(shù)名稱:ds18b20_get_temp
  103. * 輸    入:
  104. * 輸    出:
  105. * 功能描述:
  106. *************************************************/
  107. u16 ds18b20_get_temp(void)
  108. {
  109.         u16 Temp;

  110.         if(ds18b20_reset() == 0)                        //復(fù)位
  111.                 return 0;
  112.         ds18b20_write_byte(0xcc);                        //忽略ROM
  113.         ds18b20_write_byte(0x44);                        //發(fā)送溫度轉(zhuǎn)化命令
  114.         delay_16us(30);
  115.         if(ds18b20_reset() == 0)                        //再次復(fù)位
  116.                 return 0;
  117.         ds18b20_write_byte(0xcc);                        //忽略ROM
  118.         ds18b20_write_byte(0xbe);

  119.         Temp = ds18b20_read_byte();
  120.         Temp |= ds18b20_read_byte() << 8;

  121.         return Temp;
  122. }
復(fù)制代碼
回復(fù)

使用道具 舉報

板凳
ID:77760 發(fā)表于 2015-4-24 16:18 | 只看該作者
謝謝分享,太好了正好需要。
回復(fù)

使用道具 舉報

地板
ID:92974 發(fā)表于 2015-10-20 00:51 | 只看該作者
頂一個,做得很好。
回復(fù)

使用道具 舉報

5#
ID:100777 發(fā)表于 2015-12-27 23:59 | 只看該作者
可以用2個2位數(shù)碼管做嗎?

QQ圖片20151228000023.png (1.59 KB, 下載次數(shù): 276)

QQ圖片20151228000023.png
回復(fù)

使用道具 舉報

6#
ID:1 發(fā)表于 2015-12-28 00:29 | 只看該作者
steven33jan 發(fā)表于 2015-12-27 23:59
可以用2個2位數(shù)碼管做嗎?

當(dāng)然可以,不過為什么會有這樣的需求呢?
回復(fù)

使用道具 舉報

7#
ID:100777 發(fā)表于 2015-12-29 20:03 | 只看該作者
admin 發(fā)表于 2015-12-28 00:29
當(dāng)然可以,不過為什么會有這樣的需求呢?

那個程序要怎么改?
回復(fù)

使用道具 舉報

8#
ID:100777 發(fā)表于 2015-12-29 20:04 | 只看該作者
那么程序要怎么改?
回復(fù)

使用道具 舉報

9#
ID:102560 發(fā)表于 2016-1-9 22:12 | 只看該作者
大神大神  太需要你幫忙了  我們老師安排任務(wù) 利用PRUTUES實習(xí)單片機對DS18B20控制,測溫。仿真。  跟您發(fā)的是一回事么  后天下午驗收 能給點指導(dǎo)性意見不  非常感謝啊
回復(fù)

使用道具 舉報

10#
ID:115859 發(fā)表于 2016-4-22 09:15 | 只看該作者
感謝樓主 最近搞畢設(shè)正需要這個
回復(fù)

使用道具 舉報

11#
ID:122939 發(fā)表于 2016-5-24 18:37 | 只看該作者
請問這里的u8 ds18b20_reset(void)里的u8是指unsigned char形式的嗎
回復(fù)

使用道具 舉報

12#
ID:127079 發(fā)表于 2016-6-17 11:44 | 只看該作者
正好這周設(shè)計做這個,先學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

13#
ID:103574 發(fā)表于 2016-10-26 17:56 | 只看該作者
為什么我仿真之后顯示 -0.5°?
回復(fù)

使用道具 舉報

14#
ID:103574 發(fā)表于 2016-10-26 17:58 | 只看該作者
噢哦,突然弄懂了,謝謝樓主
回復(fù)

使用道具 舉報

15#
ID:141382 發(fā)表于 2016-11-2 22:44 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

16#
ID:93224 發(fā)表于 2017-2-11 11:52 | 只看該作者
大愛無疆
回復(fù)

使用道具 舉報

17#
ID:166150 發(fā)表于 2017-3-1 15:00 | 只看該作者
nice    666
回復(fù)

使用道具 舉報

18#
ID:194519 發(fā)表于 2017-5-2 18:43 | 只看該作者
贊贊贊
回復(fù)

使用道具 舉報

19#
ID:195701 發(fā)表于 2017-5-2 19:01 | 只看該作者
怎么查看溫度電阻的是好的還是壞的
回復(fù)

使用道具 舉報

20#
ID:198912 發(fā)表于 2017-5-10 00:52 | 只看該作者
頂一個
回復(fù)

使用道具 舉報

21#
ID:204417 發(fā)表于 2017-5-24 18:40 | 只看該作者
不能下載好可惜啊
回復(fù)

使用道具 舉報

22#
ID:204417 發(fā)表于 2017-5-24 18:40 | 只看該作者
怎么獲得黑幣,下載不了啊
回復(fù)

使用道具 舉報

23#
ID:211375 發(fā)表于 2017-6-15 00:42 | 只看該作者
很好,剛好需要的仿真文件
回復(fù)

使用道具 舉報

24#
ID:421173 發(fā)表于 2018-11-19 10:18 | 只看該作者
用的什么軟件編程的?版本是多少?
回復(fù)

使用道具 舉報

25#
ID:411550 發(fā)表于 2019-3-28 00:27 | 只看該作者
看一看學(xué)習(xí)一下
回復(fù)

使用道具 舉報

26#
ID:75899 發(fā)表于 2020-4-22 21:48 | 只看該作者
非常好的資料,學(xué)習(xí)下。
回復(fù)

使用道具 舉報

27#
ID:754376 發(fā)表于 2020-5-17 22:58 | 只看該作者
太及時了,急死我了,感謝感謝
回復(fù)

使用道具 舉報

28#
ID:833622 發(fā)表于 2020-10-23 15:17 | 只看該作者
謝謝分享,太好了正好需要。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表