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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

自制mini數字溫度計

  [復制鏈接]
跳轉到指定樓層
樓主
ID:75272 發表于 2015-4-1 23:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    芯片采用AT89C2051,溫度檢測采用DS18B20,顯示3位共陰數碼管,電路非常簡單。

原理仿真圖:實際運用中請將P1口加上1K上拉電阻。


采用基本和數碼管大小的一塊實驗洞洞板來焊接,電源采用常用的5VminiUSB供電(數據線好找些,可以直接USB,比較方便),晶振采用了壞U盤中的12MHZ的小晶振嵌入到集成插座的中間空隙以減小體積。為了減小數碼管和其他電子元件通電后發熱對DS18B20溫檢產生檢測誤差,將DS18B20的3只腳分別焊接到一個立體聲插頭上,然后再通過立體聲插座再傳遞到AT89C2051的P3.7端口。數碼管采用插接件,方便修改和燒錄單片機程序。


只拍照的正面,背面就是亂云飛渡人從容啦


裝好通電后效果,測試中還是感覺到電子元件溫升的差異



源程序如下:

#include<reg52.h>
#include <intrins.h>
#define  uchar  unsigned  char
#define  uint   unsigned  int
sbit  DATA = P3^7; //DS18B20接入口
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
char  bai,shi,ge; //定義變量
/*延時子函數*/
void delay(uint num)
{
while(num--) ;
}
/*************DS18b20溫度傳感器函數*********************/
Init_DS18B20(void)     //傳感器初始化
{
  uchar x=0;
  DATA = 1;    //DQ復位
  delay(10);  //稍做延時
  DATA = 0;    //單片機將DQ拉低
  delay(80); //精確延時 大于 480us    //450
  DATA = 1;    //拉高總線
  delay(20);
  x=DATA;      //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
  delay(30);
}
//讀一個字節
ReadOneChar(void)
{
uchar i=0;
uchar dat = 0;
for (i=8;i>0;i--)
  {
    DATA = 0; // 給脈沖信號
    dat>>=1;
    DATA = 1; // 給脈沖信號
    if(DATA)
     dat|=0x80;
    delay(8);
  }
  return(dat);
}
//寫一個字節
WriteOneChar(unsigned char dat)
{
  uchar i=0;
  for (i=8; i>0; i--)
  {
    DATA = 0;
    DATA = dat&0x01;
   delay(10);
   DATA = 1;
   dat>>=1;
  }
delay(8);
}
//讀取溫度
int ReadTemperature(void)
{
uchar a=0;
uchar b=0;
int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳過讀序號列號的操作
WriteOneChar(0x44); // 啟動溫度轉換
Init_DS18B20();
WriteOneChar(0xCC); //跳過讀序號列號的操作
WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
a=ReadOneChar();//低位
b=ReadOneChar();//高位
t=b;
t<<=8;
t=t|a;
tt=t*0.0625;
t= tt*10+0.5;
return(t);
}
/*顯示子函數*/
void  display(int bai,int shi,int ge)
{
P3=0XFB; //顯示小數點
P1=0X80; //顯示小數點
delay(50);//顯示小數點
P3=0xf7;
P1=table[bai];//顯示千位
delay(50);//一小段延時動態顯示
P3=0xfb;
P1=table[shi];//顯示百位
delay(50);
P3=0xfd;
P1=table[ge];//顯示十位
delay(50);
}
void  main()
{
int  temp;
while(1)
{  
  temp=ReadTemperature();//讀溫度
  bai=temp%1000/100;//顯示百位
  shi=temp%100/10;//顯示十位
  ge=temp%10;//顯示個位
  
  display(bai,shi,ge);//顯示函數
}  
}



評分

參與人數 1黑幣 +5 收起 理由
adadad + 5 很給力!

查看全部評分

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

使用道具 舉報

沙發
ID:78768 發表于 2015-5-3 20:31 | 只看該作者
很好  贊一下
回復

使用道具 舉報

板凳
ID:79098 發表于 2015-5-6 17:52 | 只看該作者
程序挺多
回復

使用道具 舉報

地板
ID:111876 發表于 2016-4-5 18:06 | 只看該作者
2051的芯片燒寫是個問題,沒有專用的編程器,可怎么辦?
回復

使用道具 舉報

5#
ID:1 發表于 2016-4-8 15:07 來自觸屏版 | 只看該作者
yjx189 發表于 2016-4-5 18:06
2051的芯片燒寫是個問題,沒有專用的編程器,可怎么辦。

AT89c2051需要用編程器才能燒錄,建議采用stc的2051芯片,源代碼引腳都能兼容。采用串口燒錄。
回復

使用道具 舉報

6#
ID:68727 發表于 2016-4-8 15:12 來自觸屏版 | 只看該作者
admin 發表于 2016-4-8 15:07
AT89c2051需要用編程器才能燒錄,建議采用stc的2051芯片,源代碼引腳都能兼容。采用串口燒錄。

釆用STC的不能正常工作,時序不對還是什么請教
回復

使用道具 舉報

7#
ID:104838 發表于 2016-4-8 20:11 | 只看該作者
用STC芯片多好,試試
回復

使用道具 舉報

8#
ID:108868 發表于 2016-4-9 20:31 | 只看該作者
我的keil不知怎么了設置了生成hex文件卻沒生成誰做過的好心幫忙提供下hex文件啊
回復

使用道具 舉報

9#
ID:1 發表于 2016-4-9 21:11 | 只看該作者
Animals 發表于 2016-4-9 20:31
我的keil不知怎么了設置了生成hex文件卻沒生成誰做過的好心幫忙提供下hex文件啊

hex文件生成好了,0個警告,0個錯誤。你的應該是keil設置的問題: 源碼及hex文件.rar (20.1 KB, 下載次數: 44)
回復

使用道具 舉報

10#
ID:108868 發表于 2016-4-9 22:54 | 只看該作者
本帖最后由 Animals 于 2016-4-9 23:02 編輯

謝謝了!
回復

使用道具 舉報

11#
ID:110699 發表于 2016-5-27 12:07 | 只看該作者
菜鳥請教一下   怎么做成3路檢測3路顯示?
回復

使用道具 舉報

12#
ID:122374 發表于 2016-5-27 23:26 | 只看該作者
不錯 支持diy
回復

使用道具 舉報

13#
ID:122374 發表于 2016-5-27 23:27 | 只看該作者
哼不錯 支持diy
回復

使用道具 舉報

14#
ID:92231 發表于 2016-5-29 09:40 來自觸屏版 | 只看該作者
這款制作線路簡單扼要,值得仿制
回復

使用道具 舉報

15#
ID:124554 發表于 2016-6-3 15:32 | 只看該作者
怎么實現不了呢
回復

使用道具 舉報

16#
ID:117823 發表于 2016-6-4 01:47 來自觸屏版 | 只看該作者
我用msp430g2231也做了個溫濕度計,就是體積比你的大了好多,有點丑。
回復

使用道具 舉報

17#
ID:99130 發表于 2016-7-5 00:01 | 只看該作者
怎么只顯示00.0???這是什么原因???樓主你的剛開機顯示啥???
回復

使用道具 舉報

18#
ID:145030 發表于 2016-10-31 20:08 | 只看該作者
不錯,支持支持一下
回復

使用道具 舉報

19#
ID:200118 發表于 2017-6-9 22:50 | 只看該作者
謝謝分享
回復

使用道具 舉報

20#
ID:251070 發表于 2017-11-19 14:37 | 只看該作者
請問數碼管用哪一種呢
回復

使用道具 舉報

21#
ID:388329 發表于 2018-9-5 13:48 | 只看該作者
溫度檢測,還是蠻準確的。用這個元器件。
回復

使用道具 舉報

22#
ID:418772 發表于 2018-11-26 22:29 | 只看該作者
簡單明了
回復

使用道具 舉報

23#
ID:169087 發表于 2018-12-4 10:13 來自觸屏版 | 只看該作者
溫度測量范圍多少?
回復

使用道具 舉報

24#
ID:50522 發表于 2018-12-21 16:16 來自觸屏版 | 只看該作者
學習了
回復

使用道具 舉報

25#
ID:436591 發表于 2018-12-22 17:06 | 只看該作者
贊一下,很好?樟嗽谧屑氀芯。  
回復

使用道具 舉報

26#
ID:50522 發表于 2018-12-25 14:50 來自觸屏版 | 只看該作者
這款簡單明了
回復

使用道具 舉報

27#
ID:407089 發表于 2018-12-25 16:00 | 只看該作者
亮點在18b20的接入方式
回復

使用道具 舉報

28#
ID:399179 發表于 2018-12-25 20:26 來自觸屏版 | 只看該作者
這個怎么改成LDE燈顯示溫度的?用LED燈珠做成一串,每一個燈珠代表0.5度,誰幫忙寫下程序?先謝謝了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品视频免费在线观看 | 国产精品手机在线 | 日韩av一级片 | 国产成人三级一区二区在线观看一 | 成人欧美一区二区三区黑人免费 | 国产又粗又猛又爽又黄 | 久久精品av | 激情丁香婷婷 | 日韩精品中文字幕在线观看 | 在线中文字幕 | 中文字幕日韩视频 | 攵女(高h)欢欲 | 国产成人免费在线视频 | 日韩一级二级三级 | 97国产精品| 国产小视频在线播放 | 九色在线播放 | 国产在线www | 操bbbbb | 免费黄色一级视频 | 日韩精品国产精品 | 久久免费小视频 | 国产综合在线视频 | 国产精品福利在线 | 黄片毛片在线观看 | 青娱乐av | 国产精品婷婷 | 国产福利在线观看 | 亚洲91精品 | 成人在线免费网站 | 日本中文在线观看 | 毛片在线免费 | 国产欧美综合一区二区三区 | 欧美精品一级片 | 精品国产一区二区三区久久久蜜月 | 天天射日日干 | 日韩精品一区二区三区免费视频 | 一区二区视频在线 | 91久久国产综合久久91精品网站 | 黄色一及片 | 99久久综合 |