📄 signal.c
字号:
unsigned char length;
length = 8;
if ((col+length) < MAXCOL)
{
LCDWriteCom1(col);
LCDWriteCom1(0xb8|(i&3)); //设定显示页
for(j=col; j<col+length; j++)
LCDWriteDat1( 0xff-(*(pdat+(j-col))) );
return;
}
if (((col+length) >= MAXCOL)&&(col<MAXCOL))
{
LCDWriteCom1(col);
LCDWriteCom1(0xb8|(i&3)); //设定显示页
for(j=col; j<MAXCOL; j++)
LCDWriteDat1(0xff-(*(pdat+(j-col))) );
LCDWriteCom2(0);
LCDWriteCom2(0xb8|(i&3)); //设定显示页
for(j=0; j<MAXCOL; j++)
{
LCDWriteDat2(0xff-(*(pdat+(MAXCOL-col+j))) );
if ((MAXCOL-col+j) >= length)
break;
}
return;
}
else
{
LCDWriteCom2(col-MAXCOL);
LCDWriteCom2(0xb8|(i&3)); //设定显示页
for(j=col-MAXCOL; j<MAXCOL; j++)
{
LCDWriteDat2(0xff-(*(pdat+(j-col+MAXCOL))) );
if ((j-col+MAXCOL) >= length)
break;
}
}
}
//反字符串显示
void LcdTextOut_Opposition(char col, char page, char *string)
{
char charp;
int length;
char scol;
charp = 0;
length = strlen(string);
for (scol=col; scol<120; scol+=8)
{
LCDDrawDatM2_Opposition( scol, page, CharTable+(*(string+charp)*8) );
charp++;
if (charp >= length)
break;
}
}
//字符串显示
void LcdTextOut(char col, char page, char *string)
{
char charp;
int length;
char scol;
charp = 0;
length = strlen(string);
for (scol=col; scol<120; scol+=8)
{
LCDDrawDatM2( scol, page, CharTable+(*(string+charp)*8) );
charp++;
if (charp >= length)
break;
}
}
void LCDTextOutChar( char col, char page, unsigned char d )
{
LCDDrawDatM2( col, page, CharTable+d*8 );
}
*/
void signal(unsigned int dat)
{
switch(dat)
{
case 1:LcdTextOut(1, 1,"SIGNAL: HDTV1");break;//1
case 3:LcdTextOut(1, 1,"SIGNAL: HDTV2");break;//2
case 5:LcdTextOut(1, 1,"SIGNAL: HDTV3");break;//3
case 7:LcdTextOut(1, 1,"SIGNAL: COLOR");break;//4
case 9:LcdTextOut(1, 1,"SIGNAL: STEP ");break;//5
case 11:LcdTextOut(1, 1,"SIGNAL: GRID ");break;//6
case 13:LcdTextOut(1, 1,"SIGNAL: RED ");break;//7
case 15:LcdTextOut(1, 1,"SIGNAL: GREEN");break;//8
case 17:LcdTextOut(1, 1,"SIGNAL: BLUE ");break;//9
case 2:LcdTextOut(1, 1,"SIGNAL: 50HDTV1");break;
case 4:LcdTextOut(1, 1,"SIGNAL: 50HDTV2");break;
case 6:LcdTextOut(1, 1,"SIGNAL: 50HDTV3");break;
case 8:LcdTextOut(1, 1,"SIGNAL: 50COLOR");break;
case 10:LcdTextOut(1, 1,"SIGNAL: 50STEP ");break;
case 12:LcdTextOut(1, 1,"SIGNAL: 50GRID ");break;
case 14:LcdTextOut(1, 1,"SIGNAL: 50RED ");break;
case 16:LcdTextOut(1, 1,"SIGNAL: 50GREEN");break;
case 18:LcdTextOut(1, 1,"SIGNAL: 50BLUE ");break;
}
}
void output(unsigned int dat)
{
unsigned int mm;
mm=dat;
switch(mm)
{case 1:LcdTextOut(1, 3,"OUTPUT:NTSC Y/C ");break;
case 2:LcdTextOut(1, 3,"OUTPUT: NTSC ");break;
case 3:LcdTextOut(1, 3,"OUTPUT: PAL Y/C ");break;
case 4:LcdTextOut(1, 3,"OUTPUT: PAL ");break;
case 5:LcdTextOut(1, 3,"OUTPUT: 480P ");break;
case 6:LcdTextOut(1, 3,"OUTPUT: 720P ");break;
case 7:LcdTextOut(1, 3,"OUTPUT: 1080I ");break;
}
}
void lcd_sig1(char top_bottom)
{
switch(top_bottom)
{
case 1:LcdTextOut(1, page,"HDTV1");LcdTextOut(61, page,"50HDTV1");page++;break;//1
case 2:LcdTextOut(1, page,"HDTV2");LcdTextOut(61, page,"50HDTV2");page++;break;//2
case 3:LcdTextOut(1, page,"HDTV3");LcdTextOut(61, page,"50HDTV3");page++;break;//3
case 4:LcdTextOut(1, page,"COLOR");LcdTextOut(61, page,"50COLOR");page++;break;//4
case 5:LcdTextOut(1, page,"STEP ");LcdTextOut(61, page,"50STEP ");page++;break;//5
case 6:LcdTextOut(1, page,"GRID ");LcdTextOut(61, page,"50GRID ");page++;break;//6
case 7:LcdTextOut(1, page,"RED ");LcdTextOut(61, page,"50RED ");page++;break;//7
case 8:LcdTextOut(1, page,"GREEN");LcdTextOut(61, page,"50GREEN");page++;break;//8
case 9:LcdTextOut(1, page,"BLUE ");LcdTextOut(61, page,"50BLUE ");page++;break;//9
}
}
void lcd_sig2(char temp,char page)
{
if(left_right==0)
{
switch(temp)
{
case 1:LcdTextOut_Opposition(1, page,"HDTV1");break;//1
case 2:LcdTextOut_Opposition(1, page,"HDTV2");break;//2
case 3:LcdTextOut_Opposition(1, page,"HDTV3");break;//3
case 4:LcdTextOut_Opposition(1, page,"COLOR");break;//4
case 5:LcdTextOut_Opposition(1, page,"STEP ");break;//5
case 6:LcdTextOut_Opposition(1, page,"GRID ");break;//6
case 7:LcdTextOut_Opposition(1, page,"RED ");break;//7
case 8:LcdTextOut_Opposition(1, page,"GREEN");break;//8
case 9:LcdTextOut_Opposition(1, page,"BLUE ");break;//9
}
}
else {
switch(temp)
{
case 1:LcdTextOut_Opposition(61, page,"50HDTV1");break;
case 2:LcdTextOut_Opposition(61, page,"50HDTV2");break;
case 3:LcdTextOut_Opposition(61, page,"50HDTV3");break;
case 4:LcdTextOut_Opposition(61, page,"50COLOR");break;
case 5:LcdTextOut_Opposition(61, page,"50STEP ");break;
case 6:LcdTextOut_Opposition(61, page,"50GRID ");break;
case 7:LcdTextOut_Opposition(61, page,"50RED ");break;
case 8:LcdTextOut_Opposition(61, page,"50GREEN");break;
case 9:LcdTextOut_Opposition(61, page,"50BLUE ");break;
}
}
}
void selectsig(unsigned char mm)
{
unsigned char temp;
if(sig==mm){}
else if(sig>mm)
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
temp=sig-mm;back(1);goup(temp);okok(1);
delay(80000);P1_1=1;P2_7=1;sig=mm;
}
else if(sig<mm)
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
temp=mm-sig;back(1);down(temp);okok(1);
delay(80000);P1_1=1;P2_7=1;sig=mm;
}
}
void lcdsignal()
{
char i;
page=0;
if(*bottom>*top)
{
for(i=*top;i<=*top+3;i++)
{ lcd_sig1(i);}
}
else if(*bottom<*top)
{
for(i=*top;i<=9;i++)
{ lcd_sig1(i);}
for(i=1;i<=*bottom;i++)
{ lcd_sig1(i);}
}
page=0;
if(left_right==1){
if(lcdtemp>=*top){page=lcdtemp-*top;}
else {page=3-(*bottom-lcdtemp);}
lcd_sig2(lcdtemp,page);
}
else {
if(lcdtemp>=*top){page=lcdtemp-*top;}
else {page=3-(*bottom-lcdtemp);}
lcd_sig2(lcdtemp,page);
}
}
void signalcontrol()
{
char key;
while(1)
{
if(count==0){count=1;if(left_right==1){right=1;runflag=1;}
LCDClear();lcdsignal();}
else if(count==111){break;}
key=Key_Scan();
j++;if(j>150000){j=0;count=111;}
switch(key)
{
case key_up:
if( (*top==1)&&(lcdtemp==1) ){top=buf+8;lcdtemp=9;if(*bottom==1){bottom=buf+8;}
else bottom--;}
else if( (*top==1)&&(*bottom==4)&&(lcdtemp!=1) ) {lcdtemp--;}
else if( (*top>*bottom)&&(lcdtemp==*top) ){top--;lcdtemp--;if(*bottom==1){bottom=buf+8;}
else bottom--;}
else if( (*top>*bottom)&&(lcdtemp!=*top) ){if(lcdtemp==1){lcdtemp=9;}
else lcdtemp--;}
else if(*top==lcdtemp){lcdtemp--;bottom--;top--;}
else {if(lcdtemp==1){lcdtemp=9;}
else {lcdtemp--;}
}
break;
case key_down:
if( (*bottom==9)&&(lcdtemp==9) ){bottom=buf;lcdtemp=1;if(*top==9){top=buf;}
else top++;}
else if( (*bottom==9)&&(*top==6)&&(lcdtemp==6) ){lcdtemp++;}
else if( (*top>*bottom)&&(*bottom==lcdtemp) ){bottom++;lcdtemp++;if(*top==9){top=buf;}
else top++;}
else if( (*top>*bottom)&&(*bottom!=lcdtemp) ){if(lcdtemp==9){lcdtemp=1;}
else lcdtemp++;}
else if(*bottom==lcdtemp){lcdtemp++;bottom++;top++;}
else {if(lcdtemp==9){lcdtemp=1;}
else {lcdtemp++;}
}
break;
case key_left:
left_right=~left_right;
break;
case key_right:
left_right=~left_right;
break;
case key_ok: count=111;
if(left_right==0){ww=lcdtemp*2-1;}
else {ww=lcdtemp*2;}
selectsig(ww);
break;
case key_back:count=111;
break;
}
}
}
void outputcontrol1()
{
if(out==1){}
else if( (out==5)||(out==6)||(out==7) )
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);
goright(1);
down(3);ok(1);down(1);goright(1);
ok(1);abc();
hello(sig);out=1;
delay(80000);P1_1=1;P2_7=1;
}
else if(out==2||out==3||out==4)
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);down(2);goright(1);
ok(1);abc();
hello(sig);out=1;
delay(80000);P1_1=1;P2_7=1;
}
}
void outputcontrol2()
{
if(out==2){}
else if( (out==5)||(out==6)||(out==7) )
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);
goright(1);
down(3);ok(1);down(1);goright(1);
ok(1);abc();
hello(sig);out=2;
delay(80000);P1_1=1;P2_7=1;
}
else if(out==1||out==3||out==4)
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);down(2);goright(1);down(1);
ok(1);abc();
hello(sig);out=2;
delay(80000);P1_1=1;P2_7=1;
}
}
void outputcontrol3()
{
if(out==3){}
else if( (out==5)||(out==6)||(out==7) )
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);
goright(1);
down(3);ok(1);down(1);goright(1);
down(4);goup(1);
ok(1);abc();
hello(sig);out=3;
delay(80000);P1_1=1;P2_7=1;
}
else if(out==1||out==2||out==4)
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);down(2);goright(1);
down(4);goup(1);
ok(1);abc();
hello(sig);out=3;
delay(80000);P1_1=1;P2_7=1;
}
}
void outputcontrol4()
{
if(out==4){}
else if( (out==5)||(out==6)||(out==7) )
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);
goright(1);
down(3);ok(1);down(1);goright(1);
down(4);
ok(1);abc();
hello(sig);out=4;
delay(80000);P1_1=1;P2_7=1;
}
else if(out==1||out==2||out==3)
{
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();down(1);goright(1);down(2);goright(1);
down(4);
ok(1);abc();
hello(sig);out=4;
delay(80000);P1_1=1;P2_7=1;
}
}
void outputcontrol5()
{
if(out==5){}
else {
P2_7=0;P1_1=0;
LCDClear();LcdTextOut(10, 2,"Loading....");
abc();
down(1);
goright(1);
down(1);
goright(1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -