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

📄 page.c

📁 自己编写的
💻 C
📖 第 1 页 / 共 2 页
字号:
/*
*writed by liangwd in 2005-7-4
*/

#include <string.h>
#include "..\inc\def.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"
#include "..\inc\led.h"

#include "..\inc\page.h"
#include "..\inc\character.h"
#include "..\inc\lcdlib.h"

#include "..\inc\kb.h"

extern flagsetting  *flag_setting ;
extern fileparameter *file_parameter;


//read file data of comtrol point
//writed by liangweidong 2005-9-16
unsigned short int read_file_data(unsigned short int controlpoint)
{
	unsigned short int temp;
//	fileparameter *file_p;
	temp = file_parameter->file_data[controlpoint];
	return temp;//(file_parameter->file_data[controlpoint])&0x3fff;
}

//write file data of comtrol point
//writed by liangweidong 2005-9-16
void write_file_data(unsigned short int filedata,unsigned short int controlpoint)
{
	unsigned short int flag_temp;
//	fileparameter *file_p;
	flag_temp = (file_parameter->file_data[controlpoint])&0xc000;
	filedata = filedata & 0x3fff;
	file_parameter->file_data[controlpoint] = filedata |flag_temp;
}

//seek some control point flag
//writed by liangweidong 2005-9-16
BOOL seek_trun_flag(unsigned short int controlpoint)
{
	unsigned short int flag_temp;
	flag_temp = (file_parameter->file_data[controlpoint])&0x4000;
	if (0 == flag_temp)
		return FALSE;
		else
			return TRUE;
}

//seek some control point flag
//writed by liangweidong 2005-9-16
BOOL seek_alarm_flag(unsigned short int controlpoint)
{
	unsigned short int flag_temp;
	flag_temp = (file_parameter->file_data[controlpoint])&0x8000;
	if (0 == flag_temp)
		return FALSE;
		else
			return TRUE;
}

//set some control point flag
//writed by liangweidong 2005-9-16
BOOL set_trun_flag(unsigned short int controlpoint)
{
	file_parameter->file_data[controlpoint] = (file_parameter->file_data[controlpoint])|0x4000;
}

//set some control point flag
//writed by liangweidong 2005-9-16
BOOL set_alarm_flag(unsigned short int controlpoint)
{
	file_parameter->file_data[controlpoint] = (file_parameter->file_data[controlpoint])|0x8000;
}

//clear some control point flag
//writed by liangweidong 2005-9-16
BOOL clear_trun_flag(unsigned short int controlpoint)
{
	file_parameter->file_data[controlpoint] = (file_parameter->file_data[controlpoint])&0xbfff;
}

//clear some control point flag
//writed by liangweidong 2005-9-16
BOOL clear_alarm_flag(unsigned short int controlpoint)
{
	unsigned short int flag_temp;
	file_parameter->file_data[controlpoint] = (file_parameter->file_data[controlpoint])&0x7fff;
}


//writed by liangweidong 2005-9-9
//initialization the start states
void init_total_file(void)
{
	int test_temp = 0;
//	fileparameter *file_p;	
	unsigned short int i;
	
//	 if(flag_setting == NULL)
	flag_setting = (flagsetting *)malloc(sizeof(flagsetting));
	file_parameter = ( fileparameter *)malloc(sizeof( fileparameter));  //create a control file	
	
	//total patameter
	test_temp = flag_setting->flag_language;//test
	flag_setting->flag_language = 1;
	test_temp = flag_setting->flag_language;//test
	test_temp = (int)flag_setting->flag_language;//test
	flag_setting->flag_protect = 1;
	flag_setting->flag_LCD_onoff = 1;
	flag_setting->flag_openloop = 1;
	flag_setting->flag_accum_contim = 1;
	flag_setting->flag_USB = 1;
	flag_setting->flag_RS232 = 1;
	flag_setting->flag_timesetup = 1;

	//file patameter
	flag_setting->flag_accum_stroke =100;
	flag_setting->flag_auto_manual = 1;
	flag_setting->flag_core_stroke = 100;
	flag_setting->flag_filling_type =1;
	flag_setting->flag_point_number = 2;
	flag_setting->flag_set_core_type = 1;
	flag_setting->flag_set_emoty_voltage = 10;
	flag_setting->flag_set_full_voltage = 10;
	flag_setting->flag_unit_type = 1;
	flag_setting->flag_thickness_range = 3;
	flag_setting->flag_set_zero_voltage = 10;
	flag_setting->flag_set_span_voltage = 10;
	flag_setting->flag_set_gain = 100;

	//initialization file
	strcpy(file_parameter->name, "liang");
	test_temp = flag_setting->flag_point_number+1;//test
	file_parameter->totalpointnumber = 32 + (flag_setting->flag_point_number)*32;
	test_temp = file_parameter->totalpointnumber;//test
	file_parameter->cushion = 5;
	file_parameter->diegap = 5;
	file_parameter->diegapslope = 15;
	for(i = 0; i < (file_parameter->totalpointnumber); i++)
		{
			write_file_data(150, i);
			test_temp = file_parameter->file_data[i] & 0x3fff;//test
		}
	file_parameter->flag_file_core_type = 1;
	file_parameter->flag_file_emoty_voltage = 10;
	file_parameter->flag_file_full_voltage = 10;
	file_parameter->flag_file_gain = 1;
	file_parameter->flag_file_span_voltage = 10;
	file_parameter->flag_file_zero_voltage = 10;
	file_parameter->movedelay = 3;
	file_parameter->shotsize = 50;
	file_parameter->startslope = 15;
	file_parameter->range_high = 110;
	file_parameter->range_low = 20;
	
//	file_parameter->
}


//writed by liangweidong 2005-9-13
//display the file figure
void display_figure(int flag)
{
	unsigned short int i, k, long_temp;//, controlnumber;

//	
	switch(flag)//flag_setting->flag_point_number)
		{
		case 0:
				for(i = 0; i < 32; i++)
					{
						Display_number((3*ASCIIX), ((38-i)*ASCIIY), i);
						long_temp = read_file_data(i);
						for(k = 0; k < 8; k++)
							{
								ColorXLine((4*ASCIIX+1), ((39*ASCIIY) -( i*8 + k)), long_temp);
							}
					}
				break;
		case 1:
				for(i = 0; i < 64; i++)
					{
						Display_number((3*ASCIIX), ((38-i)*ASCIIY), i*2);
						long_temp = read_file_data(i);
						for(k = 0; k < 4; k++)
							{
								ColorXLine((4*ASCIIX+1), ((39*ASCIIY) -( i*4 + k)), long_temp);
							}
					}
				break;
		case 2:
				for(i = 0; i < 96; i++)
					{
						Display_number((3*ASCIIX), ((38-i)*ASCIIY), i*3);					
						long_temp = read_file_data(i);
						for(k = 0; k < 3; k++)
							{
								ColorXLine((4*ASCIIX+1), ((39*ASCIIY) -( i*3 + k)), long_temp);
							}
					}
				break;
		case 3:
				for(i = 0; i < 128; i++)
					{
						Display_number((3*ASCIIX), ((38-i)*ASCIIY), i*4);					
						long_temp = read_file_data(i);
						for(k = 0; k < 2; k++)
							{
								ColorXLine((4*ASCIIX+1), ((39*ASCIIY) -( i*2 + k)), long_temp);
							}
					}
				break;
		default:
				break;
		}
				


}

//modefied by liangweidong
//2005-8-26
void page_setfigure(void)
{
	unsigned int i, k, temp;
//	fileparameter *file_p;
//
	Display_ASCIITable(0*ASCIIX , 0*ASCIIY, "NO.");

	Display_ASCIITable(20*ASCIIX, 0*ASCIIY, "TOTAL POINT:");
	Display_number(36*ASCIIX, 0*ASCIIY, file_parameter->totalpointnumber);

	Display_ASCIITable(0*ASCIIX, 1*ASCIIY, "POINT NO.");
	Display_ASCIITable(20*ASCIIX, 1*ASCIIY, "DATA:");
	Display_ASCIITable(37*ASCIIX, 1*ASCIIY, (flag_setting->flag_unit_type?"mm":"%"));

	Display_ASCIITable(0*ASCIIX, 2*ASCIIY, "SHOT SIZE");
	Display_number(16*ASCIIX, 2*ASCIIY, file_parameter->shotsize);
	Display_ASCIITable(17*ASCIIX, 2*ASCIIY, "%");
	Display_ASCIITable(20*ASCIIX, 2*ASCIIY, "100%  =");
	Display_number(36*ASCIIX, 0*ASCIIY, 120/(flag_setting->flag_thickness_range + 1));
	Display_ASCIITable(37*ASCIIX, 2*ASCIIY, "mm");

	Display_ASCIITable(0*ASCIIX, 3*ASCIIY, "DIE GAP");
	Display_ASCIITable(17*ASCIIX, 3*ASCIIY, (flag_setting->flag_unit_type?"mm":"%"));
	Display_ASCIITable(20*ASCIIX, 3*ASCIIY, "WEIGHT");
	Display_number(36*ASCIIX, 3*ASCIIY, file_parameter->file_data[i]);	
	Display_ASCIITable(37*ASCIIX, 3*ASCIIY, "%");

	Display_ASCIITable(0*ASCIIX, 4*ASCIIY, "DELAY");
	Display_number(16*ASCIIX, 4*ASCIIY, file_parameter->movedelay);	
	Display_ASCIITable(17*ASCIIX, 4*ASCIIY, "%");
	Display_ASCIITable(20*ASCIIX, 4*ASCIIY, "RANGE H");
	Display_number(36*ASCIIX, 4*ASCIIY, file_parameter->range_high);
	Display_ASCIITable(37*ASCIIX, 4*ASCIIY, "%");

	Display_ASCIITable(0*ASCIIX, 5*ASCIIY, "CUSHION");
	Display_number(16*ASCIIX, 5*ASCIIY, file_parameter->movedelay);
	Display_ASCIITable(17*ASCIIX, 5*ASCIIY, "%");
	Display_ASCIITable(20*ASCIIX, 5*ASCIIY, "RANGE L");
	Display_number(36*ASCIIX, 5*ASCIIY, file_parameter->range_low);
	Display_ASCIITable(37*ASCIIX, 5*ASCIIY, "%");

//	for(i = 1; i <=32; i++)
//		{
//			Display_number((3*ASCIIX), ((38-i)*ASCIIY), (i*(flag_setting->flag_point_number+1)));//+4
//		}
	Display_number((3*ASCIIX), ((38)*ASCIIY), 1);
//
	Display_number((3*ASCIIX), 39*ASCIIY+1, 0*(flag_setting->flag_thickness_range + 1)*5);
	Display_number((10*ASCIIX), 39*ASCIIY+1, 1*(flag_setting->flag_thickness_range + 1)*5);
	Display_number((17*ASCIIX), 39*ASCIIY+1, 2*(flag_setting->flag_thickness_range + 1)*5);
	Display_number((24*ASCIIX), 39*ASCIIY+1, 3*(flag_setting->flag_thickness_range + 1)*5);
	Display_number((31*ASCIIX), 39*ASCIIY+1, 4*(flag_setting->flag_thickness_range + 1)*5);
	Display_number((38*ASCIIX), 39*ASCIIY+1, 5*(flag_setting->flag_thickness_range + 1)*5);
	Display_ASCIITable(39*ASCIIX, 39*ASCIIY+1, "%");

//
	ColorXLine((4*ASCIIX+1), (6*ASCIIY-1), 210);//+2
	ColorXLine((4*ASCIIX+1), (39*ASCIIY), 210);//-2
	ColorYLine((4*ASCIIX+1), (6*ASCIIY-1), 266);//+2
	ColorYLine((4*ASCIIX+1+210), (6*ASCIIY-1), 266);//+2

//	display_figure();

/*
	ColorYLine();

	for(i = 1; i <= 256; i++)
		{
		if(i<=200)
			
			DrawHorizontalLine(1594+i*30, i);
			else
				DrawHorizontalLine(1594+i*30, i-200);	
		Delay(30);
		}
	DrawHorizontalLine(9304, 200);

	DrawPerpendicularLine(6479, 258);


	//TEST
	for(i=0; i<257; i++)
		{
		DrawPerpendicularLine(37320-i*120, i);
		DrawPerpendicularLine(37321-i*120, i);
		Delay(20);
		}

	Display_character(1, 10, "-");
	*/
}


//modefied by liangweidong
//2005-8-26
void page_setmark(void)
{
	unsigned char i;

	Display_ASCIITable(0*ASCIIX, 0*ASCIIY, "NO.");

//
	for (i = 0; i < 32; i++)
		{
			Display_ASCIITable(2*ASCIIX, (2+i)*ASCIIY, "P");
			Display_number(4*ASCIIX, (2+i)*ASCIIY, i+1);
			Display_ASCIITable(6*ASCIIX, (2+i)*ASCIIY, "ON OFF");
		}

	if((flag_setting->flag_point_number == 2) ||(flag_setting->flag_point_number == 4))
		{
		for (i = 0; i < 32; i++)
			{
				Display_ASCIITable(14*ASCIIX, (2+i)*ASCIIY, "P");
				Display_number(16*ASCIIX, (2+i)*ASCIIY, i+33);
				Display_ASCIITable(18*ASCIIX, (2+i)*ASCIIY, "ON OFF");
			}
		}

//
	Display_ASCIITable(25*ASCIIX, 2*ASCIIY, "SLOPE SET");

	Display_ASCIITable(26*ASCIIX, 4*ASCIIY, "DIE GAP SLOPE");
	Display_number(34*ASCIIX, 5*ASCIIY, 0);
	Display_ASCIITable(35*ASCIIX, 5*ASCIIY, "%/SEC");

	Display_ASCIITable(26*ASCIIX, 7*ASCIIY, "START SLOPE");
	Display_number(34*ASCIIX, 8*ASCIIY, 0);
	Display_ASCIITable(35*ASCIIX, 8*ASCIIY,  "%/SEC");

//
	if(flag_setting->flag_point_number == 4)
		{
			Display_ASCIITable(28*ASCIIX, 38*ASCIIY,  "NEXT PAGE");
		}


}

//modefied by liangweidong
//2005-8-26
void page_setmark_next(void)
{
	unsigned char i;

	Display_ASCIITable(0*ASCIIX, 0*ASCIIY, "NO.");

	for (i = 0; i < 32; i++)
		{
			Display_ASCIITable(2*ASCIIX, (2+i)*ASCIIY, "P");

⌨️ 快捷键说明

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