📄 12864lcd.c
字号:
#include "c51base.h"
/********************************************/
/* AM12864系列测试程序 1.0 */
/* Designed by Andorin LCM R&D Group */
/* 2003.04.23 */
/********************************************/
/* Define the register command code */
#define Disp_On 0x3f
#define Disp_Off 0x3e
#define Col_Add 0x40
#define Page_Add 0xb8
#define Start_Line 0xc0
// ASCII 字模高度定义
#define ASC_CHR_HEIGHT 16
// ASCII 字模,显示为8*16
char code ASC_MSK[96*16] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18, /*-- ! --*/
0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00, /*-- " --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36, /*-- # --*/
0x36,0x7F,0x36,0x36,0x00,0x00,0x00,0x00,
0x00,0x18,0x18,0x3C,0x66,0x60,0x30,0x18, /*-- $ --*/
0x0C,0x06,0x66,0x3C,0x18,0x18,0x00,0x00,
0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00, /*-- % --*/
0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,
0x00,0x00,0x00,0x38,0x6C,0x6C,0x38,0x60, /*-- & --*/
0x6F,0x66,0x66,0x3B,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00, /*-- ' --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0C,0x18,0x18,0x30,0x30, /*-- ( --*/
0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00,
0x00,0x00,0x00,0x30,0x18,0x18,0x0C,0x0C, /*-- ) --*/
0x0C,0x0C,0x0C,0x18,0x18,0x30,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x36,0x1C,0x7F, /*-- * --*/
0x1C,0x36,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E, /*-- + --*/
0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- , --*/
0x00,0x00,0x1C,0x1C,0x0C,0x18,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- - --*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- . --*/
0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x06,0x06,0x0C,0x0C,0x18, /*-- / --*/
0x18,0x30,0x30,0x60,0x60,0x00,0x00,0x00,
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, /*-- 0 --*/
0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00, /*-- 1 --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00, /*-- 2 --*/
0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00, /*-- 3 --*/
0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00, /*-- 4 --*/
0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00, /*-- 5 --*/
0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00, /*-- 6 --*/
0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00, /*-- 7 --*/
0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00, /*-- 8 --*/
0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, /*-- 9 --*/
0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,
0x00,0x00,0x00,0xc0,0xc0,0x00,0x00,0x00, /*-- : --*/
0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00, /*-- ; --*/
0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,
0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0x00, /*-- < --*/
0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x00,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00, /*-- = --*/
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
0x00,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00, /*-- > --*/
0x01,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,
0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00, /*-- ? --*/
0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,
0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00, /*-- @ --*/
0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00, /*-- A --*/
0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,
0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00, /*-- B --*/
0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,
0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00, /*-- C --*/
0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,
0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00, /*-- D --*/
0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00, /*-- E --*/
0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00, /*-- F --*/
0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,
0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00, /*-- G --*/
0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08, /*-- H --*/
0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,
0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00, /*-- I --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00, /*-- J --*/
0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00, /*-- K --*/
0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00, /*-- L --*/
0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,
0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00, /*-- M --*/
0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,
0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08, /*-- N --*/
0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00, /*-- O --*/
0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,
0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00, /*-- P --*/
0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00, /*-- Q --*/
0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00, /*-- R --*/
0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00, /*-- S --*/
0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,
0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00, /*-- T --*/
0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08, /*-- U --*/
0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08, /*-- V --*/
0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00, /*-- W --*/
0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,
0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08, /*-- X --*/
0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,
0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00, /*-- Y --*/
0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,
0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00, /*-- Z --*/
0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00, /*-- [ --*/
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00, /*-- \ --*/
0x00,0x00,0x08,0x04,0x06,0x04,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- ] --*/
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00, /*-- ^ --*/
0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,
0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00, /*-- _ --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*-- ` --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00, /*-- a --*/
0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00, /*-- b --*/
0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00, /*-- c --*/
0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00, /*-- d --*/
0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00, /*-- e --*/
0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18, /*-- f --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00, /*-- g --*/
0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00, /*-- h --*/
0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00, /*-- i --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00, /*-- j --*/
0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00, /*-- k --*/
0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00, /*-- l --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, /*-- m --*/
0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00, /*-- n --*/
0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00, /*-- o --*/
0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00, /*-- p --*/
0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00, /*-- q --*/
0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00, /*-- r --*/
0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00, /*-- s --*/
0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00, /*-- t --*/
0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00, /*-- u --*/
0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80, /*-- v --*/
0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80, /*-- w --*/
0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00, /*-- x --*/
0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80, /*-- y --*/
0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, /*-- z --*/
0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,
0x00,0x00,0x00,0x0C,0x18,0x18,0x18,0x30, /*-- { --*/
0x60,0x30,0x18,0x18,0x18,0x0C,0x00,0x00,
0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18, /*-- | --*/
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x00,0x00,0x00,0x30,0x18,0x18,0x18,0x0C, /*-- } --*/
0x06,0x0C,0x18,0x18,0x18,0x30,0x00,0x00,
0x06,0xC6,0x30,0x08,0x08,0x08,0x08,0x38, /*-- ℃ --*/
0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,
};
typedef struct typFNT_GB16 // 汉字字模数据结构
{
signed char Index[2];
char Msk[32];
};
struct typFNT_GB16 code GB_16[] = { // 显示为16*16
"检",0x00,0x40,0x40,0xF0,0xF0,0x40,0x80,0xC0,0x60,0x30,0x50,0xC0,0x80,0x80,0x80,0x00,
0x00,0x0C,0x06,0x3F,0x3F,0x21,0x30,0x3F,0x11,0x1F,0x11,0x1E,0x12,0x01,0x01,0x00,
"查",0x00,0x00,0x00,0x20,0xA0,0xA0,0x60,0xF0,0xF0,0x60,0xE0,0xA0,0xA0,0x00,0x00,0x00,
0x00,0x01,0x01,0x31,0x11,0x1F,0x1D,0x1D,0x1D,0x1D,0x1F,0x27,0x21,0x03,0x03,0x00,
"湿",0x00,0x80,0x60,0x60,0x40,0x00,0xF0,0x60,0x60,0x60,0x60,0x60,0xE0,0x00,0x00,0x00,
0x00,0x11,0x19,0x09,0x16,0x12,0x17,0x19,0x1F,0x11,0x1F,0x11,0x17,0x32,0x30,0x10,
"度",0x00,0x00,0x00,0xE0,0xA0,0xA0,0xE0,0x70,0x70,0x60,0xE0,0x60,0x60,0x00,0x00,0x00,
0x00,0x18,0x1C,0x07,0x20,0x30,0x13,0x17,0x0D,0x0F,0x0F,0x18,0x10,0x30,0x30,0x00,
"温",0x00,0x80,0x20,0x60,0x40,0x00,0xF0,0xD0,0xE0,0xE0,0xD0,0xF0,0x20,0x00,0x00,0x00,
0x00,0x19,0x19,0x2D,0x11,0x12,0x1E,0x12,0x1E,0x12,0x1E,0x12,0x1E,0x30,0x30,0x00,
"定",0x00,0x00,0xE0,0x20,0xA0,0xA0,0xA0,0xB0,0xB0,0xA0,0xA0,0x20,0x60,0x00,0x00,0x00,
0x00,0x10,0x18,0x08,0x0C,0x07,0x04,0x0F,0x0A,0x0A,0x1A,0x10,0x30,0x30,0x30,0x00,
"关",0x00,0x00,0x00,0x40,0x40,0x70,0x60,0xC0,0xC0,0x60,0x70,0x40,0x40,0x00,0x00,0x00,
0x00,0x02,0x12,0x32,0x32,0x12,0x1E,0x0F,0x03,0x0E,0x0A,0x12,0x12,0x22,0x02,0x00,
"开",0x00,0x00,0xA0,0xA0,0xA0,0xA0,0xE0,0xA0,0xA0,0xE0,0xE0,0xA0,0x20,0x00,0x00,0x00,
0x00,0x01,0x11,0x19,0x18,0x0F,0x03,0x00,0x00,0x3F,0x1F,0x01,0x01,0x01,0x01,0x00,
"自",0x00,0x00,0x40,0xE0,0x40,0x40,0x70,0x50,0x40,0x40,0x40,0xC0,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x3F,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x3F,0x1F,0x00,0x00,0x00,
"年",0x00,0x00,0x40,0xC0,0xA0,0xB0,0xB0,0xE0,0xE0,0xA0,0xA0,0xA0,0xA0,0x00,0x00,0x00,
0x00,0x06,0x06,0x03,0x03,0x02,0x02,0x3F,0x3F,0x02,0x02,0x06,0x06,0x06,0x06,0x02,
"月",0x00,0x00,0x00,0x00,0x10,0xF0,0xA0,0xA0,0xA0,0xA0,0xA0,0xF0,0x60,0x00,0x00,0x00,
0x00,0x10,0x10,0x18,0x0C,0x07,0x02,0x02,0x02,0x02,0x02,0x3F,0x18,0x00,0x00,0x00,
"日",0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0xE0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x11,0x11,0x11,0x11,0x11,0x1F,0x00,0x00,0x00,0x00,0x00,
"星",0x00,0x00,0x00,0x20,0xF0,0xD0,0xD0,0xD0,0xD0,0xD0,0xD0,0xF0,0x00,0x00,0x00,0x00,
0x00,0x10,0x14,0x1A,0x17,0x16,0x16,0x1F,0x1F,0x16,0x16,0x16,0x10,0x30,0x30,0x10,
"期",0x00,0x00,0x20,0x20,0xF0,0xA0,0xA0,0xF0,0x20,0x00,0xE0,0xA0,0xA0,0xE0,0x00,0x00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -