⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vter_test.c

📁 wq_vga.rar,系列C51列程
💻 C
📖 第 1 页 / 共 2 页
字号:
			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 + -