基于单片机数字温度计(18)

时间:2025-07-10

这是本人在大学期间其中之一的课程设计希望对大家有用。

{ Temp_Value[1]= ~Temp_Value[1];

Temp_Value[0]= ~Temp_Value[0]+1; if(Temp_Value[0]==0x00) Temp_Value[1]++; ng=1;np=0XFD; } Display_Digit[0]=df_Table[Temp_Value[0]&0x0F]; CurrentT

=((Temp_Value[0]&0xF0)>>4)|(( Temp_Value[1]&0x07)<<4);

Signed_Current_Temp=ng? CurrentT: CurrentT; HI_Alarm=Signed_Current_Temp>= Alarm_Temp_HL[0]?1:0;

LO_Alarm=Signed_Current_Temp<= Alarm_Temp_HL[1]?1:0; Display_Digit[3]=CurrentT/100; Display_Digit[2]=CurrentT % 100 / 10; Display_Digit[1]=CurrentT % 10; if(Display_Digit[3]==0) { Display_Digit[3]=10;

np=0xF7;

if(Display_Digit[2]==0) { Display_Digit[2]=10;

np=0xEF; } } for(i=0;i<30;i++)

{ P0=0x39;P2=0x7F;Delay(t);P2=0xFF;

P0=0x63;P2=0xBF;Delay(t);P2=0xFF; P0=DSY_CODE[Display_Digit[1]]; P2=0xDF;Delay(t);P2=0xFF;

P0=(DSY_CODE[Display_Digit[1]])|0x80; P2=0xEF;Delay(t);P2=0xFF; P0=DSY_CODE[Display_Digit[2]]; P2=0xF7;Delay(t);P2=0xFF; P0=DSY_CODE[Display_Digit[3]]; P2=0xF7;Delay(t);P2=0xFF; if(ng)

{ P0=0x40;P2=np;Delay(t);P2=0xFF; } }

}

void T0_INT() interrupt 1 { TH0=-1000/512;

TL0=-1000%512; BEEP=!BEEP;

if(++Time0_Count==400) { Time0_Count=0;

if(HI_Alarm) HI_LED= ~HI_LED;else HI_LED=1; if(LO_Alarm) LO_LED=

~LO_LED;else

LO_LED=1; } }

void main(void) { IE=0x82;

TMOD=0x01; TH0=-1000/512; TL0=-1000%512; TR0=0; HI_LED=1; LO_LED=1;

Set_Alarm_Temp_Value(); Read_Temperature(); Delay(50000); Delay(50000); while(1)

{ Read_Temperature();

if(DS18B20_IS_OK)

{ if(HI_Alarm==1 || LO_Alarm==1)

TR0=1;

else TR0=0;

Display_Temperature();

}

else

{ P0=P2=0x00; } } }

基于单片机数字温度计(18).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219