经过两天熬夜的艰苦奋战,在原程序基础上进行升级,添加按键多功能操作
新增功能:1. K1模式转换,可自由切换:主界面显示,时间调整,闹钟设置,温度上下限设定等; 2. K2选定需要调整的位数。
切换至时间调整时,通过K3-"加",K4-"减"按键调整数值。
切换至闹钟设置时,通过K3-"加",K4-"减"按键调整数值。
切换至温度上下限设定时,通过K3-"加",K4-"减"按键调整数值。
准备扩展的新功能:闹钟音乐,喇叭开启和关闭,。
操作说明:
开机进入主界面,显示时钟和温度。按下K1时,进入模式选择,(有时间调整,闹钟设置,温度上下限设定等),当K1按下四次后,长响一声,回到主界面。
当K1(模式选择键)按下第一次,选择在时间调整时,按下K2,选定需要调整的位数,选定的位数会一秒钟不停的闪烁。然后按下K3 “加”或者K4 “减”按键,进行数值的加减,当K2按到五次时,返回时间调整界面。
再按下K1(模式选择键)按下第二次,进入到下一个模式,闹钟设置。按下K2,选定需要调整的位数,选定的位数会一秒钟不停的闪烁。然后按下K3 “加”或者K4 “减”按键,进行数值的加减,当K2按到五次时,返回闹钟设置界面。
再按下K1(模式选择键)按下第三次,进入到下一个模式,温度上下限设定。按下K2,选定需要调整的位数,选定的位数会一秒钟不停的闪烁。然后按下K3 “加”或者K4 “减”按键,进行数值的加减,当K2按到五次时,返回温度上下限设定界面。
当K1(模式选择键)按下第四次,返回到时钟和温度主界面显示。


采用的是stc89c51单片机,代码为自己原创
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
/****温度 端口定义******/
sbit wx5=P2^4;
sbit wx6=P2^5;
sbit wx7=P2^6;
sbit wx8=P2^7;
sbit DQ=P3^6;
uint temp, temp1,temp2, xs,H1,H2,L1,L2;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0X9c,0xc6,0x91,0xfc,0XE3};
/******延时程序*******/
void delay1(uint m)
{
uint i,j;
for(i=m;i>0;i--)
for(j=110;j>0;j--);
}
void delay(unsigned int m)
{
while(m--);
}
void Init_DS18B20()
{
unsigned char x=0;
DQ = 1; //DQ复位 ds18b20通信端口
delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
delay(4);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(20);
}
/***********ds18b20读一个字节**************/
uchar ReadOneChar()
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 高电平拉成低电平时读周期开始
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80; //
delay(4);
}
return(dat);
}
/*************ds18b20写一个字节****************/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0; //从高电平拉至低电平时,写周期的开始
DQ = dat&0x01; //数据的最低位先写入
delay(5); //60us到120us延时
DQ = 1;
dat>>=1; //从最低位到最高位传入
}
}
/**************读取ds18b20当前温度************/
void ReadTemperature()
{
unsigned char a=0;
unsigned b=0;
unsigned t=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
delay(1); // this message is wery important
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
delay(1);
a=ReadOneChar(); //读取温度值低位
b=ReadOneChar(); //读取温度值高位
temp1=b<<4; //高8位中后三位数的值
temp1+=(a&0xf0)>>4; //低8位中的高4位值加上高8位中后三位数的值 temp1室温整数值
temp2=a&0x0f; //小数的值
temp=((b*256+a)>>4); //当前采集温度值除16得 实际温度值 zhenshu
xs=temp2*0.0625*10; //小数位,若为0.5则算为5来显示 xs小数 xiaoshu
}
///////////////////////////////////////////////////////////////////////
/****时钟 端口定义******/
sbit wx1=P2^0;
sbit wx2=P2^1;
sbit wx3=P2^2;
sbit wx4=P2^3;
uchar qian,bai,shi,ge,miao1,miao2,count1,count2;
uchar n1,n2,z1,z2;//设置闹钟变量
uchar code table1[]={0xc0,0xcf,0xa4,0x86,0x8b,
0x92,0x90,0xc7,0x80,0x82};
////////////////////////////////////////////
/***************按键调时程序***************/
sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;
sbit K4=P3^3;
sbit BEEP=P3^7; //// 定义蜂鸣器口
uchar K1num,K2num,K3num,K4num,K5num,K6num,K7num;
//////////////////////////////////////////
/**********报警声音**************/
bi(uint t)
{
int c,n;
for(c=0;c<t;c++)
{
for(n=0;n<50;n++);
BEEP=~BEEP; //按位取反BEEP
}
return(t);
}
///////////////////////////////////////////////
/********定时器初始化*************/
void init1()
{
TMOD=0x01; //定义定时器0,工作方式1
TH0=(65536-50000)/256; //高8位
TL0=(65536-50000)%256; //低8位
EA=1; //开全局中断
ET0=1;
TR0=1; //打开定时器
}
///////////////////////////////////////////////
/***********定时器中断函数************/
void timer0() interrupt 1
{
TH0=50;
TL0=50;
count1++;
if( count1==19 ) {count1=0; miao1++;//LED1=~LED1;
if( miao1==10 ) { miao1=0; miao2++; }
if( miao2== 6 ) { miao2=0; ge++; }
if( ge==10 ) { ge=0; shi++; }
if( shi== 6 ) { shi=0; bai++; }
if( bai==10 ) { bai=0; qian++; }
if( qian== 3 ) { qian=0; }
if(qian==2&&bai==4){qian=0;bai=0; }}
}
void init2()
{
TMOD=0x01; //定义定时器0,工作方式1
TH1=(65536-50000)/256; //高8位
TL1=(65536-50000)%256; //低8位
EA=1; //开全局中断
ET1=1;
TR1=1; //打开定时器
}
///////////////////////////////////////////////
/***********定时器中断函数************/
void timer1() interrupt 3
{
TH1=50;
TL1=50;
count2++;
if( count2==120 ) {count2=0; }}
void MODE() //模式选择
{
//正常显示 时钟和温度
if( K1num==0 )
{
TR0=1;TR1=0; //打开定时器0,关闭定时器1
wx1=1; P0=table[qian]; delay1(2);wx1=0; //时十位
if( count1<9.5 ) //时分之间的小数点闪烁,定时器0小于0.5秒,小数点亮
{
wx2=1; P0=table[bai]+0X80; delay1(2); wx2=0; //时个位打开小数点
wx3=1; P0=table1[shi]+0X80; delay1(2); wx3=0; //分十位+小数点
}
else //定时器0大于0.5秒,小数点灭
{
wx2=1; P0=table[bai]; delay1(2); wx2=0; //时个位关闭小数点
wx3=1; P0=table1[shi]; delay1(2); wx3=0; //分十位关闭小数点
}
wx4=1; P0=table1[ge]; delay1(2); wx4=0; //分个位
wx5=1; P0=table[temp/10]; delay1(2); wx5=0; //温度十位
wx6=1; P0=table[temp%10]; delay1(2); wx6=0; //温度个位
wx7=1; P0=table[12]; delay1(2); wx7=0; //温度℃
wx8=1; P0=table[13]; delay1(2); wx8=0; //温度℃
if((n1==qian)&&(n2==bai)&&(z1==shi)&&(z2=ge)) { bi(2000);}
if((H1==temp/10)&(H2==temp%10)) { bi(1000); }
if((L1==temp/10)&(L2==temp%10)) { bi(500); }
}
//时间调整显示
if((K1num==1 )&&(K2num==0))
{
TR1=0;
wx1=1; P0=table[qian]; delay1(2); wx1=0; //时十位
wx2=1; P0=table[bai]+0X80; delay1(2); wx2=0; //时个位,小数点停止不动
wx3=1; P0=table1[shi]+0X80; delay1(2); wx3=0; //分十位,小数点停止不动
wx4=1; P0=table1[ge]; delay1(2); wx4=0; //分个位
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0x92; delay1(2); wx6=0; //s
wx7=1; P0=0x87; delay1(2); wx7=0; //t
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
if((K1num==1 )&&(K2num==1))
{
TR1=1;
if (count2<60)
{wx1=1; P0=table[qian]; delay1(2); wx1=0; } //时十位
else {wx1=1; P0=0xff; delay1(2); wx1=0; } //时十位
wx2=1; P0=table[bai]+0X80; delay1(2); wx2=0; //时个位,小数点停止不动
wx3=1; P0=table1[shi]+0X80; delay1(2); wx3=0; //分十位,小数点停止不动
wx4=1; P0=table1[ge]; delay1(2); wx4=0; //分个位
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0x92; delay1(2); wx6=0; //s
wx7=1; P0=0x87; delay1(2); wx7=0; //t
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
if((K1num==1 )&&(K2num==2))
{
TR1=1;
wx1=1; P0=table[qian]; delay1(2); wx1=0; //时十位
if (count2<60)
{wx2=1; P0=table[bai]+0X80; delay1(2); wx2=0; } //时个位,小数点停止不动
else {wx2=1; P0=0xff; delay1(2); wx2=0; }
wx3=1; P0=table1[shi]+0X80; delay1(2); wx3=0; //分十位,小数点停止不动
wx4=1; P0=table1[ge]; delay1(2); wx4=0; //分个位
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0x92; delay1(2); wx6=0; //s
wx7=1; P0=0x87; delay1(2); wx7=0; //t
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
if((K1num==1 )&&(K2num==3))
{
TR1=1;
wx1=1; P0=table[qian]; delay1(2); wx1=0; //时十位
wx2=1; P0=table[bai]+0X80; delay1(2); wx2=0; //时个位,小数点停止不动
if (count2<60)
{wx3=1; P0=table1[shi]+0X80; delay1(2); wx3=0; } //分十位,小数点停止不动
else {wx3=1; P0=0xff; delay1(2); wx3=0; }
wx4=1; P0=table1[ge]; delay1(2); wx4=0; //分个位
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0x92; delay1(2); wx6=0; //s
wx7=1; P0=0x87; delay1(2); wx7=0; //t
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
if((K1num==1 )&&(K2num==4))
{
TR1=1;
wx1=1; P0=table[qian]; delay1(2); wx1=0; //时十位
wx2=1; P0=table[bai]+0X80; delay1(2); wx2=0; //时个位,小数点停止不动
wx3=1; P0=table1[shi]+0X80; delay1(2); wx3=0; //分十位,小数点停止不动
if (count2<60)
{wx4=1; P0=table1[ge]; delay1(2); wx4=0; }//分个位
else {wx4=1; P0=0xff; delay1(2); wx4=0; }
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0x92; delay1(2); wx6=0; //s
wx7=1; P0=0x87; delay1(2); wx7=0; //t
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
//闹钟调整显示
if(( K1num==2 )&&(K3num==0))
{
TR1=0;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[n1]; delay1(2); wx3=0; //时十位
wx4=1; P0=table1[n2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0x8E; delay1(2); wx5=0; //F
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[z1]; delay1(2); wx7=0; //分十位
wx8=1; P0=table[z2]; delay1(2); wx8=0; //分个位
}
if (( K1num==2 )&&(K3num==1))
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
if (count2<60)
{wx3=1; P0=table1[n1]; delay1(2); wx3=0;} //时十位
else {wx3=1; P0=0xff; delay1(2); wx3=0;}
wx4=1; P0=table1[n2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0x8E; delay1(2); wx5=0; //F
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[z1]; delay1(2); wx7=0; //分十位
wx8=1; P0=table[z2]; delay1(2); wx8=0; //分个位
}
if(( K1num==2 )&&(K3num==2))
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[n1]; delay1(2); wx3=0; //时十位
if(count2<60)
{wx4=1; P0=table1[n2]; delay1(2); wx4=0;} //时个位
else{wx4=1; P0=0xff; delay1(2); wx4=0;}
wx5=1; P0=0x8E; delay1(2); wx5=0; //F
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[z1]; delay1(2); wx7=0; //分十位
wx8=1; P0=table[z2]; delay1(2); wx8=0; //分个位
}
if (( K1num==2 )&&(K3num==3))
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[n1]; delay1(2); wx3=0; //时十位
wx4=1; P0=table1[n2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0x8E; delay1(2); wx5=0; //F
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
if(count2<60)
{wx7=1; P0=table[z1]; delay1(2); wx7=0;} //分十位
else{wx7=1; P0=0xff; delay1(2); wx7=0;}
wx8=1; P0=table[z2]; delay1(2); ;wx8=0; //分个位
}
if (( K1num==2 )&&(K3num==4))
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[n1]; delay1(2); wx3=0; //时十位
wx4=1; P0=table1[n2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0x8E; delay1(2); wx5=0; //F
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[z1]; delay1(2); wx7=0; //分十位
if(count2<60)
{wx8=1; P0=table[z2]; delay1(2); wx8=0;} //分个位
else{wx8=1; P0=0xff; delay1(2); wx8=0;}
}
//温度调整显示
if( (K1num==3)&&(K4num==0) )
{
TR1=0;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[H1]; delay1(2); wx3=0; //时十位
wx4=1; P0=table1[H2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0xC7; delay1(2); wx5=0; //L
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[L1]; delay1(2); wx7=0; //分十位
wx8=1; P0=table[L2]; delay1(2); wx8=0; //分个位
}
if( (K1num==3)&&(K4num==1) )
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
if(count2<60)
{wx3=1; P0=table1[H1]; delay1(2); wx3=0;} //时十位
else
{wx3=1; P0=0xff; delay1(2); wx3=0;}
wx4=1; P0=table1[H2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0xC7; delay1(2); wx5=0; //L
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[L1]; delay1(2); wx7=0; //分十位
wx8=1; P0=table[L2]; delay1(2); wx8=0; //分个位
}
if( (K1num==3)&&(K4num==2) )
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[H1]; delay1(2); wx3=0; //时十位
if(count2<60)
{wx4=1; P0=table1[H2]; delay1(2); wx4=0;} //时个位
else {wx4=1; P0=0xff; delay1(2); wx4=0;}
wx5=1; P0=0xC7; delay1(2); wx5=0; //L
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[L1]; delay1(2); wx7=0; //分十位
wx8=1; P0=table[L2]; delay1(2); wx8=0; //分个位
}
if( (K1num==3)&&(K4num==3) )
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[H1]; delay1(2); wx3=0; //时十位
wx4=1; P0=table1[H2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0xC7; delay1(2); wx5=0; //L
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
if(count2<60)
{wx7=1; P0=table[L1]; delay1(2); wx7=0;} //分十位
else {wx7=1; P0=0xff; delay1(2); wx7=0;}
wx8=1; P0=table[L2]; delay1(2); wx8=0; //分个位
}
if( (K1num==3)&&(K4num==4) )
{
TR1=1;
wx1=1; P0=0x89; delay1(2); wx1=0; //H
wx2=1; P0=0xBF; delay1(2); wx2=0; //-
wx3=1; P0=table1[H1]; delay1(2); wx3=0; //时十位
wx4=1; P0=table1[H2]; delay1(2); wx4=0; //时个位
wx5=1; P0=0xC7; delay1(2); wx5=0; //L
wx6=1; P0=0xBF; delay1(2); wx6=0; //-
wx7=1; P0=table[L1]; delay1(2); wx7=0; //分十位
if(count2<60)
{wx8=1; P0=table[L2]; delay1(2); wx8=0;} //分个位
else{wx8=1; P0=0xff; delay1(2); wx8=0;}
}
//喇叭开启关闭显示
if( (K1num==4)&&(K5num==0) )
{
TR1=0;
wx1=1; P0=0x92; delay1(2); wx1=0; //S
wx2=1; P0=0x8C; delay1(2); wx2=0; //P
wx3=1; P0=0x81; delay1(2); wx3=0; //A
wx4=1; P0=0xF0; delay1(2); wx4=0; //C
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0xF7; delay1(2); wx6=0; //_
wx7=1; P0=0xF7; delay1(2); wx7=0; //_
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
if( (K1num==4)&&(K5num==1) )
{
TR1=1;
wx1=1; P0=0x92; delay1(2); wx1=0; //S
wx2=1; P0=0x8C; delay1(2); wx2=0; //P
wx3=1; P0=0x81; delay1(2); wx3=0; //A
wx4=1; P0=0xF0; delay1(2); wx4=0; //C
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0xC0; delay1(2); wx6=0; //o
wx7=1; P0=0x8E; delay1(2); wx7=0; //F
wx8=1; P0=0x8E; delay1(2); wx8=0; //F
}
if( (K1num==4)&&(K5num==2) )
{
TR1=1;
wx1=1; P0=0x92; delay1(2); wx1=0; //S
wx2=1; P0=0x8C; delay1(2); wx2=0; //P
wx3=1; P0=0x81; delay1(2); wx3=0; //A
wx4=1; P0=0xF0; delay1(2); wx4=0; //C
wx5=1; P0=0xBF; delay1(2); wx5=0; //-
wx6=1; P0=0xC0; delay1(2); wx6=0; //o
wx7=1; P0=0xC8; delay1(2); wx7=0; //n
wx8=1; P0=0xBF; delay1(2); wx8=0; //-
}
}
////////////////////////////////////////////////////////////////////////////////////
///////////////////按键功能设置/////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
void keycan()
{
/**********模式选择***********/
if( K1==0 ) { K1num++; delay(5);
if( K1==0 ) { while(!K1); bi(350);
if(K1num==5) { K1num=0;bi(650);TR0=1;TR1=0;} } }
if(K1num!=0)
{
if( K2==0 ) { K2num++; K3num++; K4num++; K5num++; delay(5);
if( K2==0 ) { while(!K2);bi(100); TR1=1;
{
if(K2num==5) { K2num=0;bi(400);TR1=0;}
if(K3num==5) { K3num=0;bi(400);TR1=0;}
if(K4num==5) { K4num=0;bi(400);TR1=0;}
if(K5num==3) { K5num=0;bi(400);TR1=0;} }}} }
if(K1num!=0) //加
{
if( K3==0 ) { delay(5);
if( K3==0 ) { while(!K3); bi(100);
if((K1num==1)&&(K2num==1)) { qian++; if(qian==3 ) qian=0; }
if((K1num==1)&&(K2num==2)) { bai++; if( bai==10) bai=0; }
if((K1num==1)&&(K2num==3)) { shi++; if( shi==6 ) shi=0; }
if((K1num==1)&&(K2num==4)) { ge++; if( ge==10) ge=0; }
if((K1num==2)&&(K3num==1)) { n1++; if( n1==3 ) n1=0; }
if((K1num==2)&&(K3num==2)) { n2++; if( n2==10) n2=0; }
if((K1num==2)&&(K3num==3)) { z1++; if( z1==6 ) z1=0; }
if((K1num==2)&&(K3num==4)) { z2++; if( z2==19) z2=0; }
if((K1num==3)&&(K4num==1)) { H1++; if( H1==10) H1=0; }
if((K1num==3)&&(K4num==2)) { H2++; if( H2==10) H2=0; }
if((K1num==3)&&(K4num==3)) { L1++; if( L1==10) L1=0; }
if((K1num==3)&&(K4num==4)) { L2++; if( L2==10) L2=0; }
if((K1num==4)&&(K5num==1)) { BEEP=0; }
} }
if( K4==0 ) { delay(5);
if( K4==0 ) { while(!K4); bi(100);
if((K1num==1)&&(K2num==1)) { qian--; if(qian==-1) qian=2; }
if((K1num==1)&&(K2num==2)) { bai--; if( bai==-1) bai=9; }
if((K1num==1)&&(K2num==3)) { shi--; if( shi==-1) shi=5; }
if((K1num==1)&&(K2num==4)) { ge--; if( ge==-1) ge=9; }
if((K1num==2)&&(K3num==1)) { n1--; if( n1==-1) n1=2; }
if((K1num==2)&&(K3num==2)) { n2--; if( n2==-1) n2=9; }
if((K1num==2)&&(K3num==3)) { z1--; if( z1==-1) z1=5; }
if((K1num==2)&&(K3num==4)) { z2--; if( z2==-1) z2=9; }
if((K1num==3)&&(K4num==1)) { H1--; if( H1==-1) H1=9; }
if((K1num==3)&&(K4num==2)) { H2--; if( H2==-1) H2=9; }
if((K1num==3)&&(K4num==3)) { L1--; if( L1==-1) L1=9; }
if((K1num==3)&&(K4num==4)) { L2--; if( L2==-1) L2=9; }
if((K1num==4)&&(K5num==2)) { bi(); }
}
}
}
}
/////////////////////////////////////////////////////////////
/***********主函数********************/
////////////////////////////////////////////////////////////
void main()
{
BEEP=0;
init1();
init2();
qian=0;bai=6;shi=3;ge=0;miao2=0;miao1=0,H1=H2=L1=L2=2,n1=n2=z1=z2=1;
while(1)
{
ReadTemperature();
keycan();
MODE();
}
畅学电子







