-
大小: 22KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-07-13
- 語言: 其他
- 標(biāo)簽: 51單片機(jī)??報警系統(tǒng)??按鍵設(shè)置??
資源簡介
51,52單片機(jī)用keil建立好的工程文件,實(shí)現(xiàn)功能包括用18b20采集溫度信息,將結(jié)果顯示在1602屏上,可以通過按鍵設(shè)置溫度報警值,溫度值超過范圍觸發(fā)報警。

代碼片段和文件信息
#include
#include<1602.h>
#include
sbit?ds???=?P2^2;
sbit?beep?=?P2^3;
sbit?rd?=?P3^7;
bit?flag;
uchar?ds_rom[8];
uchar?HLKey_value;
void?TempDelay(uchar?us)
{
while(us--);?//6.51us
}
void?ds_reset()
{
ds=1;
_nop_();
ds=0;
TempDelay(80);//520us
ds=1;
TempDelay(5);
if(ds==0)
flag=1;
else
flag=0;
TempDelay(20);
ds=1;
}
bit?ds_read_bit()
{
bit?dat;
ds=0;
_nop_();
_nop_();
ds=1;
_nop_();
dat=ds;
TempDelay(12);
return?dat;
}
uchar?ds_read_byte()
{
uchar?ijvalue;
for(i=0;i<8;i++)
{
j=ds_read_bit();
value=(j<<7)|(value>>1);
}
return?value;
}
void?ds_write_byte(uchar?dat)
{
uchar?ionebit;
for(i=0;i<8;i++)
{
onebit=dat&0x01;
if(onebit) ???//д1
{
ds=0;
TempDelay(1);
ds=1;
_nop_();
}
else??//д0
{
ds=0;
TempDelay(11);
ds=1;
_nop_();
}
dat>>=1;
}
}
void?ds_change()
{
ds_reset();
ds_write_byte(0xcc);
ds_write_byte(0x44);
}
uchar?get_temperature()
{
uint?temp;
uchar?abc;
ds_reset();
ds_write_byte(0xcc);
ds_write_byte(0xbe);
a=ds_read_byte();
b=ds_read_byte();
temp=b;
temp<<=8;
temp|=a;
c?=?temp*0.0625;
return?c;
}
void?key()
{
Key_value?=?P3;
Key_value?=?Key_value?&?0x0f;
if?(?Key_value?!=?0x0f?)
{
delay(5);
if?(?Key_value?!=?0x0f?)
{
switch(Key_value)
{
case?0x0e:?H++;?break;
case?0x0d:?H--;?break;
case?0x0b:?L++;?break;
case?0x07:?L--;?break;
}
}
}
}
void?main()
{
uchar?i;
rd?=?0;
init_1602();
write_com(?0x80?+?0?+?3);
write_data(?‘H‘?);
write_com(?0x80?+?0?+?8);
write_data(?‘L‘?);
lcd_distostr(110);
H?=?40;
L?=?10;
while(1)
{
ds_change();
i?=?get_temperature();
lcd_dis(?114uchartostr(?i?)?);
lcd_dis(?05uchartostr(?H?)?);
lcd_dis(?010uchartostr(?L?)?);
if?(?i?>=?H?||?i?<=?L)
{
? beep?=?0;
}
else
{
? beep?=?1;
}
key();?
}??
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1937??2014-06-18?19:04??18b20報警按鍵可設(shè)值1602顯示\1602.h
?????文件??????13601??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1
?????文件???????3903??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1.hex
?????文件?????????48??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1.lnp
?????文件??????20083??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1.M51
?????文件???????1173??2015-05-09?22:54??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1.Opt
?????文件????????234??2015-05-10?22:46??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1.plg
?????文件???????2185??2013-07-09?21:01??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1.Uv2
?????文件???????1173??2014-06-18?20:07??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1_Opt.Bak
?????文件??????????0??2013-07-09?17:57??18b20報警按鍵可設(shè)值1602顯示\ds18b20_1_Uv2.Bak
?????文件????????983??2013-07-09?17:55??18b20報警按鍵可設(shè)值1602顯示\ds18b20_Opt.Bak
?????文件??????????0??2013-07-09?12:52??18b20報警按鍵可設(shè)值1602顯示\ds18b20_Uv2.Bak
?????文件???????2003??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\readrom.c
?????文件???????6273??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\readrom.LST
?????文件??????14892??2015-05-09?22:53??18b20報警按鍵可設(shè)值1602顯示\readrom.OBJ
?????目錄??????????0??2016-02-22?15:56??18b20報警按鍵可設(shè)值1602顯示
-----------?---------??----------?-----??----
????????????????68488????????????????????16
評論
共有 條評論