📄 chendp.c
字号:
#define MACOH_C
#include "main.h"
#define set 0xe0
#define left 0xd0
#define down 0xb0
#define up 0x70
#define set3s 0xe1
#define left3s 0xd1
#define set_up 0x61
#define set_down 0xa1
#define ds 0
#define cp 1
#define sh_cp 2
#define scl_set 50
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
unsigned char co[ ] ={33,33,33,33,33,33}; //--------
unsigned char in[ ] ={20,12,12,12,20,1};
unsigned char inm[ ] ={13,54,52,53,52,53};
unsigned char rst[ ] ={20,12,12,24,5,23};
unsigned char so_1[ ] ={12,12,12,12,12,12};
unsigned char psx[ ] ={10,1,12,5,22,10};
unsigned char tr[ ] ={10,10,23,24,10,10};
unsigned char tr_x[ ] ={10,1,12,23,24,10};
unsigned char scl[ ] ={50,12,12,19,15,5};
unsigned char pont[ ] ={10,24,20,21,22,10};
unsigned char ponddd[ ]={0,0,0,0,0,0};
//---------------------------------------------------------------------------------------------------------------------------------------------------------------
unsigned char dhitemp[ ]={0,0,0,0,0,0,0};
unsigned char dlotemp[ ]={0,0,0,0,0,0,0};
unsigned char comtep[ ] ={10,10,10,10,10,10};
unsigned char *v=comtep;
unsigned char *p=dhitemp;
unsigned char *o=dlotemp;
//-----------------------------------------------------------------------------------------------------------------------------------------------------------
long tempcnt;
unsigned int scldata[ ] = {10,5};
unsigned char trdata_x[ ]={1,2,3};
unsigned char trdata, pontdata,resettemp, intemp,inmtemp;
extern long timeset[ ];
extern long Contdata ;
extern unsigned int ti[],ticnt ;
extern unsigned char kt[];
unsigned char tbit=0;
//---------------------------------------------------------------------------------------------------------------------------------------------------
unsigned char table[56]= //------------------------------------------------------------------------
{
/* 0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff, */
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,
// 1--------------------------------------------10 //
0X80, /*. 11*/ 0X40, /*- 12*/ 0X77, /*a 13*/ 0X7c, /*b 14*/ 0X39, /*c 15*/ 0X5e, /*d 16*/
0X79, /*e 17*/ 0X71, /*f 18*/ 0X38, /*l 19*/ 0X54, /*n 20*/ 0X5c, /*o 21*/ 0X73, /*p 22*/
0X50, /*r 23*/ 0X78, /*t 24*/
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x80,0x80,//36
0xbf,0X77,0X7c,0X39,0X5e,0X79,0X71,0X38,0X54,0X5c,0X73,0X50,0X78,0x64,0x76,0xd4,0x88,0x08,0xc0//55
// 1--------------------------------------------10 //
};
//-------------------------------------------------------------------------------------------------------------------------------------------------------
void InitIo(void)
{
CLI();
ACSR = 0X01;
MCUCR = 0x0e;
EMCUCR = 0x00;
GICR = 0xE0;
TCCR1B = 0x00; //stop
TCNT1H = 0xEC; //setup
TCNT1L = 0x78;
OCR1AH = 0x13;
OCR1AL = 0x88;
OCR1BH = 0x13;
OCR1BL = 0x88;
TCCR1A = 0x00;
TCCR1B = 0x02; //start Timer
TIMSK = 0x80;
DDRA = 0xff;
DDRB = 0x00;
DDRC = 0xff;
DDRD = 0x00;
DDRE = 0x00;
PORTA = 0xff;
PORTB = 0xff;
PORTD = 0xff;
PORTC = 0x00;
PORTE = 0xFF;
pontdata = EEPROMread(0x10);
resettemp = EEPROMread(0x11);
intemp = EEPROMread(0x12);
trdata = EEPROMread(0x13);
inmtemp = EEPROMread(0x14);
EEPROM_READ(0x20,scldata);
EEPROM_READ(0x30,trdata_x);
EEPROM_READ(0x40,timeset[0]);
EEPROM_READ(0x50,timeset[1]);
EEPROM_READ(0x60,timeset[2]);
EEPROM_READ(0x93,Contdata);
sandchar_display(co,co);
display_flash(135,0,1);
SEI();
/*WDR();
WDTCR = 0x1f;
WDTCR = 0x0f;*/
}
//---------------------------------------------------------------------------------------------------------
void menu(void)
{
unsigned char pontmp,timebit, fbit,cbit,tdbit;
unsigned char reset_m,in_m,intm_m,key=0;
pontmp=pontdata;
fbit=0; cbit=0 ; tdbit=0; timebit=0;
key=GetKey();
switch (key)
{
case set:
sandcnd_display(psx,timeset[0],0);
while(1)
{
o=psx;
o[1]=1;
key=display_flash(fbit,cbit,2);
switch (key)
{
case set:
if(fbit==2)
{
timeset[0]=process_add();
EEPROM_WRITE(0x40,timeset[0]);
fbit=0;
}
else
{
pontdata=1;
sandcnd_display(tr,trdata_x[0],1);
while(1)
{//-------------------------------------------------------------------------------trdata
o=tr;
key=display_flash(fbit,cbit,2);
pontdata=pontmp;
switch (key)
{
case set:
if(fbit==2)
{
trdata=0;
trdata+= ((p[1]-25)*10);
trdata+= p[0];
trdata_x[0]=trdata;
EEPROM_WRITE(0x30,trdata_x);
fbit=0;
}
else
while(1)
{//----------------------------------------------------------------pont
sandchar_display(pont,ponddd);
ponddd[cbit]+=25;
key=display_flash(fbit,cbit,2);
ponddd[cbit]-=25;
switch (key)
{
case left:
fbit=2;
if(cbit<5) {cbit++;}
else {cbit=0;}
break;
case set:
if(fbit==2)
{
pontdata=cbit;
ponddd[cbit]=0;
EEPROMwrite(0x10,pontdata);
fbit=100;
}
else return ;
break;
case set3s:
goto menu2;
}
}
break;
case up:
if(fbit==2)
{
if(cbit==1) p[cbit]-=25;
if(p[cbit]<9) p[cbit]++;
else p[cbit]=0;
if(cbit==1) p[cbit]+=25;
}
break;
case down:
if(fbit==2)
{
if(cbit==1) p[cbit]-=25;
if(p[cbit]>0) p[cbit]--;
else p[cbit]=9;
if(cbit==1) p[cbit]+=25;
}
break;
case left:
fbit=2;
if(cbit<1) cbit++;
else cbit=0;
break;
case set3s:
goto menu2;
} //---------------------------------------------------------------------trdata
}
}
break;
case up:
if(fbit==2)
{
if(p[cbit]<9) p[cbit]++;
else p[cbit]=0;
}
break;
case down:
if(fbit==2)
{
if(p[cbit]>0) p[cbit]--;
else p[cbit]=9;
}
break;
case left:
fbit=2;
if(cbit<5) cbit++;
else cbit=0;
break;
case set3s:
goto menu2;
}
}//--------------------------------------------------------------------------------------------------------------------------------------------------------2222222
break;
case set3s:
menu2:
while(1)
{
psxsetmu2:
if(fbit!=2) sandcnd_display(psx,timeset[tdbit],0);
o=psx;
o[1]=tdbit+1;
key=display_flash(fbit,cbit,2);
switch (key)
{
case set:
if(fbit==2)
{
timeset[tdbit]=process_add();
EEPROM_WRITE(0x40,timeset[0]);
EEPROM_WRITE(0x50,timeset[1]);
EEPROM_WRITE(0x60,timeset[2]);
fbit=0;
}
else
{
if(tdbit==2)
{ tdbit=0;
while (1)
{
pontmp=pontdata;
pontdata=1;
sandcnd_display(tr_x,trdata_x[tdbit],1);
o[1]=tdbit+1;
key=display_flash(fbit,cbit,2);
pontdata=pontmp;
switch (key)
{//------------------------------------2-2-22-2-2
case set:
if(fbit==2)
{
trdata=0;
trdata+= ((p[1]-25)*10);
trdata+= p[0];
trdata_x[tdbit]=trdata;
EEPROM_WRITE(0x30,trdata_x);
fbit=0; }
else
{
if(tdbit==2)
{
while (1)
{//------------------------------------------------------------scl
if(fbit!=2){sandcnd_display(scl,scldata[0],0);
o=scl;
o[0]=scl_set;
key=display_flash(fbit,cbit,2);
switch (key)
{
case set:
if(fbit==2)
{
scldata[scl_set-50]=process_add();
EEPROM_WRITE(0x20,scldata);
fbit=100;
}
else {if(tdbit<2) tdbit++;
else
{ tdbit=0;
reset_m=resettemp;
in_m=intemp ;
intm_m=inmtemp;
while(1)
{
sandchar_display(in,inm);
p[0]=intm_m+13;
o[0]=in_m+13;
key=display_flash(fbit,0,2); //11111111
switch (key)
{
case set:
if(fbit==2)
{
inmtemp=intm_m;
intemp=in_m;
EEPROMwrite(0x14,inmtemp );
EEPROMwrite(0x12,intemp);
fbit=0;
}
else while (1)
{
sandchar_display(rst,comtep);
o[0]=reset_m+13;
key=display_flash(fbit,0,2);
switch (key)
{
case up:
if(fbit==2)
{
if(reset_m<2) reset_m++;
else reset_m=0;
}
break;
case left:
fbit=2;
break;
case set:
if(fbit==2)
{
resettemp=reset_m;
EEPROMwrite(0x11,resettemp);
fbit=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -