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

📄 lcd_main.cpp

📁 使用TRULY的液晶显示模块320*240
💻 CPP
字号:
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <fcntl.h>
#include <io.h>
#include <process.h>
#include <dos.h>

#include "LCD\LCD_MAIN.H"
#include "LCD\LCD_BASE.H"
#include "LCD\LCD_CONS.H"

#include "LCD\LCD_BASE.CPP"

//Define variables
int hz_handle;
static int iScrType=STYPE_SCREEN;

//Define Menu Item
static char * MainMenuItem[]={"Communictaion","CJ Board","Meter",
			"FS Time","FS Data","Acquir Instantly","Sele Check",0};
static char * SubMenuItem1[]={"Com_SerialNumber","Com_Version","Com_Baud",0};
static char * SubMenuItem2[]={"CJ_SerialNumber","CJ_Version","CJ_MaxLs","CJ_Time",0};
static char * SubMenuItem3[]={"Meter_Number","Meter_Baud",0};
static char * SubMenuItem4[]={"ZZFS0_Time","DBFS0_Time","DBFS1_Time",0};
static char * SubMenuItem5[]={"ZZFS0_Data","DBFS0_Data","DBFS1_Data",0};
static char * SubMenuItem6[]={0};

//Define Menu Variable
MENUTYPE MainMenu,SubMenu[INUM];
int maxx,texth,textw;
void * MenuImageBuf;

void Lcd_DispInit()
{
	int graphdriver=DETECT;
	int graphmode;
	registerbgidriver(EGAVGA_driver);
	initgraph(&graphdriver,&graphmode,"E:\\LCD320\\BGI");
	setbkcolor(BLACK);
	cleardevice();
	setcolor(WHITE);
	settextstyle(DEFAULT_FONT,HORIZ_DIR,1);		//8x8 dots matrix
	settextjustify(LEFT_TEXT,0);
	setviewport(LcdX_Left,LcdY_Top,LcdX_Right,LcdY_Bottom,1);	//Define LCD View Range
	rectangle(LcdX_Left,LcdY_Top,LcdX_Right,LcdY_Bottom);		//Define LCD Size
//	openhzk(FILE_HZK);
}

void Lcd_DispMain()
{
	switch(iScrType)
	{
		case STYPE_SCREEN:
			Lcd_Screen();
			break;
		case STYPE_COVER:
			Lcd_Cover();
			break;
		case STYPE_MAINMENU:
			Lcd_MainMenu();
			break;
		default:
			Lcd_Screen();
			break;
	}
}

void Lcd_Screen()
{
	int iKey;
	outtextxy(10,10,"**** Test LCD ****");
	outtextxy(50,100,"Display a Flash Picture");

	iKey=readkey();
	if(iKey==KEY_ENTER)
		iScrType=STYPE_COVER;
}

void Lcd_Cover()
{
	setlinestyle(SOLID_LINE,0,NORM_WIDTH);
	line(LcdX_Left,LcdY_Top+22,LcdX_Right,LcdY_Top+22);
	line(LcdX_Left,LcdY_Top+26,LcdX_Right,LcdY_Top+26);
	line(LcdX_Left,LcdY_Bottom-27,LcdX_Right,LcdY_Bottom-27);

	Reflash_Time();
	openhzk(FILE_HZK);
	puthz24_en(40,LcdY_Bottom-24,0,15,"广州科立通用电气公司",'h',0);
	closehzk();

}

void Lcd_MainMenu()
{
	maxx=getmaxx();
	texth=textheight("text");
	textw=textwidth("t");

	LoadMainMenu();

	ManageMainMenu();

}

void Reflash_Time()
{
	char buf[40];
	static char lcd_second,lcd_min;
	struct date lcd_d;
	struct time lcd_t;

	getdate(&lcd_d);
	gettime(&lcd_t);
	if(lcd_second != lcd_t.ti_sec){
		lcd_second=lcd_t.ti_sec;
		sprintf(buf,"   %d-%02d-%02d            %02d:%02d:%02d",lcd_d.da_year,lcd_d.da_mon,
					lcd_d.da_day,lcd_t.ti_hour,lcd_t.ti_min,lcd_t.ti_sec);
		if(lcd_min != lcd_t.ti_min){
			lcd_min=lcd_t.ti_min;
			setviewport(3,3,308,20,1);
			clearviewport();
		}
		else{
			setviewport(160,3,308,20,1);
			clearviewport();
		}
		setviewport(3,3,308,20,1);        //Restore to Display Date and Time
		settextjustify(LEFT_TEXT,TOP_TEXT);
		outtextxy(10,6,buf);
		setviewport(LcdX_Left,LcdY_Top,LcdX_Right,LcdY_Bottom,1);//Restore the Whole LCD Display
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -