int key_value; uchar a,b,c,d; key_value=keyscan(); if(key_value>=0) { a=0;
b=key_value/10; c=key_value; d=0;
led_send7(1,a); delay(2); led_send7(2,b); delay(2); led_send8(3,c); delay(2); led_send7(4,d); delay(2); }
if(key_value<0) {
key_value=-key_value; //a=### b=key_value/10; c=key_value; d=0;
led_send7(1,11); delay(2); led_send7(2,b); delay(2); led_send8(3,c); delay(2); led_send7(4,d); delay(2); } }
//*************定时器相关函数********// void init_timer() {
TMOD=0X01; TH0=0X3C; TL0=0XB0; EA=0; ET0=1;
TR0=1;
do{ }while( 1 ); }
//*************报警函数*******// void alarm() {
if(in_open==0) {
delay(10); if(in_open==0) {
delay(10); if(in_open==1) { Flag3=1;
door_led=~door_led; } } } }
void speaker() {
if(Flag3==1)
init_timer(); }
void Motor_start(uint date,uint date1)//智能速冻模式下是否启动压缩机 {
//date冷藏室的温度值,date1冷冻室的温度值
//冷冻室冷藏室同时低于要求值
char a,b,c,d; if(a==c&&b==d) {
out_VT1=0; out_motor=0; out_heat=0; } }
//*******************报警消音*******// void key_xiaoyin() {
if(in_clarm==0)
a=date;b=date1;c=pre_tempr1;d=pre_tempr2;
{
delay(10); if(in_clarm==0) delay(10); if(in_clarm==1) EA=0;
{
Flag3=0; } } }
//**********屏幕屏幕切换*********// uchar key_sf() {
static uchar key_st=1; if(key_shift==0) {
delay(10); if(key_shift==0) {
delay(10); if(key_shift==1) {
key_st++; if(key_st>2) key_st=1;
} } }
return key_st; }
void screen_choose() {
uchar choose; choose=key_sf(); if(choose==1) display_temp(); else if(choose==2) display_tempcang();
}
//*************自动模式,进行温度的设置*******//
void auto_model() {
if(k0==0) {
delay(10); if(k0==0) {
delay(10); if(k0==1) { Flag1=1; Flag2=0; while(1) display_key(); } } } }
//**********智能速冻模式*******// void run_smart() {
if(in_smart==0) { delay(10); if(in_smart==0) {
delay(10); if(in_smart==1) Flag1=0; Flag2=1; } } }
//**********端口初始化**********// void port_init() {
door_led=0; out_VT1=1; out_motor=1; out_heat=0; }
//*****************主函数*************************// void main()
{ auto_model(); run_smart(); init_timer(); alarm(); if( Flag1==1) {
display_key(); screen_choose(); speaker(); key_xiaoyin();
Motor_start(temp1,temp,key_value1,key_value2); }
if(Flag2==1) {
screen_choose(); speaker(); key_xiaoyin();
Motor_start(temp1,temp); } }
//*************定时器中断********// void Time0( void ) interrupt 1 using 3 {
out_alarm=~out_alarm; TH0 = 0x3c; TL0 = 0xb0; }