📄 disp.c
字号:
/*
*********************************************************************************************************
* File Name: Disp.c
*
* Last Modified Data: 2006-08-10
*
* Last Version:V1.0
*
* Description:显示
*
*********************************************************************************************************
*/
#define _DISP_
#include "..\Inc\Include.h"
uchar code IndexPoint[6][2]={{5,2},{13,2},{21,2},{5,7},{13,7},{21,7}};
uchar code MenuText[6][4]={{0,1,2,3},{4,5,2,3},{12,13,2,3},{8,9,10,11},{16,17,18,19},{20,21,22,23},};
uint code MenuHomeAddr[8]={0x01E0,0x10E0,0x1FE0,0x2EE0,0x3DE0,0x4CE0,0x5BE0,0x6AE0};
extern uchar code LINE[5];
/*
********************************************************************************************************
* Function:LoadMenus
*
* Descriptions:
*
* Input:无
*
* OutPut:无
*******************************************************************************************************
*/
void LoadMenus(void)
{
uchar i;
WRI_CGRAM(CGRAMTable[0]);
DispKaiJiFace(); // 显示开机画面
/*---写入液晶内存---*/
for (i=0; i<7; i++)
{
GrahomeAddr=MenuHomeAddr[i+1];
CLEAR();//将液晶显示区全部清掉
switch(i)
{
case 0:Disp_dianqiaocl();break;
case 1:Disp_jueyuancl();break;
case 2:Disp_huanzucl(); break;
case 3:Disp_DuanXiancl(); break;
case 4:Disp_DataManage();break;
case 5:Disp_shezhibg(); break;
case 6:Disp_FenDuan();break;
default:break;
}
WRI_N(7+2*i,15,0xaa);
WRI_N(8+2*i,15,0xaa);
}
GrahomeAddr=MenuHomeAddr[0];
CLEAR();
Disp_MainMemu(); // 显示主画面
DispSysTimeAndPower();
Disp_menuindex(); // 显示被选中的模式
BtnUp(1); // 显示按钮
BtnUp(2);
BtnUp(3);
}
/*
********************************************************************************************************
* Function:DispKaiJiFace
*
* Descriptions: 显示开机画面“欢迎使用 东电通信测试仪器
*
* Input:无
*
* OutPut:无
*******************************************************************************************************
*/
void DispKaiJiFace(void)
{
uchar i;
Print_Box(0, 0,239,127,0);
for(i=0;i<6;i++)
{
WRI_CC(2+2*i, 5, 32, 42, bmptable); // 东电标志
Delay(50);
CLEAR_ICC(2, 5, 96, 42); // 清除汉字
}
WRI_CC(13, 5, 32, 42, bmptable);// 东电标志
WRI_CC(3, 16, 32, 32, table0[0]);
WRI_CC(7, 16, 32, 32, table0[1]);
WRI_CC(19, 16, 32, 32, table0[2]);
WRI_CC(23, 16, 32, 32, table0[3]);
for(i=0;i<8;i++)
{
WRI_CC(3+i*3, 56, 24, 24, table1[i]);
}
WRI_String(19,15,"loading...");
}
/*
********************************************************************************************************
* Function:Disp_DrwWindow
*
* Descriptions:画框
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_DrwWindow(void)
{
uchar i=0;
for(i=2;i<30;i++)
{
WRI_CC(i, 119, 8, 8, Number[17]); // 屏幕下方的黑块
}
ONLINE(16,119,16,127,1); // 清线
Print_Box(17, 0,239,127,0); //画矩形
ONLINE(17,100,239,100,0); // 画线
}
/*
********************************************************************************************************
* Function:
*
* Descriptions:显示主界面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_MainMemu(void)
{
WRI_CC( 5, 12, 40, 40, bmptable1); //电桥图标
WRI_CC(13, 12, 40, 40, bmptable12); //绝缘图标
WRI_CC(21, 12, 40, 40, bmptable9); //环阻图标
WRI_CC( 5, 52, 40, 40, bmptable10); //断线测试图标
WRI_CC(13, 52, 40, 40, bmptable8); //档案管理图标
WRI_CC(21, 52, 40, 40, bmptable11); //仪器设置图标
// JianCeDianLiang();
// WRI_CC(26, 103, 40, 13, DianChiSiGe); //电池符号
WRI_CC(0, 8, 16, 16, table20[0]); // "确"
WRI_CC(0, 23, 16, 16, table20[1]); // "定"
WRI_CC(0, 48, 16, 16, table20[2]); // "左"
WRI_CC(0, 63, 16, 16, table20[3]); // "移"
WRI_CC(0, 88, 16, 16, table20[4]); // "右"
WRI_CC(0,103, 16, 16, table20[3]); // "移"
Disp_DrwWindow(); // 画出图形边框
JianCeDianLiang();
}
/*
********************************************************************************************************
* Function:Disp_huanzucl
*
* Descriptions:环阻测试界面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_huanzucl(void)
{
WRI_CC(0, 8, 16, 16, table21[0]); // 测
WRI_CC(0, 23, 16, 16, table21[1]); //试
WRI_CC(0, 88, 16, 16, table21[2]); //退
WRI_CC(0, 103, 16, 16, table21[3]); //出
WRI_CC(3, 20, 16, 16, table3[12]); // 环阻
WRI_CC(5, 20, 16, 16, table3[13]);
WRI_CC(8, 45, 16, 40, bmptable13); // 电阻符号
WRI_CC(16, 20, 112, 80, bmptable22);// 表格
Disp_DrwWindow(); // 画出图形边框
}
/*
********************************************************************************************************
* Function:Disp_jueyuancl
*
* Descriptions: 绝缘测试界面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_jueyuancl(void)
{
WRI_CC(0, 8, 16, 16, table21[0]); // 测试
WRI_CC(0, 23, 16, 16, table21[1]);
WRI_CC(0, 88, 16, 16, table21[2]); //退出
WRI_CC(0, 103, 16, 16, table21[3]);
WRI_CC(3, 20, 208, 80, bmptable21); // 绝缘测试画面
Disp_DrwWindow(); // 画出图形边框
}
/*
********************************************************************************************************
* Function:
*
* Descriptions:电桥测试界面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_dianqiaocl(void)
{
WRI_CC(0, 8, 16, 16, table21[0]); // 测试
WRI_CC(0, 23, 16, 16, table21[1]);
WRI_CC(0, 48, 16, 16, table7[0]); // 输入
WRI_CC(0, 63, 16, 16, table7[1]);
WRI_CC(0, 88, 16, 16, table21[2]); // 退出
WRI_CC(0, 103, 16, 16, table21[3]);
WRI_CC(3,20, 16, 16, table22[19]); // 故障比
WRI_CC(5, 20, 16, 16, table22[20]);
WRI_CC(7, 20, 16, 16, table22[21]);
WRI_CC(3,44, 16, 16, table22[25]); // 线路全长
WRI_CC(5, 44, 16, 16, table22[26]);
WRI_CC(7, 44, 16, 16, table22[27]);
WRI_CC(9, 44, 16, 16, table22[28]);
WRI_CC(3,68, 16, 16, table22[19]); // 故障距离
WRI_CC(5, 68, 16, 16, table22[20]);
WRI_CC(7, 68, 16, 16, table22[17]);
WRI_CC(9, 68, 16, 16, table22[18]);
WRI_CC(17, 20, 96, 80, bmptable15);//电桥图形
Disp_DrwWindow(); // 画出图形边框
}
/*
********************************************************************************************************
* Function:
*
* Descriptions:断线测试画面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_DuanXiancl(void)
{
WRI_CC(0, 8, 16, 16, table21[0]); // 测试
WRI_CC(0, 23, 16, 16, table21[1]);
WRI_CC(0, 88, 16, 16, table21[2]); //退出
WRI_CC(0, 103, 16, 16, table21[3]);
WRI_CC(3, 20, 208, 80, bmptable19); // 断线测试画面
Disp_DrwWindow(); // 画出图形边框
}
/*
********************************************************************************************************
* Function:
*
* Descriptions:
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_FenDuan(void)
{
uchar i;
WRI_CC(0, 8, 16, 16, table6[26]); // 跳格
WRI_CC(0, 23, 16, 16, table6[27]);
WRI_CC(0, 48, 16, 16, table21[8]); // 调整
WRI_CC(0, 63, 16, 16, table21[9]);
WRI_CC(0, 88, 16, 16, table21[2]); // 退出
WRI_CC(0, 103, 16, 16, table21[3]);
WRI_CC(4, 20, 192, 48, bmptable23); // 表格
WRI_CC(4, 78, 192, 13, Tishi); //显示"未使用的段,请将该段长度设置为0"
Disp_DrwWindow(); // 画出图形边框
for(i=0; i<3; i++)
{
WRI_CC_VALUE(11+6*i,40,LINE[FenDuanSize[i]],3,2);
WRI_CC_VALUE(11+6*i,56,FenDuanLong[i],4,0);
}
}
/*
********************************************************************************************************
* Function:Disp_DataManage
*
* Descriptions:显示以前数据的界面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_DataManage(void)
{
WRI_CC(0, 8, 16, 16, table20[6]); // 上翻
WRI_CC(0, 23, 16, 16, table20[8]);
WRI_CC(0, 48, 16, 16, table20[7]); // 下翻
WRI_CC(0, 63, 16, 16, table20[8]);
WRI_CC(0, 88, 16, 16, table21[2]); // 退出
WRI_CC(0, 103, 16, 16, table21[3]);
WRI_CC(12, 0, 96, 16, BitmapDataManage1);
WRI_CC(4, 20, 64, 80, BitmapZi);
Disp_DrwWindow();//绝缘 环阻 故障比 故障距离 测试时间
}
/*
********************************************************************************************************
* Function:
*
* Descriptions:仪器设置界面
*
* Input:
*
* OutPut:
*******************************************************************************************************
*/
void Disp_shezhibg()
{
WRI_CC(0, 8, 16, 16, table6[26]); // 调格
WRI_CC(0, 23, 16, 16, table6[27]);
WRI_CC(0, 48, 16, 16, table21[8]); // 调整
WRI_CC(0, 63, 16, 16, table21[9]);
WRI_CC(0, 88, 16, 16, table21[2]); // 退出 开
WRI_CC(0, 103, 16, 16, table21[3]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -