贵州大学课程设计
t=b; t<<=8; t=t|a;
Temp_mea=t*(0.0625); }
/********精确延时********/ void Delay_us(uchar i) {
while(--i); }
/********键盘扫描程序********/ void Key_scan(void) {
uchar temp; P1=0xff; if(P1!=0xff) {
Delay(20); //延时消抖 if(P1!=0xff) {
temp=P1; switch(temp) { }
26
case 0xfe:Key_set();break; //P1.0按下,功能选择 case 0xfd:Key_inc();break; //P1.1按下,数字加一 case 0xfb:Key_dec();break; //P1.2按下,数字减一 default:break;
贵州大学课程设计
}
}
}
/********工作模式子程序********/ void Key_set(void) { }
/********按键加一子程序********/ void Key_inc(void) { }
/********按键减一子程序********/ void Key_dec(void) {
//Delay(150); switch(Set_flag)
27
Set_flag++;
if(Set_flag>=3) //Set_flag=1,设定上限值
Set_flag=0; //Set_flag=2,设定下限值
switch(Set_flag) { }
case 1:Temp_set1++;
if(Temp_set1>=99) Temp_set1=99;break; case 2:Temp_set2++;
if(Temp_set2>=Temp_set1) Temp_set2=Temp_set1;break; default:break;
贵州大学课程设计
{ case 1:Temp_set1--;
if(Temp_set1<=Temp_set2) Temp_set1=Temp_set2;break; case 2:Temp_set2--;
if(Temp_set2<=1) Temp_set2=1;break; default:break;
}
}
/********报警和指示程序********/ void Alarm(void) { uchar High; uchar Low; High=Temp_set1+5; Low=Temp_set2-5; if(Temp_mea>High) { Normal=1; Alarm_H=0; Alarm_L=1;
Alarm_BEEP=1;
} else
{if(Temp_mea Alarm_BEEP=1; 28 贵州大学课程设计 } else { Normal=0; Alarm_H=1; Alarm_L=1; Alarm_BEEP=0; } } } 29 附录二:硬件设计原理图 贵州大学课程设计 30