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

📄 lcd_text.h

📁 一款收款机C源代码!因为是几年前的代码了
💻 H
字号:

#if TEXT_AVER_WIDTH == 9
	#define	MAX_LCD_TEXT			32		/* 最大可显示的字符为 (320/9), 同时这里再考虑旁边的边框多加一点,故仅用32个字符 */
	#define	MAX_TITLE_TEXT			32
	#define	MAX_INPUT_TEXT			32
	#define	MAX_SUB_TEXT			32
	#define	MAX_POP_TEXT			32		/* 为了统一,这个也是设置成了32个字符的宽度 */
	#define	MAX_TEXT				MAX_LCD_TEXT

	#if MAX_LCD_TEXT == MAX_STAT_TEXT && MAX_LCD_TEXT == MAX_INPUT_TEXT && MAX_LCD_TEXT == MAX_SUB_TEXT
	#define	MAX_LCD2_LEN			MAX_LCD_TEXT
	#endif
#endif // TEXT_AVER_WIDTH

#if LCD_LAYOUT_HOR_LINE == 13
	#define	LCD_TEXT_BTN_HEIGHT 		8		// 显示文本区所占的按键的高度
	#define	DISP_SGN_BTN_HEIGHT		37		// 每一个最薄的按键的高度
	#define	DISP_LCD_TEXT_LINE		18		// (8*37-1-2-2-2)/(13+3) = 18, 
	#define	MAX_LCD_TEXT_LINE			200	// 仅开辟200行的空间用于显示

	#define	POP_TEXT_BTN_HEIGHT 		4		// 弹出文本区所占的按键的高度
//	#define	DISP_SGN_BTN_HEIGHT		37		// 每一个最薄的按键的高度
	#define	DISP_POP_TEXT_LINE		8		// (4*37-1-2-2-2)/(13+3) = 8, 
	#define	MAX_POP_TEXT_LINE			20		// 有20行已经足够用于显示了
#elif LCD_LAYOUT_HOR_LINE == 10
	#define	LCD_TEXT_BTN_HEIGHT 		6		// 显示文本区所占的按键的高度
	#define	DISP_SGN_BTN_HEIGHT		48		// 每一个最薄的按键的高度
	#define	DISP_LCD_TEXT_LINE		16		// (6*48-1-2-2-2)/(13+3) = 17, 
	#define	MAX_LCD_TEXT_LINE			200	// 仅开辟200行的空间用于显示

	#define	POP_TEXT_BTN_HEIGHT 		3		// 弹出文本区所占的按键的高度
//	#define	DISP_SGN_BTN_HEIGHT		37		// 每一个最薄的按键的高度
	#define	DISP_POP_TEXT_LINE		8		// (4*37-1-2-2-2)/(13+3) = 8, 
	#define	MAX_POP_TEXT_LINE			20		// 有20行已经足够用于显示了
#else // LCD_LAYOUT_HOR_LINE
	#define	LCD_TEXT_BTN_HEIGHT 		9		// 显示文本区所占的按键的高度
	#define	DISP_SGN_BTN_HEIGHT		46		// 每一个最薄的按键的高度
	#define	DISP_LCD_TEXT_LINE		24		// (9*46-1-2-2-2)/(13+3) = 17, 
	#define	MAX_LCD_TEXT_LINE			200	// 仅开辟200行的空间用于显示

	#define	POP_TEXT_BTN_HEIGHT 		3		// 弹出文本区所占的按键的高度
//	#define	DISP_SGN_BTN_HEIGHT		37		// 每一个最薄的按键的高度
	#define	DISP_POP_TEXT_LINE		8		// (4*37-1-2-2-2)/(13+3) = 8, 
	#define	MAX_POP_TEXT_LINE			20		// 有20行已经足够用于显示了
#endif // LCD_LAYOUT_HOR_LINE





typedef struct{		/* The lcd text definition */
	byte cur_line;		/*当前显示行 (0 ~ MAX_LCD_TEXT_LINE-1) */
    byte fst_line;      /*允许反显的起始行号(0 ~ MAX_LCD_TEXT_LINE-1)*/
	byte max_line;		/*当前最大显示行 (1 ~ MAX_LCD_TEXT_LINE) */
	byte dsp_line_st;	/* 当前页显示起始行 (0~MAX_LCD_TEXT_LINE-1) */
	byte dsp_line_new;  /* 准备插入显示行位置,一般在队尾插入, 但是也可以在中间插入 (0~MAX_LCD_TEXT_LINE-1) */
    char text[MAX_LCD_TEXT_LINE][MAX_LCD_TEXT];
}LCD_TEXT_DEF;			/* 7205 bytes */

/*
	Note: The dsp_line_end may be smaller than the 
	说明: 这里面的数组部能够开到255个字节,因为在程序的算法中,因为在程序的某些地方还
			采用了一种快速特殊算法,是直接相加而后判断的。
*/
typedef struct{		/* The lcd text definition */
	byte cur_line;		/* Current line (1~MAX_LCD_TEXT_LINE) */
	byte max_line;		/* The maximum line (1~MAX_LCD_TEXT_LINE) */
	byte dsp_line_st;	/* The start display line (0~MAX_LCD_TEXT_LINE-1) */
	byte dsp_line_new;/* The new display line (0~MAX_LCD_TEXT_LINE-1) */
	char text[MAX_POP_TEXT_LINE][MAX_POP_TEXT];		/* 如果这里的数组过大,则下面的指针需要另外做一些处理 */
}POP_TEXT_DEF;			/* 7205 bytes */

char Tl_Title[MAX_TITLE_TEXT];
char Tl_Input[MAX_INPUT_TEXT];	/* The input data */
char Tl_Sub[MAX_SUB_TEXT];		/* The subtotal data, temporary use the LCD_LINE_TEXT_DEF */

⌨️ 快捷键说明

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