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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

51單片機(jī)數(shù)碼管顯示DS18B20溫度傳感器+聲光報(bào)警 Proteus仿真圖+完整程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這是我的課程設(shè)計(jì)



單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char           //宏定義
  4. sbit DQ=P3^7;                                     //定義DS18B20 的 I/O       
  5. sbit DIAN = P0^5;                        //顯示小數(shù)點(diǎn)用
  6. sbit LED=P1^6;
  7. sbit BEEP=P1^7;
  8. uchar x=0;                                      //計(jì)數(shù)器
  9. signed char m;                                     //溫度值全局變量
  10. uchar n;                                              //溫度值全局變量
  11. uint z;
  12. uint c;
  13. uint gaowen=35;                         //高溫報(bào)警溫度,默認(rèn)值為35
  14. uint diwen=0;                                    //低溫報(bào)警溫度,默認(rèn)值0
  15. uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,
  16.                         0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};

  17. /*****延時(shí)子程序*****/
  18. void Delay_DS18B20(int num)
  19. {
  20.         while(num--) ;
  21. }
  22. /*****初始化DS18B20*****/
  23. void Init_DS18B20(void)
  24. {
  25.         unsigned char x=0;
  26.         DQ = 1;                 //DQ復(fù)位
  27.         Delay_DS18B20(8);   //稍做延時(shí)
  28.         DQ = 0;                           //單片機(jī)將DQ拉低
  29.         Delay_DS18B20(80);  //精確延時(shí),大于480us
  30.         DQ = 1;                 //拉高總線
  31.         Delay_DS18B20(14);
  32.         x = DQ;                   //稍做延時(shí)后,如果x=0則初始化成功,x=1則初始化失敗
  33.         Delay_DS18B20(20);
  34. }
  35. /*****讀一個(gè)字節(jié)*****/
  36. unsigned char ReadOneChar(void)
  37. {
  38.         unsigned char i=0;
  39.         unsigned char dat = 0;
  40.         for (i=8;i>0;i--)
  41.           {
  42.             DQ = 0;                         //給脈沖信號(hào)
  43.             dat>>=1;
  44.             DQ = 1;                     //給脈沖信號(hào)
  45.             if(DQ)
  46.             dat|=0x80;
  47.             Delay_DS18B20(4);
  48.           }
  49.           return(dat);
  50. }
  51. /*****寫一個(gè)字節(jié)*****/
  52. void WriteOneChar(unsigned char dat)
  53. {
  54.         unsigned char i=0;
  55.           for (i=8; i>0; i--)
  56.           {
  57.             DQ = 0;
  58.             DQ = dat&0x01;
  59.             Delay_DS18B20(5);
  60.             DQ = 1;
  61.             dat>>=1;
  62.           }
  63. }
  64. /*****讀取溫度*****/
  65. unsigned int ReadTemperature(void)
  66. {
  67.         unsigned char a=0;
  68.           unsigned char b=0;
  69.           unsigned int t=0;
  70.           float tt=0;
  71.           Init_DS18B20();
  72.           WriteOneChar(0xCC);  //跳過讀序號(hào)列號(hào)的操作
  73.           WriteOneChar(0x44);  //啟動(dòng)溫度轉(zhuǎn)換
  74.           Init_DS18B20();
  75.           WriteOneChar(0xCC);  //跳過讀序號(hào)列號(hào)的操作
  76.           WriteOneChar(0xBE);  //讀取溫度寄存器
  77.           a=ReadOneChar();     //讀低8位
  78.           b=ReadOneChar();         //讀高8位
  79.           t=b;                                 //高8位轉(zhuǎn)移到t
  80.           t<<=8;                             //t數(shù)據(jù)左移8位
  81.           t=t|a;                             //將t和a按位或,得到一個(gè)16位的數(shù)
  82.           tt=t*0.0625;                 //將t乘以0.0625得到實(shí)際溫度值
  83.                                              //(溫度傳感器設(shè)置12位精度,最小分辨率是0.0625)
  84.           t= tt*10+0.5;        //放大10倍(將小數(shù)點(diǎn)后一位顯示出來)輸出并四舍五入
  85.           return(t);                     //返回溫度值
  86. }
  87. /*****延時(shí)子程序*****/
  88. void Delay(uint num)
  89. {
  90.         while( --num );
  91. }                       
  92. /*****讀取溫度*****/
  93. void check_wendu(void)
  94. {
  95.         uint a,b;
  96.         c=ReadTemperature();                  //獲取溫度值
  97.         a=c/100;                                     //計(jì)算得到十位數(shù)字
  98.         b=c/10-a*10;                            //計(jì)算得到個(gè)位數(shù)字
  99.         m=c/10;                                      //計(jì)算得到整數(shù)位
  100.         if(m<=0)                                    //如果溫度小于0,限制顯示為0
  101.         {
  102.                 m=0;
  103.         }
  104.         n=c-a*100-b*10;                            //計(jì)算得到小數(shù)位
  105. }
  106. /*****顯示開機(jī)初始化等待畫面*****/
  107. void Disp_init(void)   
  108. {
  109.         P0 = ~0x80;                       //顯示-
  110.         P2 = 0x7F;
  111.         Delay(200);
  112.         P2 = 0xDF;
  113.         Delay(200);   
  114.         P2 = 0xF7;
  115.         Delay(200);
  116.         P2 = 0xFD;
  117.         Delay(200);
  118.         P2 = 0xFF;                        //關(guān)閉顯示
  119. }
  120. /*****顯示溫度子程序*****/
  121. void Disp_Temperature(void)   
  122. {
  123.         P0 = ~0x98;                        //顯示c
  124.         P2 = 0x7F;
  125.         Delay(1000);
  126.         P2=0xff;                                //關(guān)閉顯示

  127.         P0=~LEDData[n];             //顯示小數(shù)位
  128.         P2 = 0xDF;
  129.         Delay(1000);
  130.         P2=0xff;                           //關(guān)閉顯示

  131.         P0 =~LEDData[m%10];    //顯示個(gè)位
  132.         DIAN = 0;                    //顯示小數(shù)點(diǎn)
  133.         P2 = 0xF7;
  134.         Delay(1000);
  135.         P2=0xff;                           //關(guān)閉顯示

  136.         P0 =~LEDData[m/10];    //顯示十位
  137.         P2 = 0xFD;
  138.         Delay(1000);
  139.         P2 = 0xff;                   //關(guān)閉顯示
  140. }

  141. /*****主函數(shù)*****/
  142. void main(void)
  143. {
  144.         LED=0;                                       //默認(rèn)關(guān)閉報(bào)警
  145.         BEEP=0;                                        //默認(rèn)關(guān)閉蜂鳴器
  146.         check_wendu();
  147. ……………………

  148. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
51單片機(jī)數(shù)碼管顯示DS18B20溫度傳感器 聲光報(bào)警 Proteus仿真圖 完整程序.zip (95.51 KB, 下載次數(shù): 1005)


評(píng)分

參與人數(shù) 3黑幣 +70 收起 理由
azi1974 + 10 共享資料的黑幣獎(jiǎng)勵(lì)!
dww465757120 + 10 贊一個(gè)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:108622 發(fā)表于 2017-10-18 06:17 | 只看該作者
有沒有0下溫度
回復(fù)

使用道具 舉報(bào)

板凳
ID:342112 發(fā)表于 2018-6-7 21:59 | 只看該作者
樓主,求兩個(gè)18B20的程序,就在這個(gè)圖的基礎(chǔ)上,兩個(gè)溫度同時(shí)顯示
回復(fù)

使用道具 舉報(bào)

地板
ID:151845 發(fā)表于 2018-6-11 14:43 | 只看該作者
為什么解壓不了?
回復(fù)

使用道具 舉報(bào)

5#
ID:288393 發(fā)表于 2018-11-27 23:01 | 只看該作者
學(xué)習(xí)一下,看看
回復(fù)

使用道具 舉報(bào)

6#
ID:288393 發(fā)表于 2018-11-27 23:05 | 只看該作者
這個(gè)怎么確定能不能用
回復(fù)

使用道具 舉報(bào)

7#
ID:313455 發(fā)表于 2018-12-20 13:11 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

8#
ID:187094 發(fā)表于 2018-12-28 10:15 | 只看該作者
實(shí)在是太感謝了
回復(fù)

使用道具 舉報(bào)

9#
ID:457097 發(fā)表于 2018-12-28 14:14 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

10#
ID:434420 發(fā)表于 2019-1-3 15:18 | 只看該作者
感覺幫到我了
回復(fù)

使用道具 舉報(bào)

11#
ID:321495 發(fā)表于 2019-1-13 20:30 | 只看該作者
真棒真棒,急需仿真
回復(fù)

使用道具 舉報(bào)

12#
ID:468274 發(fā)表于 2019-1-20 16:07 | 只看該作者
uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};
請(qǐng)問這是數(shù)碼管0—F的顯示代碼嗎?共陰極和共陽極代碼都對(duì)不上啊
回復(fù)

使用道具 舉報(bào)

13#
ID:19315 發(fā)表于 2019-1-23 16:53 | 只看該作者
這個(gè)程序值得學(xué)習(xí),很有參考考
回復(fù)

使用道具 舉報(bào)

14#
ID:484809 發(fā)表于 2019-3-5 13:20 | 只看該作者
可以吧后面的程序補(bǔ)上來么。。。
回復(fù)

使用道具 舉報(bào)

15#
ID:46381 發(fā)表于 2019-3-8 20:07 | 只看該作者
好東西,謝謝分享!!!
回復(fù)

使用道具 舉報(bào)

16#
ID:46381 發(fā)表于 2019-3-8 20:08 | 只看該作者
謝謝分享!!!!!!!!!!!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

17#
ID:489294 發(fā)表于 2019-3-21 02:35 | 只看該作者
謝謝樓主!!!!!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

18#
ID:497521 發(fā)表于 2019-3-24 21:06 | 只看該作者

這個(gè)程序值得學(xué)習(xí),謝謝!
回復(fù)

使用道具 舉報(bào)

19#
ID:488831 發(fā)表于 2019-3-25 13:04 | 只看該作者
陳鵬飛15 發(fā)表于 2019-1-20 16:07
uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x ...

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
回復(fù)

使用道具 舉報(bào)

20#
ID:500275 發(fā)表于 2019-3-28 22:45 | 只看該作者
感謝你,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

21#
ID:498978 發(fā)表于 2019-4-2 18:58 | 只看該作者
仿真圖不能用Altium designer打開嗎
回復(fù)

使用道具 舉報(bào)

22#
ID:490858 發(fā)表于 2019-4-3 19:52 | 只看該作者
你好我想問一下,為什么低于25度,數(shù)碼管就會(huì)閃爍
回復(fù)

使用道具 舉報(bào)

23#
ID:424725 發(fā)表于 2019-5-4 13:50 | 只看該作者
謝謝分享!!學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

24#
ID:503018 發(fā)表于 2019-5-11 16:11 | 只看該作者
樓主,求兩個(gè)18B20的程序,就在這個(gè)圖的基礎(chǔ)上,兩個(gè)溫度同時(shí)顯示   ,,,同時(shí)也是非常感謝
回復(fù)

使用道具 舉報(bào)

25#
ID:532628 發(fā)表于 2019-5-11 23:47 | 只看該作者
為什么編碼cope到keil里編譯知識(shí)有錯(cuò)
回復(fù)

使用道具 舉報(bào)

26#
ID:539393 發(fā)表于 2019-5-16 11:03 | 只看該作者
對(duì)我?guī)椭艽?/td>
回復(fù)

使用道具 舉報(bào)

27#
ID:540467 發(fā)表于 2019-5-17 17:48 來自手機(jī) | 只看該作者
這個(gè)程序有錯(cuò)誤嗎
回復(fù)

使用道具 舉報(bào)

28#
ID:489680 發(fā)表于 2019-5-23 14:53 | 只看該作者
想問一下R1~R4的作用是什么   為什么不能去掉
回復(fù)

使用道具 舉報(bào)

29#
ID:549887 發(fā)表于 2019-5-29 11:04 | 只看該作者
感謝作者的分享
回復(fù)

使用道具 舉報(bào)

30#
ID:538101 發(fā)表于 2019-5-29 21:36 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

31#
ID:551121 發(fā)表于 2019-5-30 15:51 | 只看該作者
感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

32#
ID:520050 發(fā)表于 2019-6-25 17:16 | 只看該作者
可以共享嗎?
回復(fù)

使用道具 舉報(bào)

33#
ID:611687 發(fā)表于 2019-10-24 19:55 | 只看該作者
真厲害!
回復(fù)

使用道具 舉報(bào)

34#
ID:640789 發(fā)表于 2019-11-13 08:10 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

35#
ID:646042 發(fā)表于 2019-11-20 20:21 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

36#
ID:628216 發(fā)表于 2019-11-28 15:08 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

37#
ID:651497 發(fā)表于 2019-11-28 15:41 | 只看該作者
做的很棒哦
回復(fù)

使用道具 舉報(bào)

38#
ID:647470 發(fā)表于 2019-12-21 17:35 | 只看該作者
陳鵬飛15 發(fā)表于 2019-1-20 16:07
uchar code  LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x ...

他P0口的接線沒有按順序來
回復(fù)

使用道具 舉報(bào)

39#
ID:706009 發(fā)表于 2020-3-11 18:03 | 只看該作者
下載下來仔細(xì)看看
回復(fù)

使用道具 舉報(bào)

40#
ID:699690 發(fā)表于 2020-3-29 00:36 | 只看該作者
謝謝樓主的分析
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美综合 | 99精品在线观看 | 成人三级av | 人人玩人人干 | 美女高潮网站 | 日韩在线小视频 | 亚洲视频一区在线观看 | 精品在线视频播放 | 免费黄色的网站 | 暖暖日本在线视频 | 欧美性大战xxxxx久久久 | 亚洲精品第一页 | 久热电影| 国产精品久久毛片av大全日韩 | 草逼网站 | 毛片视频网站 | 天天干狠狠操 | 久久久久久久亚洲精品 | 99久久精品免费看国产小宝寻花 | 国产中文字幕在线观看 | 欧美一级淫片007 | 亚洲 欧美 在线 一区 | 中文字幕在线视频观看 | 欧美国产精品 | 男人视频网站 | 欧美日韩在线视频一区二区 | 国产传媒在线播放 | 日韩在线播放视频 | 91精品久久久久久久久中文字幕 | 久久久久久99 | 国产成人精品一区二区三 | 日韩在线国产精品 | 亚洲精品福利在线 | 欧美日韩在线观看一区 | 日韩小视频 | 亚洲综合日韩精品欧美综合区 | 精品一区二区三区中文字幕 | 免费在线视频一区二区 | 国产一在线观看 | caoporn国产 | 一区二区三区国产精品 |