欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)DS18B20溫度超出閾值報警,調(diào)上下限程序
[打印本頁]
作者:
gy51xx
時間:
2017-8-23 15:50
標(biāo)題:
單片機(jī)DS18B20溫度超出閾值報警,調(diào)上下限程序
DS18B20溫度,調(diào)上下限,數(shù)碼管顯示,超出閾值報警
單片機(jī)源程序如下:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
bit flag;
sbit ds=P2^2;
sbit beep=P1^0;
uint temp;
sbit led3=P1^2;
sbit dula=P2^6;
sbit wela=P2^7;
sbit key1=P3^4;
sbit key2=P3^6;
sbit key3=P3^7;
uchar num,num_shang=0,num_xia=0,numled,flag_qiehuan;
uchar code table_du[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(xms) //延時函數(shù)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=100;j>0;j--);
}
void delayus(uint t)
{
while(t--);
}
void init() //初始化函數(shù)
{
TMOD=0x01; //設(shè)置定時器0位工作方式(00000001)
TH0=(65536-22500)/256; //裝初值
TL0=(65536-22500)%256;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1;
}
void display_shumaguan() //顯示子函數(shù),中間兩位數(shù)碼管
{
uchar qian,bai,shi,ge;;
qian=num_shang/10; //分離要顯示的函數(shù)
bai=num_shang%10;
dula=1;
P0=table_du[qian]; //送千位段選
dula=0;
P0=0xff; //送位選數(shù)據(jù)前關(guān)閉所有顯示
wela=1;
P0=0xfb; //送位選數(shù)據(jù)
wela=0;
delay(4);
dula=1; //送各位段選函數(shù)
P0=table_du[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xf7;
wela=0;
delay(4);
shi=num_xia/10;
ge=num_xia%10;
dula=1;
P0=table_du[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xef;
wela=0;
delay(4);
dula=1;
P0=table_du[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xdf;
wela=0;
// delay(1);
}
void ds_reset() //復(fù)位函數(shù)
{
ds=1;
delayus(5); // 延時
ds=0;
delayus(80);
ds=1;
delayus(14);
if(ds==0)
flag=1;
else
flag=0; //flag作為標(biāo)志位,等1表示18b20存在
delayus(20);
}
bit ds_read_bit(void) //讀一位數(shù)據(jù)函數(shù)
{
bit dat;
ds=0;
_nop_(); //延時機(jī)器周期
_nop_();
ds=1; //釋放總線
_nop_();
dat=ds;
delayus(10); //延時100us
return dat;
}
uchar ds_read_byte() //讀一個字節(jié)函數(shù)
{
uchar i,j,k;
for(i=0;i<8;i++) //一個字節(jié)8位組成,循環(huán)八次
{
j=ds_read_bit();
k=(j<<7)|(k>>1); //讀出的數(shù)據(jù)最低位在最前面
}
return k;
}
void ds_write_byte(uchar dat) //寫一個字節(jié)的函數(shù)
{
uchar i;
for(i=0;i<8;i++) //循環(huán)八位將一個字節(jié)由低到高寫入
{
ds=0;
_nop_();
ds=dat&0x01; //保留dat的最低位
delayus(6);
ds=1; //釋放總線
dat=dat>>1;
}
delayus(6);
}
uint read_temp() //讀取溫度函數(shù)
{
uchar a,b;
ds_reset();
ds_write_byte(0xcc);
ds_write_byte(0xbe);
a=ds_read_byte(); //讀低八位
b=ds_read_byte(); //讀高八位
temp=b;
temp=temp<<8;
temp=temp|a;
temp=temp*0.0625; //得到實(shí)際溫度值
return temp;
}
void display(uint temp)
{
P0=table_du[temp/10];
dula=1;
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(4);
P0=table_du[temp%10];
dula=1;
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
// delay(1);
}
void keyscan()
{
if(key1==0)//按鍵1處理
{
if(flag_qiehuan==0)
{
flag_qiehuan=1; //切換設(shè)置上限
}
else if(flag_qiehuan==1)
{
flag_qiehuan=0; //切換設(shè)置下限
}
}
if((key2==0)&&(flag_qiehuan==0)) //k2長按
{
delay(30);
if((key2==0)&&(flag_qiehuan==0))
{
num_xia++;
}
}
else if((key2==0)&&(flag_qiehuan==0)) //K2短按
{
delay(3);
if((key2==0)&&(flag_qiehuan==0))
{
num_xia++;
while(!key2);
}
}
if((key3==0)&&(flag_qiehuan==0))
{
delay(30);
if((key3==0)&&(flag_qiehuan==0))
{
num_xia--;
}
}
else if((key3==0)&&(flag_qiehuan==0)) //K3短按
{
delay(3);
if((key3==0)&&(flag_qiehuan==0))
{
num_xia--;
while(!key3);
}
}
if((key2==0)&&(flag_qiehuan==1))
{
delay(30);
if((key2==0)&&(flag_qiehuan==1))
{
num_shang++;
}
}
else if((key2==0)&&(flag_qiehuan==1))
{
delay(3);
if((key2==0)&&(flag_qiehuan==1))
{
num_shang++;
while(!key2);
}
}
if((key3==0)&&(flag_qiehuan==1))
{
delay(30);
if((key3==0)&&(flag_qiehuan==1))
{
num_shang--;
}
}
else if((key3==0)&&(flag_qiehuan==1))
{
delay(3);
if((key3==0)&&(flag_qiehuan==1))
{
num_shang--;
while(!key3);
}
}
}
void deal()
{
if((temp>=num_xia)||(temp<=num_shang))
{
beep=0;
}
if((temp<num_xia)&&(temp>num_shang))
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
完全品.zip
(39.28 KB, 下載次數(shù): 108)
2017-8-23 15:49 上傳
點(diǎn)擊文件名下載附件
DS18B20溫度,調(diào)閾值報警
下載積分: 黑幣 -5
作者:
大寶的小S
時間:
2017-8-26 10:27
不錯不錯。
作者:
大寶的小S
時間:
2017-8-26 10:28
很詳細(xì),正好有需要。
作者:
你大爺?shù)拇鬆?nbsp;
時間:
2018-5-5 16:01
很詳細(xì)
作者:
songjj6
時間:
2018-5-10 11:43
感謝分享,借鑒學(xué)習(xí)
作者:
ddx-oipser
時間:
2018-7-18 16:14
學(xué)到了
作者:
銘樂
時間:
2018-10-13 11:17
很好、不錯
作者:
microhl
時間:
2021-7-13 09:47
做了個小溫度計,放在窗外,夜深了的時候,當(dāng)室外溫度低于25度的時候,關(guān)閉空調(diào),很不錯的
作者:
microhl
時間:
2021-7-13 09:54
正在擴(kuò)展程序,精確到小數(shù)后一位,看能否成功
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1