📄 vter_test.c
字号:
case 6:
keyvalue=0;
onkey6();
break;
default:
keyvalue=0;
break;
}
}
}
//===========================key1功能函数=====
//功能:进入简介页面、返回。
//============================================
void onkey1(void)
{
inv_rec(key1x,key1y,keywidth,keyheith);
while(1)
{
if(int_state==2)
{
int_state=0;
break;
}
}
inv_rec(key1x,key1y,keywidth,keyheith);
if(abstractkey!=0 || settimekey!=0 || drawgraphkey!=0 || wavekey!=0 || stringkey!=0)
//其它五个按键中,若有任何一个事先已经被点击,则“返回”功能生效,否则“简介”功能生效
{
dis_bmp(0,0,background); //返回之后当然要重新下载界面了
dis_bmp(key1x,key1y,abstract);
if(timeonkey==0) //若时间显示为关状态则按键2显示的是“显示时间”,相反则显示“隐藏”时间
dis_bmp(key2x,key2y,timeon);
else
dis_bmp(key2x,key2y,timeoff);
dis_bmp(key3x,key3y,settime);
dis_bmp(key4x,key4y,drawgraph);
dis_bmp(key5x,key5y,string);
dis_bmp(key6x,key6y,diswave);
wavekey=0; //切记每次按下“返回”键,全部按键恢复未点击状态
stringkey=0;
drawgraphkey=0;
abstractkey=0;
settimekey=0;
}
else
{
dis_bmp(0,0,background); //进入“简介页面”
dis_bmp(key1x,key1y,return_);
draw_rec(bmpx,bmpy,bmpwidth,bmpheith);
dis_bmp(640/2-100,bmpy,topbmp); //公司标志图长200,高50
dis_smallchar(bmpx+7,bmpy+5+50," 广州市微嵌计算机科技有限公司是一家专业从事 LCD显示技术及其周边产品的研究开发高科技公司,主要致力于液晶显示控制器、触摸屏控制器、VGA 驱动板的研发。公司成立多年来,注重吸收国际上先进的液晶显示器生产技术和经验,拥有完整的质量保证体系。成熟稳定的产品有智能LCD 显示终端(VTerminal V8184 )。\n 本公司专业服务于以下领域:仪器仪表、家用电器、工业自动化、金融自动化、医疗设备、电力电气设备、石化系统、POS 系统、监控系统、电信通讯系统、路桥和停车场收费系统、投影设备、电子游戏等广泛领域。欢迎国内外客户前来惠顾,我们将是您事业发展中最可信赖的合作伙伴。顾客的需求:就是我们努力的目标!\n广州市微嵌计算机科技有限公司(原千喜科技开发公司)\n地址:广州市天河北路592号帝景苑A栋1803室\n网址:www.qxlcd.com 电话:020-87535893\n");
abstractkey=1;
}
}
//===========================key2功能函数=====
//功能:开/关时间
//============================================
void onkey2(void)
{
inv_rec(key2x,key2y,keywidth,keyheith);
while(1)
{
if(int_state==2)
{
int_state=0;
break;
}
}
inv_rec(key2x,key2y,keywidth,keyheith);
switch(timeonkey)
{
case 0: //原来为“关”状态时
dis_bmp(key2x,key2y,timeoff); //按键2显示“隐藏时间”字样
time_on(distimex,distimey,01); //时间显示函数
timeonkey=1;
break;
case 1: //原来为开状态时
time_on(distimex,distimey,00);
dis_bmp(0,0,background);
dis_bmp(key1x,key1y,abstract);
dis_bmp(key2x,key2y,timeon);
dis_bmp(key3x,key3y,settime);
dis_bmp(key4x,key4y,drawgraph);
dis_bmp(key5x,key5y,string);
dis_bmp(key6x,key6y,diswave);
timeonkey=0;
break;
default:
break;
}
}
//===========================key3功能函数=====
//功能:设置时间
//============================================
void onkey3(void)
{
inv_rec(key3x,key3y,keywidth,keyheith);
while(1)
{
if(int_state==2)
{
int_state=0;
break;
}
}
inv_rec(key3x,key3y,keywidth,keyheith);
switch(settimekey)
{
case 0:
dis_bmp(0,0,background);
dis_bmp(key1x,key1y,return_);
dis_bmp(bmpx,bmpy,keyboard); //显示键盘
set_time(); //进入set_time()函数,除非点击“返回”键,否则不返回
dis_bmp(0,0,background); //返回后当然要重新加载界面了
dis_bmp(key1x,key1y,abstract);
if(timeonkey==0)
dis_bmp(key2x,key2y,timeon);
else
dis_bmp(key2x,key2y,timeoff);
dis_bmp(key3x,key3y,settime);
dis_bmp(key4x,key4y,drawgraph);
dis_bmp(key5x,key5y,string);
dis_bmp(key6x,key6y,diswave);
settimekey=0;
break;
case 1:
break;
default:
break;
}
}
//===========================key4功能函数=====
//功能:绘制直线、椭圆、矩形。
//============================================
void onkey4(void)
{
inv_rec(key4x,key4y,keywidth,keyheith);
while(1)
{
if(int_state==2)
{
int_state=0;
break;
}
}
inv_rec(key4x,key4y,keywidth,keyheith);
if(drawgraphkey==0) //“绘制图形”按键已经被按下吗?
{
//否:进入绘制图形界面
switch(drawgraphkey)
{
case 0:
dis_bmp(0,0,background);
dis_bmp(key1x,key1y,return_);
dis_bmp(key4x,key4y,drawline);//“绘制直线”按键
dis_bmp(key5x,key5y,drawell); //“绘制椭圆”
dis_bmp(key6x,key6y,drawrec); //“绘制矩形”
draw_rec(bmpx,bmpy,bmpwidth,bmpheith);//清除中间方框为白色
drawgraphkey=1;
break;
case 1:
break;
default:
break;
}
}
else
//是:执行绘制图形功能
draw_line(bmpx,bmpy,bmpx+bmpwidth,bmpy+bmpheith,01);
}
//===========================key5功能函数=====
//功能:显示字符、绘制椭圆
void onkey5(void)
{
inv_rec(key5x,key5y,keywidth,keyheith);
while(1)
{
if(int_state==2)
{
int_state=0;
break;
}
}
inv_rec(key5x,key5y,keywidth,keyheith);
if(drawgraphkey==0) //“绘制图形”按键已经被按下吗?
{
switch (stringkey)
{
//否:执行“字符”功能
case 0:
dis_bmp(0,0,background);
dis_bmp(key1x,key1y,return_);
draw_rec(bmpx,bmpy,bmpwidth,bmpheith);
dis_bmp(640/2-100,bmpy,topbmp); //公司标志图长200,高50
dis_smallchar(bmpx+7,bmpy+5+50," 广州市微嵌计算机科技有限公司是一家专业从事 LCD显示技术及其周边产品的研究开发高科技公司,主要致力于液晶显示控制器、触摸屏控制器、VGA 驱动板的研发。公司成立多年来,注重吸收国际上先进的液晶显示器生产技术和经验,拥有完整的质量保证体系。成熟稳定的产品有智能LCD 显示终端(VTerminal V8184 )。\n 本公司专业服务于以下领域:仪器仪表、家用电器、工业自动化、金融自动化、医疗设备、电力电气设备、石化系统、POS 系统、监控系统、电信通讯系统、路桥和停车场收费系统、投影设备、电子游戏等广泛领域。欢迎国内外客户前来惠顾,我们将是您事业发展中最可信赖的合作伙伴。顾客的需求:就是我们努力的目标!\n广州市微嵌计算机科技有限公司(原千喜科技开发公司)\n地址:广州市天河北路592号帝景苑A栋1803室\n网址:www.qxlcd.com 电话:020-87535893\n");
stringkey=1;
break;
case 1:
break;
default:
break;
}
}
else
//是:执行绘制椭圆功能(而不是“字符”功能)
draw_ell(450,480/2,50,50);
}
//===========================key6功能函数=====
//功能:显示波形、绘制矩形
//============================================
void onkey6(void)
{
unsigned char i;
unsigned short tempx,tempy;
inv_rec(key6x,key6y,keywidth,keyheith);
while(1)
{
if(int_state==2)
{
int_state=0;
break;
}
}
inv_rec(key6x,key6y,keywidth,keyheith);
if(drawgraphkey==0) //“绘制图形”按键已经被按下吗?
{
//否:执行“显示波形”功能
switch (wavekey)
{
case 0:
dis_bmp(0,0,background);
dis_bmp(bmpx,bmpy,wavegraph);//加载正弦波坐标图
dis_bmp(key6x,key6y,execute);//key6变为“执行”字样
wavekey=1; //“key6”已经被点击一次
break;
case 1:
draw_rec(key6x,key6y,keywidth,keyheith);
dis_bmp(key1x,key1y,return_);
fcolor = 0xe0;
draw_sin(bmpx+43,bmpy+bmpheith/2-100,2,100,100,bmpwidth-43-15); //调用测试波形函数(显示正弦波)
fcolor = 0x00;
wavekey=2; //key6已经被点击两次
break;
default:
break;
}
}
else
//是:执行“绘制矩形”功能
{
bcolor=0x1c;
for(i=0;i<4;i++)
{
tempx=bmpx+(i+1)*80;
tempy=bmpy+i*50;
draw_rec(tempx,tempy,100,100);
}
bcolor=0xff;
}
}
//==========================================设置时间程序==============
//当按下“设置时间”按钮时进入此程序
//====================================================================
void set_time(void)
{
unsigned char setkeyvalue=0;
unsigned char keytouchcount=0;
unsigned short chx,chy;
unsigned char setbuf[14];
while(1)
{
while(1) //触摸屏被触发吗?没有则循环检测(读串口)?
{
if(touchok==1)
{
chx=(touchbuf[0]*100+touchbuf[1]); //将两字节数据转换为短整型
chy=(touchbuf[2]*100+touchbuf[3]);
touchok=0;
break;
}
}
dis_value(touchxx+2,touchxy+2,chx,03); //显示触摸屏坐标
dis_value(touchyx+2,touchyy+2,chy,03);
if(chx>keyboard0x && chx<keyboard0x+boardkeywidth && chy>keyboard0y && chy<keyboard0y+boardkeyheith)
//点击到“0”数字键
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -