找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5429|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

求 溫度報(bào)警 程序??

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:34935 發(fā)表于 2012-2-25 21:23 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
我對此一點(diǎn)也不懂,希望指點(diǎn)一下。謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:27916 發(fā)表于 2012-2-26 16:52 | 只看該作者
對這個(gè)一點(diǎn)不懂,那還真不太好說哦
回復(fù)

使用道具 舉報(bào)

板凳
ID:27916 發(fā)表于 2012-2-26 16:53 | 只看該作者
溫度報(bào)警簡單的,用個(gè)熱敏電阻,通過單片機(jī)檢測電阻的變化,來判斷外界溫度,是可以做到報(bào)警的
回復(fù)

使用道具 舉報(bào)

地板
ID:34935 發(fā)表于 2012-2-29 20:32 | 只看該作者
可以給個(gè)程序嗎? 我自己捉摸一下.
回復(fù)

使用道具 舉報(bào)

5#
ID:34935 發(fā)表于 2012-2-29 20:34 | 只看該作者
怎么檢測?單片機(jī)只區(qū)分"1""0".求解~
回復(fù)

使用道具 舉報(bào)

6#
ID:35585 發(fā)表于 2012-3-5 16:08 | 只看該作者

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[10]  = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  //表
uchar code table2[10] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};  //帶DP點(diǎn)
uchar code weiM[4]    = {0xf7,0xfb,0xfd,0xfe};
uchar data duanM[4]   = {0x00,0x00,0x00,0x00};
sbit   DQ  = P3^4;              //數(shù)據(jù)口
sbit  P12  = P1^2;    //時(shí)間、日期、溫度顯示轉(zhuǎn)換
sbit  P14  = P1^4;    //顯示暫停
sbit  P11  = P1^1;    //選擇想要改變的數(shù)碼管的位選
sbit  P13  = P1^3;    //碼值加1
void delay(uchar i)
{
while(--i);
}
void delay2(uint i)
{
   while(--i);
}
void Init_Ds18b20(void)    
{
DQ = 1;                   
delay(1);                
DQ = 0;              
delay(250);              
DQ = 1;                  
delay(100);               
}

uchar Read_One_Byte()      
                          
{
uchar i   = 0;
uchar dat = 0;
for(i=8;i>0;i--)
{
   DQ = 0;                 
                         
   _nop_();               
   dat >>= 1;            
   DQ = 1;                 
   delay(1);               
   if(DQ)                  
   {
    dat |= 0x80;           
   }       
   delay(10);             
}
return (dat);
}

void Write_One_Byte(uchar dat)
{
uchar i = 0;
for(i=8;i>0;i--)
   {
       DQ = 0;                      
       _nop_();                      
       DQ = dat&0x01;             
                               
                            
        delay(10);                   
       DQ = 1;                       
       dat >>= 1;
        delay(1);
   }
}


uint Get_Tmp(void)                 
{
double tt;
uint temp;
uchar a,b;
Init_Ds18b20();              
Write_One_Byte(0xcc);        
Write_One_Byte(0x44);        
Init_Ds18b20();              
Write_One_Byte(0xcc);       
Write_One_Byte(0xbe);         
a = Read_One_Byte();       
b = Read_One_Byte();         
temp = b;                    
temp <<= 8;                  
temp = temp|a;             
tt = temp*0.0625;                                    
temp = tt*100+5;                                            
return temp;
}

void TDisp(uint temp)  
{
uint A1,A2,A3,A4;
uint i;
A1 = temp/1000;    //百位 
duanM[3] = A1;
A2 = temp%1000/100;   //十位
duanM[2] = A2;
A3 = temp%1000%100/10;    //個(gè)位
duanM[1] = A3;
A4 = temp%10;
duanM[0] = A4;

   for(i=0;i<4;i++)
  {
     if(i==2)
  {
      P2 = 0xff;
   P0 = 0xff;
       P0 = table2[duanM];
      P2 = weiM;
      delay2(250);  
  }
  else
  {
      P2 = 0xff;
   P0 = 0xff;
       P0 = table[duanM];
      P2 = weiM;
      delay2(250);
  }
  }
}
void main(void)
{
   uint tt;
   while(1) 
  {
   tt=Get_Tmp();
   TDisp(tt);
  }      
}

回復(fù)

使用道具 舉報(bào)

7#
ID:86621 發(fā)表于 2015-8-7 19:13 | 只看該作者
希望怎么做啊  我也弄
回復(fù)

使用道具 舉報(bào)

8#
ID:87089 發(fā)表于 2015-8-9 10:45 | 只看該作者
要沒有用1864顯示的程序?
回復(fù)

使用道具 舉報(bào)

9#
ID:87089 發(fā)表于 2015-8-9 10:46 | 只看該作者
用1286顯示的程序
回復(fù)

使用道具 舉報(bào)

10#
ID:80594 發(fā)表于 2015-8-10 10:58 | 只看該作者
用Ds18B20做溫度傳感器
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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