📄 ks0108.c
字号:
{
char i;
InitLCD();
DispBmp1(classroom);
for (i=0;i<64;i++)
{
Delay1ms(50);
LCD_WriteCommand1(0xc0+i%64); //设置起始行,实现向上滚动
LCD_WriteCommand2(0xc0+i%64);
}
Delay1s(1);
// for(;;)
// {
InitLCD();
DispBmp(screen1);
Delay1s(1);
DispBmp(screen2);
Delay1s(1);
InitLCD();
LCD_WriteTZ(2,1,Tang); //显示16*16点阵汉字'唐'
LCD_WriteTZ(32,1,Zhan); //显示16*16点阵汉字'湛'
for (i=64;i>0;i--)
{
Delay1ms(50);
LCD_WriteCommand1(0xc0+i%64); //设置起始行,实现向上滚动
LCD_WriteCommand2(0xc0+i%64);
}
Delay1s(1);
DispBmp(xuehao);
Delay1s(2);
// }
}
char code Wen[]=
{
/*-- 文字: 温 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,
0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,
};
char code Du[]=
{
/*-- 文字: 度 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,
};
char code Ya[]=
{
/*-- 文字: 压 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xFE,0x02,0x42,0x42,0x42,0x42,0xFA,0x42,0x42,0x42,0x62,0x42,0x02,0x00,
0x20,0x18,0x27,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x21,0x2E,0x24,0x20,0x20,0x00,
};
char code Li[]=
{
/*-- 文字: 力 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x10,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,
0x00,0x00,0x80,0x40,0x20,0x18,0x06,0x01,0x00,0x00,0x40,0x80,0x40,0x3F,0x00,0x00,
};
char code Dian[]=
{
/*-- 文字: 电 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
};
char code Wei[]=
{
/*-- 文字: 位 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xC0,0x30,0xEC,0x03,0x2A,0xC8,0x09,0x0A,0x0E,0x08,0xE8,0x48,0x08,0x00,0x00,
0x01,0x00,0x00,0x7F,0x20,0x20,0x20,0x27,0x20,0x30,0x2E,0x21,0x20,0x20,0x20,0x00,
};
char code N0[]=
{
/*-- 文字: 0 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
};
char code Number[]=
{
/*------0123456789.------*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,//0
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x00,//1
0x00,0x30,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x18,0x14,0x12,0x11,0x10,0x18,0x00,//2
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x0C,0x10,0x10,0x10,0x11,0x0E,0x00,//3
0x00,0x80,0x40,0x20,0xF8,0x00,0x00,0x00,0x00,0x03,0x02,0x12,0x1F,0x12,0x12,0x00,//4
0x00,0xF8,0x88,0x48,0x48,0x48,0x88,0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x0F,0x00,//5
0x00,0xE0,0x10,0x88,0x88,0x98,0x00,0x00,0x00,0x0F,0x11,0x10,0x10,0x10,0x0F,0x00,//6
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,//7
0x00,0x70,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x0E,0x11,0x10,0x10,0x11,0x0E,0x00,//8
0x00,0xF0,0x08,0x08,0x08,0x90,0xE0,0x00,0x00,0x00,0x19,0x11,0x11,0x08,0x07,0x00,//9
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//.
};
//-------------测量信息显示---------------//
void TestLCD1(void)
{
char t;
unsigned int i;
char buf[5];
int k;
char c;
InitLCD();
while(1)
{
t=GetKeyValue();
while(t==-1)
{
t=GetKeyValue();
}
i=GetADCValue(t);
Delay1ms(250);
buf[3]=i%10;//个位
buf[2]=(i/10)%10;//十位
buf[1]=(i/100)%10;//百位
buf[0]=(i/1000)%10;//千位
buf[4]=10;//小数点
switch(t)
{
// case 4:
// {InitLCD();TestLCD();}break;
l1: case 1:
{
InitLCD();
LCD_WriteTZ1(4,1,&Number[t*16]);//显示8*16点阵数字1
LCD_WriteTZ(20,1,Wen);//显示16*16点阵汉字'温'
LCD_WriteTZ(37,1,Du);//显示16*16点阵汉字'度'
nei:
{
t=GetKeyValue();
if(t == 0)break;
if(t == 2)goto l2;
if(t == 3)goto l3;
i=GetADCValue(1);
Delay1ms(250);
buf[3]=i%10;//个位
buf[2]=(i/10)%10;//十位
buf[1]=(i/100)%10;//百位
buf[0]=(i/1000)%10;//千位
buf[4]=10;//小数点
for(k=0;k<=1;k++)
{
LCD_WriteTZ1(20+k*8,3,&Number[buf[k]*16]);
}
LCD_WriteTZ1(20+2*8,3,&Number[buf[4]*16]);//'.'
for(k=2;k<=3;k++)
{
LCD_WriteTZ1(20+(k+1)*8,3,&Number[buf[k]*16]);
}
goto nei;
}
}
break;
l3: case 3:
{
InitLCD();
LCD_WriteTZ1(4,1,&Number[t*16]);//显示8*16点阵数字2
LCD_WriteTZ(20,1,Ya); //显示16*16点阵汉字'压'
LCD_WriteTZ(37,1,Li); //显示16*16点阵汉字'力'
while(1)
{
t=GetKeyValue();
if(t == 0)break;
if(t == 1)goto l1;
if(t == 2)goto l2;
i=GetADCValue(3);
Delay1ms(250);
buf[3]=i%10;//个位
buf[2]=(i/10)%10;//十位
buf[1]=(i/100)%10;//百位
buf[0]=(i/1000)%10;//千位
buf[4]=10;//小数点
for(k=0;k<=1;k++)
{
LCD_WriteTZ1(20+k*8,3,&Number[buf[k]*16]);
}
LCD_WriteTZ1(20+2*8,3,&Number[buf[4]*16]);//'.'
for(k=2;k<=3;k++)
{
LCD_WriteTZ1(20+(k+1)*8,3,&Number[buf[k]*16]);
}
}
}
break;
l2: case 2:
{
InitLCD();
LCD_WriteTZ1(4,1,&Number[t*16]);//显示8*16点阵数字3
LCD_WriteTZ(20,1,Dian); //显示16*16点阵汉字'电'
LCD_WriteTZ(37,1,Wei); //显示16*16点阵汉字'位'
while(1)
{
t=GetKeyValue();
if(t == 0)break;
if(t == 1)goto l1;
if(t == 3)goto l3;
i=GetADCValue(2);
Delay1ms(250);
buf[3]=i%10;//个位
buf[2]=(i/10)%10;//十位
buf[1]=(i/100)%10;//百位
buf[0]=(i/1000)%10;//千位
buf[4]=10;//小数点
LCD_WriteTZ1(20,3,&Number[buf[0]*16]);
LCD_WriteTZ1(20+8,3,&Number[buf[4]*16]);//'.'
for(k=1;k<=3;k++)
{
LCD_WriteTZ1(20+(k+1)*8,3,&Number[buf[k]*16]);
}
}
}
break;
default:break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -