📄 gui.c
字号:
{
string_display_code(0,str1,0x00,0x31);
while(!key_flag) //如果无键按下,等待
{
}
key_flag=0;
readregister(keyvalue); //如果有键按下,读键
temp=keyvalue[0]&0x0f;
if(temp==0x0c)//cancel 键
{
clrtext();
string_display_code(0,str2,0x00,0x31);
while(!key_flag) //如果无键按下,等待
{
}
key_flag=0;
readregister(keyvalue); //如果有键按下,读键
temp=keyvalue[0]&0x0f;
switch(temp)
{
case 0x00:
{ clrtext();
ds18b20_1_dis=1;
ds18b20_2_dis=0;
ds18b20_3_dis=0;
ds18b20_4_dis=0;
break;
}
case 0x01:
{ clrtext();
ds18b20_1_dis=0;
ds18b20_2_dis=1;
ds18b20_3_dis=0;
ds18b20_4_dis=0;
break;
}
case 0x02:
{ clrtext();
ds18b20_1_dis=0;
ds18b20_2_dis=0;
ds18b20_3_dis=1;
ds18b20_4_dis=0;
break;
}
case 0x04:
{ clrtext();
ds18b20_1_dis=0;
ds18b20_2_dis=0;
ds18b20_3_dis=0;
ds18b20_4_dis=1;
break;
}
default:
break;
}
}
else
if(temp==0x0f)//ok 键
{
ds18b20_1_dis=1;
ds18b20_2_dis=1;
ds18b20_3_dis=1;
ds18b20_4_dis=1;
clrtext();
}
else
{
clrtext();
continue;
}
while(!key_flag)
{
channel_display();
}
}
}
//AD转换
void AD_Disp(void)
{
uint data ad_value;
float data var1;
uchar data buf[10];
uchar code *str="The AD value is:";
clrgraphic();
string_display_code(0,str,0x00,0x31);
while(!key_flag)
{
ad_value=spi_transition();
lct1451_transition(ad_value);
var1=(float)(ad_value*ad_vref/4096);
sprintf(buf,"%f",var1);
string_display(buf,0x10,0x31);
}
}
//
void CaculatorDisp(void)
{
}
//
void TimeDisp(void)
{
clrgraphic();
while(!key_flag)
{
//display_time(0x00,0x31);
//display_year(0x03,0x32);
time_display();
}
}
//
void time_init(void)
{
TMOD=0x02;
TH0=6;
TL0=6;
ET0=1;
TR0=1;
}
//
void time0_int(void) interrupt 1 using 1
{
if(time_count==100)
{
time_count=0;
timeout=1;
}
else
time_count++;
}
void channel_display(void)
{ uchar xdata ds18b20_data[4];
uchar data i;
uchar ds18b20_num1[8]={0xfd,0x00,0x00,0x00,0xb8,0xc5,0x45,0x28};
uchar ds18b20_num2[8]={0x8e,0x00,0x00,0x00,0xb8,0xc5,0x30,0x28};
uchar ds18b20_num3[8]={0xb9,0x00,0x00,0x00,0xb8,0xc5,0x31,0x28};
uchar ds18b20_num4[8]={0xe0,0x00,0x00,0x00,0xb8,0xc5,0x32,0x28};
uchar code *str1="ds18b20_1 :temperature is:";
uchar code *str2="ds18b20_2 :temperature is:";
uchar code *str3="ds18b20_3 :temperature is:";
uchar code *str4="ds18b20_4 :temperature is:";
if(timeout)
{
timeout=0;
if(ds18b20_1_dis)
{
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44);
//ds18b20_init();
//ds18b20_writecommand(0xcc);
//ds18b20_writecommand(0xbe);
delay(500);
match_rom(ds18b20_num1); //匹配第一路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
ds18b20_data[i]=ds18b20_readdata();
}
if(ds18b20_data[0]!=ds18b20_data[2]||ds18b20_data[1]!=ds18b20_data[3]) // 是或
{
ds18b20_data[2]=ds18b20_data[0];
ds18b20_data[3]=ds18b20_data[1];
temperature_process(ds18b20_data[2],ds18b20_data[3]);
string_display_code(0,str1,0x00,0x31);
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
if(!ds18b20_flag) //正
{
string_display(zhen_temp,0x1a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x1e,0x31);
}
}
else //负
{
set_point(SET_ADDRESS_POINTER,0x19,0x31);
text_display('-');
string_display(zhen_temp,0x1a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x1e,0x31);
}
}
}
}
if(ds18b20_2_dis)
{
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44);
//ds18b20_init();
//ds18b20_writecommand(0xcc);
//ds18b20_writecommand(0xbe);
delay(500);
match_rom(ds18b20_num2); //匹配第二路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
ds18b20_data[i]=ds18b20_readdata();
}
if(ds18b20_data[0]!=ds18b20_data[2]||ds18b20_data[1]!=ds18b20_data[3]) // 是或
{
//clrtext();
ds18b20_data[2]=ds18b20_data[0];
ds18b20_data[3]=ds18b20_data[1];
temperature_process(ds18b20_data[2],ds18b20_data[3]);
string_display_code(0,str2,0x20,0x31);
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
if(!ds18b20_flag) //正
{
string_display(zhen_temp,0x3a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x3e,0x31);
}
}
else //负
{
set_point(SET_ADDRESS_POINTER,0x39,0x31);
text_display('-');
string_display(zhen_temp,0x3a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x3e,0x31);
}
}
}
}
if(ds18b20_3_dis)
{
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44);
//ds18b20_init();
//ds18b20_writecommand(0xcc);
//ds18b20_writecommand(0xbe);
delay(500);
match_rom(ds18b20_num3); //匹配第三路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
ds18b20_data[i]=ds18b20_readdata();
}
if(ds18b20_data[0]!=ds18b20_data[2]||ds18b20_data[1]!=ds18b20_data[3]) // 是或
{
//clrtext();
ds18b20_data[2]=ds18b20_data[0];
ds18b20_data[3]=ds18b20_data[1];
temperature_process(ds18b20_data[2],ds18b20_data[3]);
string_display_code(0,str3,0x40,0x31);
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
if(!ds18b20_flag) //正
{
string_display(zhen_temp,0x5a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x5e,0x31);
}
}
else //负
{
set_point(SET_ADDRESS_POINTER,0x59,0x31);
text_display('-');
string_display(zhen_temp,0x5a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x5e,0x31);
}
}
}
}
if(ds18b20_4_dis)
{
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44);
//ds18b20_init();
//ds18b20_writecommand(0xcc);
//ds18b20_writecommand(0xbe);
delay(500);
match_rom(ds18b20_num4); //匹配第四路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
ds18b20_data[i]=ds18b20_readdata();
}
if(ds18b20_data[0]!=ds18b20_data[2]||ds18b20_data[1]!=ds18b20_data[3]) // 是或
{
//clrtext();
ds18b20_data[2]=ds18b20_data[0];
ds18b20_data[3]=ds18b20_data[1];
temperature_process(ds18b20_data[2],ds18b20_data[3]);
string_display_code(0,str4,0x60,0x31);
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
text_display(' ');
if(!ds18b20_flag) //正
{
string_display(zhen_temp,0x7a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x7e,0x31);
}
}
else //负
{
set_point(SET_ADDRESS_POINTER,0x79,0x31);
text_display('-');
string_display(zhen_temp,0x7a,0x31);
if(dot_dis)
{
text_display('.'); // ,0x00,0x00
string_display(xiaoshu_temp,0x7e,0x31);
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -