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

📄 disp.c

📁 采用普通单片机控制的电桥测试仪
💻 C
📖 第 1 页 / 共 2 页
字号:
/*
*********************************************************************************************************
*										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 + -