📄 lcd_main.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 + -