📄 g19264-ly.h
字号:
/*写汉字液晶子程 液晶屏分为4行*12列汉字,全部使用模拟接口方式。
/* TGLCMLIMIT64A接口程序(模拟方式)
液晶模块供应商:广州市盛宝电子有限公司 Tel:020-87592491 Fax:87541571
Email: tinsharp@public.guangzhou.gd.cn
;***************************************************************************
;连线图:
;*LCM---89C52* *LCM---89C52* *LCM-------89C52* *LCM----------89C52* *
;*DB0---P0.0* *DB4---P0.4* *D/I-------P2.6* *CS1----------P2.4* *
;*DB1---P0.1* *DB5---P0.5* *R/W-------P2.7* *CS2----------P2.5* *
;*DB2---P0.2* *DB6---P0.6* *RST--------VCC* *CS3----------P3.2* *
;*DB3---P0.3* *DB7---P0.7* *E---------P2.3* *
;注:89C52的晶振频率为12MHz *
;***************************************************************************/
//画线部分请参照avr的c程序。
//#pragma src /*生成ASM文件开关,必要时打开 */
#include<reg52.h>
#include<math.h>
#include<INTRINS.H>
#define Uchar unsigned char
#define word unsigned int
#define byte unsigned char
#define dword unsigned long
#define uchar unsigned char
sfr T2MOD=0xc9;
sfr P4 = 0xe8;
sfr P4CONA = 0xC2;
sfr P4CONB = 0xC3;
sfr CHPCON = 0xBF;
sfr CHPENR = 0xF6;
sfr XICON = 0xC0;
sfr WDT_CONTR=0xe1;//看门狗寄存器
sbit P4_0=P4^0;
sbit P4_1=P4^1;
sbit P4_2=P4^2;
sbit P4_3=P4^3;
sbit BL=P4^3; //背光源
sbit BEEP=P1^0; //蜂鸣器
bit keydn=0;//键盘有效按下标志位
bit enterflg;//确认键按下与否标志
Uchar read_count;
Uchar data keybuf;//输入密码存储区
Uchar read_count;
Uchar card_id[3];
#define WDT 63
/***********液晶显示器接口引脚定义***************/
sbit Elcm= P1^1; //
sbit CS1LCM= P3^4; //
sbit CS2LCM= P4^0; //
sbit CS3LCM= P4^2; /*这个连接只是做实验的临时接法。*/
sbit Dilcm= P1^5; //
sbit Rwlcm= P1^2; //
sfr Datalcm= 0x80; //数据口
//sbit CEDS = P1^1;
/***********常用操作命令和参数定义***************/
#define DISPON 0x3f /*显示on */
#define DISPOFF 0x3e /*显示off */
#define DISPFIRST 0xc0 /*显示起始行定义 */
#define SETX 0x40 /*X定位设定指令(页) */
#define SETY 0xb8 /*Y定位设定指令(列) */
#define Lcdbusy 0x80 /*LCM忙判断位 */
/**************显示分区边界位置*****************/
#define MODL 0x00 /*左区 */
#define MODM 0x40 /*左区和中区分界 */
#define MODR 0x80 /*中区和右区分界 */
#define LCMLIMIT 0xC0 /*显示区的右边界 */
/****************全局变量定义*******************/
Uchar col,row,cbyte; /*列x,行(页)y,输出数据 */
Uchar alarm;
/*****************函数列表**********************/
void Lcminit(void); /*液晶模块初始化 */
void Delay(Uchar); /*延时,入口数为Ms */
void lcdbusyL(void); /*busy判断、等待(左区) */
void lcdbusyM(void); /*busy判断、等待(中区) */
void lcdbusyR(void); /*busy判断、等待(右区) */
void Putedot(Uchar); /*半角字符输出 */
void Putcdot(Uchar); /*全角(汉字)输出 */
void Wrdata(Uchar); /*数据输出给LCM */
void Lcmcls( void ); /*LCM全屏幕清零(填充0) */
void wtcom(void); /*公用busy等待 */
void Locatexy(void); /*光标定位 */
void WrcmdL(Uchar); /*左区命令输出 */
void WrcmdM(Uchar); /*中区命令输出 */
void WrcmdR(Uchar); /*右区命令输出 */
void Putstr(Uchar *puts,Uchar i); /*中英文字符串输出 */
void Rollscreen(Uchar x); /*屏幕向上滚动演示 */
void Rddata(void); /* 从液晶片上读数据 */
void Linehv(Uchar length); /*横(竖)方向画线 */
void point(void); /*打点 */
void Linexy(Uchar endx,Uchar endy);/*画线。任意方向的斜线,不支持垂直的或水平线 */
Uchar getdate(uchar);//读时间
void init_ds(void);
void init_serial(); //串口初始化
/******************数组列表*********************/
Uchar code Ezk[]; /*ASCII常规字符点阵码表 */
Uchar code Hzk[]; /*自用汉字点阵码表 */
Uchar code STR1[]; /*自定义字符串 */
Uchar code STR2[]; //
Uchar code STR3[]; //
Uchar code STR4[];
Uchar code HZ[];
Uchar code STR2[]=
{
0x80,0x81,0x82,0x83,0x84,0x85,
0x86,0x87,0x88,0x89,0x8a,0x8B
};
Uchar code HZ[]={
/*-- 文字: 年 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,
0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,
0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,
0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
/*-- 文字: 月 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,
0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,
0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00,
/*-- 文字: 日 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,
0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,
/*时 CCAB1 */
0x00,0xFC,0xFC,0x44,0x44,0xFC,0xFC,0x90,
0x90,0x10,0x10,0xFF,0xFF,0x10,0x10,0x10,
0x00,0x07,0x07,0x04,0x04,0x07,0x07,0x00,
0x03,0x43,0xC0,0xFF,0x7F,0x00,0x00,0x00,
/*分 CB7D6 */
0x80,0xC0,0x60,0xB8,0x9F,0x87,0x82,0x80,
0x83,0x87,0x9C,0xB8,0x70,0xE0,0xC0,0x40,
0x00,0x80,0xC0,0x60,0x30,0x1F,0x0F,0x00,
0x20,0x60,0x7F,0x3F,0x00,0x00,0x00,0x00,
/*秒 CC3EB */
0x12,0x12,0xD2,0xFE,0xFF,0x91,0xD1,0xF8,
0x38,0x10,0xFF,0xFF,0x08,0x18,0x70,0x60,
0x04,0x07,0x03,0xFF,0xFF,0x83,0x83,0xC0,
0x40,0x60,0x23,0x33,0x18,0x0C,0x07,0x03,
/*-- 文字: 星 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,
0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,
0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,
0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00,
/*-- 文字: 期 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -