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

📄 hexcalc.c

📁 上位机液晶显示程序
💻 C
📖 第 1 页 / 共 5 页
字号:
/*----------------------------------------
   HEXCALC.C -- Hexadecimal Calculator
                (c) Charles Petzold, 1998
  ----------------------------------------*/

#include "file.h"
#include "config.h"
#include "mt_tmp.h"						///9.5.gai
#include "fuc_tmp.h"
#include "pattern.h"
#include "char_ict.h"//字符数据
#include "data_dst.h"//内置花样数据
#include "help.h"	 //实时帮助页面显示数据
//#include "dst.h"
//#include "data.h"
#define uchar unsigned char

//功能键定义
#define DesignKey 		31//花样选择
#define SetKey 			32//语言选择
#define IntroKey 		33//说明书
#define StartStopKey	34//开始绣
#define RealTimeHelp	35//实时帮助
#define RemoveUKey		36//安全移除u盘
//#define RemoveUKey 	35//
//#define StitchAdjKey 	36//
#define Key37			37
#define SWITCH		40//按键开关

/*
#define Status_Embroidery		0x01
#define Status_FrdSearch  		0x02
#define Status_RvrSearch 		0x03
#define Status_Forward			0x04
#define Status_Back			0x05
#define Status_StartPoint		0x06
#define Status_Trial			0x07
#define Status_Up				0x08
#define Status_Down			0x09
#define Status_Left			0x0A
#define Status_Right			0x0B
*/

#define StatusR_Ok			0x0C	
#define StatusR_ChangThread	0x0D
#define StatusR_ThreadBreak	0x0E

//#define StatusR_Stop		0x0F		//人为停机
//#define BreFigSize 			10
//#define Status_Stop		0x10
//#define Status_Fail			0x10
//#define Status_Succ		0x11

#define OutPutMax		12	//输入字符最多个数
#define DST_NUM			6	//内置花样个数

/*********************************************************************************************************************/
//uchar threadBrkOutFlag = 0;  		      				//断线标志位,置1表示断线
//uchar ChangThreadFlag = 0;						//换线检测,置1,表示要换线
//uchar startStopButtonFlag = 0;					//置1表示开始或停止
//*/

//---------temprary varibales(added by guwj)
//int Max_needle=700;
//int curr_needle=650;
//---------

//uchar USBInFlag = 0;							//置1表示有U盘插入
//uchar USBOutFlag = 0;							//置1表示U盘被移除

uchar breviaryFigPgTotal = 0;					//由读U盘时提供,每页提供6个缩略图,如果>6<=12,则breviaryFigPgTatol=1
uchar breviaryFigPgCurr = 0;					//缩略图所在页码
uchar breviaryFigNum = 0;						//由U盘操作那边返回,如果为0,则说明没有读到花样数据,显示错误信息
//uchar SMBSStatus = 0x05;						//单色,多色,大,小切换
//uchar designNumSel = 0;						//被选定的花样地址
uchar turnRoundStatus = 0;						//花样旋转状态:0-上;1-右;2-下;3-左.
uchar stitchStatusTmp = 0;						//保存临时针迹状态
uchar stitchStatus = 0;							//全局针迹状态

uchar screenWithThreadBreak   = 0x00;			//如果断线标志位置1,则记录当前屏幕的状态值
uchar screenReturnWithSetKey  = 0x00;			//语言选择返回页面界面
uchar screenReturnRemoveUSB = 0x00;				//移除u盘返回页面
uchar screenReturnIntroKey = 0x00;				//(非实时)帮助返回页面
uchar screenReturnjixie = 0x00;			//机械故障提示返回页

//uchar motorStatus = 0;							//电机工作状态选
uchar LanguageEC = 2;							// 1,中文  2,英文
uchar motorOnOff	= 0;						//开关状态,1,开;0,关									
uchar screenStatus ;								

uchar LCDMatrix[64][30];
uint16 aaa_test[64][64];//缩略图数据
//uint16 aaa_test[100][100];//缩略图数据

//--------------------------head----------------------------//
//uchar bNumByDesignPosition = 0;		
//uchar bNumLeft = 0;
//uchar bNumRight = 0;
//uchar upDown = 0;
//uchar intervalLeft = 0;
//uchar intervalRight = 0;
int designWidth = 0;
int designHight = 0;
int startDot = 0;
int startLine = 0;


//---------------------------head----------------------------//
//uchar minipicture[5][40][5];		//缩略图数组		
uchar file_dst[100000];			//一个花样的数据缓存		
int maxinf = 0;					//一个花样所对应的总缩略图个数
int cxnum=0;					//当前缩略图
int stopInsideEmbroidery = 0;	//1-代表禁止使用布局功能
								//在刺绣过程中停机,按"调整"直接进入跳针
int lowerPresserFoot = 0;		// 1:压脚杆没放下
struct dst_inf dst2HexP;
//int xxxxxx = 0;
//int xxxxx=0;
int designNum = 0;			//被选定的花样地址
int designNum_save = 0;		//花样太大时保存前一个选择的花样

////////////////////////////////////////////


	int charSize=1;			//0:小尺寸;  1:中;2- 大.默认为中
	//int zoom_char=100;	//字符缩放系数(百分比表示,100时为中号)	
	int currentPg=0;		//当前页码,0为第一页
	int lowerOrUpper=1;		//0:小写字符; 1:大写字符; 默认为大写字符
	uchar charInput[12];
	uchar charNum=0;
	//int layoutBychar=0;
	char kind;              //选择类型,1为字符,2为图案,3为边框
	int file_maxnum=0;		//最大文件个数
	uchar color_flag=1;		//单多色标记:0-单色,1-多色(默认为多色)
	uchar dst_flag=1;		//dst花样文件来源标记:1-usb读取;2-机内花样;
	uchar ReturnNum;		//实时帮助返回页面
	uchar HelpNum;			//实时帮助跳转页面
	uchar NumTemp=0;		//帮助页面个数

////////////////////////////////////////////

extern int moto_state;//added by guwj07.1.6
//int zihua_state=0;


extern int sendbuf_state;

//extern int UART0_SendStr(char * str);
//extern int UART0_SendByte(uint8 data);
extern char UART_data[5];
extern void number_to_char(uint8 data,char *tmp );

extern uint8 dst2map(struct dst_inf *ppp,uint16 *map);
extern uint8 Decode_DST_Header(struct dst_inf * p, uchar * file_mayb);
extern uint8 Decode_DST_Body(struct dst_inf * p, uchar * file_mayb);
extern uint8 Decode_DSB_Body(struct dst_inf * p, uchar * file_mayb);
//---------------------------end-----------------------------//

/*********************************************************************************************************************/



/***************调用函数******************************************************************************************/
//bit CheckUSBIn(void);									//U盘插入检测
//bit CheckUSBOut(void);									//U盘退出检测
//void LCDPlot(uchar x, uchar y, uchar uData);					//LCD显示函数
//uchar *USBReadData(uchar pageNum, uchar designNumSel);	//读取U盘第pageNum页,第designNum个花样的缩略图数据
//void MotorStepperMove(struct MotorData3Byte uData);

uchar GetKey(void);										//触摸屏按键返回
//uchar MotorStepperMove(uchar motorStatus);					//电机驱动函数,检测motorOnOff
//void  ShowScreenWithLCD(uchar display);					//LCD显示函数,
/*********************************************************************************************************************/



/*
int SC_x[13]=
{
	0,24,48,72,96,120,144,168,192,216,240,245,250
};
		
int SC_y[4]=
{
	0,20,42,64
};

int MS_X,MS_Y,lcdkey;
*/
//uchar GetKey(void)

⌨️ 快捷键说明

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