📄 led.c
字号:
function=1;
lcd_page=2;
}
void log_control()
{
gotoxy(0x00,0x00);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab1,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
function=0;
lcd_page=1;
}
void remote_control()
{
gotoxy(0x00,0x20);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab3,180);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
function=0;
lcd_page=3;
}
void up_temp_control()
{ char delta;
real_temp=show[0]*10+show[1];
dest_temp=dest_tem[0]*10+dest_tem[1];
delta=dest_temp-real_temp;
if(delta>2)
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab8,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
else if ((delta<2))
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab9,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
}
void up_temp()
{
uint i;
gotoxy(0x00,0x00);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab4,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
gotoxy(0x0a,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_tem[i]+0x30);
lcd_regwrite(0x12,0x90);
}
gotoxy(0x11,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_humid[i]+0x30);
lcd_regwrite(0x12,0x90);
}
function=2;
lcd_page=2;
}
void down_temp_control()
{ char delta;
real_temp=show[0]*10+show[1];
dest_temp=dest_tem[0]*10+dest_tem[1];
delta=real_temp-dest_temp;
if(delta>2)
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab10,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
else if ((delta<2))
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab11,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
}
void down_temp()
{
uint i;
gotoxy(0x00,0x00);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab5,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
gotoxy(0x0a,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_tem[i]+0x30);
lcd_regwrite(0x12,0x90);
}
gotoxy(0x11,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_humid[i]+0x30);
lcd_regwrite(0x12,0x90);
}
function=3;
lcd_page=2;
}
void up_humidity_control()
{ char delta;
real_humidity=humidity[0]*10+humidity[1];
dest_humidity=dest_humid[0]*10+dest_humid[1];
delta=dest_humidity-real_humidity;
if(delta>2)
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab12,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
else if ((delta<2))
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab13,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
}
void up_humidity()
{
uint i;
gotoxy(0x00,0x00);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab6,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
gotoxy(0x0a,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_tem[i]+0x30);
lcd_regwrite(0x12,0x90);
}
gotoxy(0x11,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_humid[i]+0x30);
lcd_regwrite(0x12,0x90);
}
function=4;
lcd_page=2;
}
void down_humidity_control()
{ char delta ;
real_humidity=humidity[0]*10+humidity[1];
dest_humidity=dest_humid[0]*10+dest_humid[1];
delta=real_humidity-dest_humidity;
if(delta>2)
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab14,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
else if ((delta<2))
{
gotoxy(0x00,0x60);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab15,30);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
}
}
void down_humidity()
{
uint i;
gotoxy(0x00,0x00);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab7,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
gotoxy(0x0a,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_tem[i]+0x30);
lcd_regwrite(0x12,0x90);
}
gotoxy(0x11,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_humid[i]+0x30);
lcd_regwrite(0x12,0x90);
}
function=5;
lcd_page=2;
}
void change_control()
{
;
}
void change()
{
uint i;
gotoxy(0x00,0x00);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab16,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
gotoxy(0x0a,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_tem[i]+0x30);
lcd_regwrite(0x12,0x90);
}
gotoxy(0x11,0x50);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(dest_humid[i]+0x30);
lcd_regwrite(0x12,0x90);
}
function=6;
lcd_page=2;
}
void incre_temp()
{
uint i;
temp[1]++;
if(temp[1]>9){temp[0]++;temp[1]=0;}
if(temp[0]>=5){temp[0]=5;temp[1]=0;}
gotoxy(0x0a,0x20);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(temp[i]+0x30);
lcd_regwrite(0x12,0x90);
}
lcd_page=2;
}
void decre_temp()
{
uint i;
temp[1]--;
if(temp[1]<0){temp[0]--;temp[1]=9;}
if(temp[0]<=0){temp[0]=0;temp[1]=0;}
gotoxy(0x0a,0x20);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(temp[i]+0x30);
lcd_regwrite(0x12,0x90);
}
lcd_page=2;
}
void incre_humidity()
{
uint i;
humidity[1]++;
if(humidity[1]>9){humidity[0]++;humidity[1]=0;}
if(humidity[0]>=10){humidity[0]=9;humidity[1]=9;}
gotoxy(0x0a,0x30);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(humidity[i]+0x30);
lcd_regwrite(0x12,0x90);
}
lcd_page=2;
}
void decre_humidity()
{
uint i;
humidity[1]--;
if(humidity[1]<0){humidity[0]--;humidity[1]=9;}
if(humidity[0]<=0){humidity[0]=0;humidity[1]=0;}
gotoxy(0x0a,0x30);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(humidity[i]+0x30);
lcd_regwrite(0x12,0x90);
}
lcd_page=2;
}
void incre_out_humidity()
{
uint i;
out_humidity[1]++;
if(out_humidity[1]>9){out_humidity[0]++;out_humidity[1]=0;}
if(out_humidity[0]>=10){out_humidity[0]=9;out_humidity[1]=9;}
gotoxy(0x0a,0x40);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(out_humidity[i]+0x30);
lcd_regwrite(0x12,0x90);
}
lcd_page=2;
}
void decre_out_humidity()
{
uint i;
out_humidity[1]--;
if(out_humidity[1]<0){out_humidity[0]--;out_humidity[1]=9;}
if(out_humidity[0]<=0){out_humidity[0]=0;out_humidity[1]=0;}
gotoxy(0x0a,0x40);
for(i=0;i<2;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(out_humidity[i]+0x30);
lcd_regwrite(0x12,0x90);
}
lcd_page=2;
}
uchar touch_confirm(uint x,uint y)
{
uchar key_status=0;
if ((x>150)&&(x<250)&&(y>150)&&(y<250) ) key_status=1;
else if ((x>630)&&(x<670)&&(y>380)&&(y<430) ) key_status=2;
else if ((x>550)&&(x<600)&&(y>480)&&(y<550) ) key_status=3;
else if ((x>480)&&(x<530)&&(y>480)&&(y<550) ) key_status=4;
else if ((x>400)&&(x<450)&&(y>480)&&(y<550) ) key_status=5;
else if ((x>300)&&(x<350)&&(y>480)&&(y<550) ) key_status=6;
else if ((x>200)&&(x<250)&&(y>480)&&(y<550) ) key_status=7;
else if ((x>150)&&(x<200)&&(y>480)&&(y<550) ) key_status=14;
else if ((x>550)&&(x<600)&&(y>400)&&(y<450) ) key_status=8;
else if ((x>550)&&(x<600)&&(y>300)&&(y<350) ) key_status=9;
else if ((x>450)&&(x<500)&&(y>400)&&(y<450) ) key_status=10;
else if ((x>450)&&(x<500)&&(y>300)&&(y<350) ) key_status=11;
else if ((x>380)&&(x<430)&&(y>400)&&(y<450) ) key_status=12;
else if ((x>380)&&(x<430)&&(y>300)&&(y<350) ) key_status=13;
return(key_status);
}
void key_control(uchar status)
{
switch(status)
{
case 1:{switch(lcd_page)
{
case 1:{auto_perform();break;}
case 2:
case 3:{log_control();break;}
}
break; }
case 2: {switch(lcd_page)
{
case 2:{remote_control();break;}
}
break; }
case 3:{switch(lcd_page)
{
case 3:{auto_perform();break;}
}
break; }
case 4:{switch (lcd_page)
{
case 3:{up_temp();break;}
}
break; }
case 5:{switch(lcd_page)
{
case 3:{down_temp();break;}
}
break; }
case 6: {switch(lcd_page)
{
case 3:{up_humidity();break;}
}
break; }
case 7:{switch(lcd_page)
{
case 3:{down_humidity();break;}
}
break; }
case 14:{switch(lcd_page)
{
case 3:{change();break;}
}
break; }
case 8:{switch(lcd_page)
{
case 2:{incre_temp();break;}
}
break; }
case 9:{switch (lcd_page)
{
case 2:{decre_temp();break;}
}
break; }
case 10:{switch (lcd_page)
{
case 2:{incre_humidity();break;}
}
break; }
case 11:{switch(lcd_page)
{
case 2:{decre_humidity();break;}
}
break; }
case 12:{switch (lcd_page)
{
case 2:{incre_out_humidity();break;}
}
break; }
case 13:{switch(lcd_page)
{
case 2:{decre_out_humidity();break;}
}
break; }
default:break;
}
}
//.............................................
void get_touch(void) small
{
uchar reg_rddata,i;
uint touchx,touchy,key_status;
lcd_regwrite(0xc0,0xc0); //TOUCH ON
// if((touch_test() & 0x40))
{
while(!(lcd_regread(0xc1) & 0x80))
delay1(1);
touchy = touch_y();
touchx = touch_x();
// if((touchy<900)&&(touchy>100)&&(touchx<900)&&(touchx>100))
{
// key_status=touch_confirm(touchx,touchy);
// key_control(key_status);
/* gotoxy(0x18,0x50);
lcd_regwrite(0x12,0x91);
lcd_datawrite(key_status+0x30);
lcd_regwrite(0x12,0x90);
gotoxy(0x18,0x60);
lcd_regwrite(0x12,0x91);
lcd_datawrite(lcd_page+0x30);
lcd_regwrite(0x12,0x90); */
// auto_control();
tabx[0] = touchx/1000;
tabx[1] = (touchx%1000)/100;
tabx[2] = ((touchx%1000)%100)/10;
tabx[3] = ((touchx%1000)%100)%10;
taby[0] = touchy/1000;
taby[1] = (touchy%1000)/100;
taby[2] = ((touchy%1000)%100)/10;
taby[3] = ((touchy%1000)%100)%10;
/* reg_rddata = lcd_regread(0x10);
reg_rddata |= 0x10;
lcd_regwrite(0x10,reg_rddata); */
gotoxy(0x10,0x70);
for(i=0;i<4;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(tabx[i]+0x30);
lcd_regwrite(0x12,0x90);
}
gotoxy(0x14,0x70);
for(i=0;i<4;i++)
{
lcd_regwrite(0x12,0x91);
lcd_datawrite(taby[i]+0x30);
lcd_regwrite(0x12,0x90);
}
/* reg_rddata = lcd_regread(0x10);
reg_rddata &= 0xef;
lcd_regwrite(0x10,reg_rddata); */
// delay1 (240);
}
// lcd_regwrite(0xc0,0x00); //TOUCH OFF
}
}
//=============================================
void main (void)
{
SP=0x60;
P0=0xff;
P1=0xff;
P2=0xff;
P3=0xff;
// delay1(1000) ;
lcd_reset();
// P0=0xff;
lcd_initial();
// delay1(2000);
lcd_clear();
delay1(20);
lcd_regwrite(0x10,0x2b);
// delay1(5);
lcd_regwrite(0x00,0xcd);
gotoxy(0x00,0x00);
delay1(5);
lcd_regwrite(0x12,0x91); // memory access mode register(awrr)
lcd_character(tab2,240);
lcd_regwrite(0x12,0x90); // memory access mode register(awrr)
lcd_page=1;
// delay1(5000);
while(1)
{
// gettemp();
get_touch();
/* if(lcd_page==2)
{
switch (function)
{case 1:{auto_perform_control();break;}
case 2:{up_temp_control();break;}
case 3: {down_temp_control();break;}
case 4: {up_humidity_control();break;}
case 5: {down_humidity_control();break;}
case 6:{change_control();break;}
}
} */
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -