📄 t6963c-demo(ok060520).c
字号:
X = LcmReadData();
X = ~X;
LcmWriteCommandWith1Par(X,0xC0);
}
}
}
//屏读功能演示
void ScreenReadDemo( void )
{ //利用屏读
//能对当前屏幕反显,包括合成内容(本函数仅读文本到图形)
//但是写入后的内容都在图形区
//可以将文本区内容读出以图形方式写到图形区
uchar i,j,X;
//使用屏读屏考时候必须设置宽度为40(硬件已决定)
//所以如确定要用到屏读屏考的话最后初始化时就设40
LcmWriteCommandWith2Par(0x28,0x00,0x41); //设置文本显示区宽度=40
LcmWriteCommandWith2Par(0x28,0x00,0x43); //设置图形显示区宽度=40
PutString(0,0,str1); //0,0不会受到宽度改变的影响
for(i=0;i<8;i++) //屏幕较慢,就以一行文本做演示
{
LcmWriteCommandWith2Par((0x28*i+0x800)&0xff,(0x28*i+0x800)/256,0x24);
for(j=0;j<LcmLengthDots/8;j++)
{
LcmWriteCommand(0xE0);
CheckScreen();
CheckRWCD();
X = LcmReadData();
X = ~X;
LcmWriteCommandWith1Par(X,0xC0);
}
}
//屏读需要一点时间,运行速度比较慢,运行过程中由于文本图形互补的关系,屏幕全黑
LcmWriteCommand(0x98); //关闭文本区看显示效果
DelayKey(3);
LcmWriteCommand(0x9C); //恢复文本区显示
LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x41); //宽度改回原值
LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x43);
LcmClear(0); //清屏
}
//显示点阵子函数
void DisplayDots(uchar DotByte,uchar n)
{
uchar i,j;
LocateXY(0,0,Graphic);
LcmWriteCommand(0xB0); //进入自动写
for(i=0;i<LcmWidthDots/n;i++)
{
for(j=0;j<LcmLengthDots/8*n;j++)
{
CheckAutoWrite();
LcmWriteData(DotByte);
}
DotByte=~DotByte;
}
LcmWriteCommand(0xB2); //退出自动写
}
//主函数
void main(void)
{
uchar i; //,rLine,rHzIndex;
FS =0;
EA=0;
AUXR=0x02;
// WDT_CONTR=0x00;
Delay(60);
LcmInit();
EA=0;
while(1)
{
LcmClear(0);
LocateXY(0,0,Graphic); //TXT
//--------------------------------------------------------------------------------------------
//--试验频率次分钟占空比 类 型 常 开 闭 路 数 检 测 正 粘 连 断 温 度 触 点 继 续 停 止 状 态 转 换 ℃ ------
//---0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
//-------试验频率:90次/分钟 占空比:15%------------------------------
ShowHZ(0,0,0);
ShowHZ(0,2,1);
ShowHZ(0,4,2);
ShowHZ(0,6,3);
ShowChar(0,8,10); //:
ShowChar(0,9,9); //9
ShowChar(0,10,0); //0
ShowHZ(0,11,4);
ShowChar(0,13,11); // /
ShowHZ(0,14,5);
ShowHZ(0,16,6);
ShowEmpty(0,18);
ShowHZ(0,19,7);
ShowHZ(0,21,8);
ShowHZ(0,23,9);
ShowChar(0,25,10); //:
ShowChar(0,26,1);
ShowChar(0,27,5);
ShowChar(0,28,12);
//-------------------------------------
//-------试验类型:常开型 试验路数:3------------------------------
ShowHZ(16,0,0);
ShowHZ(16,2,1);
ShowHZ(16,4,10);
ShowHZ(16,6,11);
ShowChar(16,8,10); //:
ShowHZ(16,9,12);
ShowHZ(16,11,13);
ShowHZ(16,13,11);
ShowEmpty(16,15);
ShowEmpty(16,16);
ShowEmpty(16,17);
ShowEmpty(16,18);
ShowHZ(16,19,0);
ShowHZ(16,21,1);
ShowHZ(16,23,15);
ShowHZ(16,25,16);
ShowChar(16,27,10); //:
ShowChar(16,28,3);
//-------------------------------------
line(34);
line(35);
line(36);
ShowChar(39,0,13); //N
ShowChar(39,1,14); //o
ShowChar(39,2,15); //.
ShowEmpty(39,3);
ShowHZ(39,4,23);
ShowHZ(39,6,24);
ShowEmpty(39,8);
ShowEmpty(39,9);
ShowHZ(39,10,17); //检测状态
ShowHZ(39,12,18);
ShowHZ(39,14,31);
ShowHZ(39,16,32);
ShowEmpty(39,18); //预留2个汉字空间
ShowEmpty(39,19);
ShowEmpty(39,20);
ShowEmpty(39,21);
ShowHZ(39,22,17); //检测次数
ShowHZ(39,24,18);
ShowHZ(39,26,4);
ShowHZ(39,28,16);
//-------------------------------------
line(60);
ShowChar(65,0,1); //1#
ShowChar(65,1,16);
ShowEmpty(65,2);
ShowChar(65,3,8);
ShowChar(65,4,8);
ShowChar(65,5,8);
ShowChar(65,6,15); //.
ShowChar(65,7,8);
ShowHZ(65,8,35); //℃
ShowHZ(65,10,17); //检测正常
ShowHZ(65,12,18);
ShowHZ(65,14,19);
ShowHZ(65,16,12);
ShowEmpty(65,18);
ShowEmpty(65,19);
ShowEmpty(65,20);
ShowEmpty(65,21);
ShowChar(65,22,8);
ShowChar(65,23,8);
ShowChar(65,24,8);
ShowChar(65,25,8);
ShowChar(65,26,8);
ShowChar(65,27,8);
ShowChar(65,28,8);
ShowChar(65,29,8);
//-------------------------------------
ShowChar(85,0,2); //2#
ShowChar(85,1,16);
ShowEmpty(85,2);
ShowChar(85,3,8);
ShowChar(85,4,8);
ShowChar(85,5,8);
ShowChar(85,6,15); //.
ShowChar(85,7,8);
ShowHZ(85,8,35); //℃
ShowHZ(85,10,17); //检测正常
ShowHZ(85,12,18);
ShowHZ(85,14,19);
ShowHZ(85,16,12);
ShowEmpty(85,18);
ShowEmpty(85,19);
ShowEmpty(85,20);
ShowEmpty(85,21);
ShowChar(85,22,8);
ShowChar(85,23,8);
ShowChar(85,24,8);
ShowChar(85,25,8);
ShowChar(85,26,8);
ShowChar(85,27,8);
ShowChar(85,28,8);
ShowChar(85,29,8);
//-------------------------------------
ShowChar(105,0,3); //3#
ShowChar(105,1,16);
ShowEmpty(105,2);
ShowChar(105,3,8);
ShowChar(105,4,8);
ShowChar(105,5,8);
ShowChar(105,6,15); //.
ShowChar(105,7,8);
ShowHZ(105,8,35); //℃
ShowHZReverse(105,10,12); //常开触点断开 ShowHZ(105,10,17); //检测正常
ShowHZReverse(105,12,13); // ShowHZ(105,12,18);
ShowHZReverse(105,14,25); // ShowHZ(105,14,19);
ShowHZReverse(105,16,26); // ShowHZ(105,16,12);
ShowHZReverse(105,18,22); // ShowEmpty(105,18);
ShowHZReverse(105,20,13); // ShowEmpty(105,19);
// ShowEmpty(105,20);
// ShowEmpty(105,21);
ShowChar(105,22,8);
ShowChar(105,23,8);
ShowChar(105,24,8);
ShowChar(105,25,8);
ShowChar(105,26,8);
ShowChar(105,27,8);
ShowChar(105,28,8);
ShowChar(105,29,8);
//-------------------------------------
while(1);
DelayKey(3);
DelayKey(3);
DelayKey(3);
DelayKey(3);
DelayKey(3);
DelayKey(3);
DisplayOneBmp(bmp1); //显示一副图片
DelayKey(3);
ReverseOneBmp(); //反显当前图片
DelayKey(3);
LcmClear(0); //清屏,此处不清屏可观察文本xor图形的显示效果
for(i=0;i<16;i++) //显示一屏字符串
PutString(0,i,str1);
DelayKey(3);
/*
LcmClear(0);
LcmClear(0xff); //全黑检测
DelayKey(3);
ScreenReadDemo(); //屏读演示,函数内包含了延时
DisplayDots(0x55,1);
DelayKey(3);
DisplayDots(0xaa,1);
DelayKey(3);
DisplayDots(0x33,2);
DelayKey(3);
DisplayDots(0xcc,2);
DelayKey(3);
DisplayDots(0xF0,4);
DelayKey(3);
DisplayDots(0x0F,4);
DelayKey(3);
*/
}
}
unsigned char code CharTable[][16]=
{
/*-- 文字: 0 --*/
/*-- 新宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
/*-- 文字: 1 --*/
/*-- 新宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
/*-- 文字: 2 --*/
/*-- 新宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,
/*-- 文字: 3 --*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -