📄 mega16lcdyxd240128t6963c.c
字号:
/*
********************************************************************************
* LCD Test Software
*
*
* File : Mega16LCDyxd240128T6963c.c
* By : WangXinJia
* Version : V0.0
* Data : 2006-11-25
* HardWare : -MCU- |-Atmega16 -|-Ext 8MHz -|
-LCD- |-YXD-240128V601G|
-LCD Chip- |-T6963C -|-TOSHIBA -|
* Function :
* Bug :
* Link : -DIR-DB- |-PA0
_______________ ______________
| | --1|FG |
| | --2|GND |
| | --3|+5V |
| | --4|V0 |
| PA3|--------5|WR |
| PA2|--------6|RD |
| PA1|--------7|CE |
| PC0|--------8|CD |
|CPU PD5|--------9|RST |
|ATmmega16L PB0|-------10|D0 LCD |
| PB1|-------11|D1 240128 |
| PB2|-------12|D2 |
| PB3|-------13|D3 |
| PB4|-------14|D4 |
| PB5|-------15|D5 |
| PB6|-------16|D6 |
| PB7|-------17|D7 |
| PD7|-------18|FS |
| | --19|A |
| | --20|K |
| | --21|-VOUT |
|______________| |______________|
********************************************************************************
*/
#include <iom16v.h>
#include <macros.h>
#include <math.h>
#include <string.h>
#include <eeprom.h>
#define xtal 8 //晶振8MHZ
#define uchar unsigned char
#define uint unsigned int
#define ramend 0x45f
//******************************************************************************
//LCD IO Macro Define
//******************************************************************************
#define WR_SET PORTA|=BIT(3)
#define WR_CLR PORTA&=~BIT(3)
#define RD_SET PORTA|=BIT(2)
#define RD_CLR PORTA&=~BIT(2)
#define CE_SET PORTA|=BIT(1)
#define CE_CLR PORTA&=~BIT(1)
#define CD_SET PORTC|=BIT(0)
#define CD_CLR PORTC&=~BIT(0)
#define FS_SET PORTD|=BIT(7)
#define FS_CLR PORTD&=~BIT(7)
#define IN_DIR PORTA|=BIT(0)
#define OUT_DIR PORTA&=~BIT(0)
#define RST_SET PORTD|=BIT(5)
#define RST_CLR PORTD&=~BIT(5)
#define LCDLINE 16
#define LCDCOLUMN 30
#define TXHOME 0x40
#define TXAREA 0x41
#define GRHOME 0x42
#define GRAREA 0x43
#define CUPSET 0x21
#define OFFSET 0x22
#define ADPSET 0x24
#define AWRON 0xB0
#define AREON 0xB1
#define AWROFF 0xB2
//******************************************************************************
//LCD 8*8
//******************************************************************************
//#define BLANK 0
#define BLACK 1
#define ONLINE 2
#define MIDLINE 3
#define UNDERLINE 4
#define LEFTLINE 5
#define RIGHTLINE 6
//******************************************************************************
//LCD 16*16
//******************************************************************************
#define BLANK 0
#define ARROW 1
#define HOOK 2
#define FORK 3
//#define FORK 4
#define ONE 5
#define TWO 6
#define THREE 7
#define FOUR 8
#define FIVE 9
#define JIAN 10
#define KONG 11
#define HUA 12
#define MIAN 13
#define CAN 14
#define SHU 15
#define SE1 16
#define ZHI 17
#define XIN 18
#define HAO 19
#define CE 20
#define SHI 21
#define HUA1 22
#define YANG 23
#define BIAN 24
#define ZHI1 25
#define QUAN 26
#define XIAN 27
#define JING 28
#define WEI 29
#define TING 30
#define JIAO 31
#define DU 32
#define JIAN1 33
#define LING 34
#define MIN 35
#define KAI 36
#define SHI2 37
#define JIE 38
#define SU 39
#define XUN 40
#define FANG 41
#define SHI3 42
#define ZHAO 43
#define BU 44
#define CHANG 45
#define XIANG 46
#define TUO 47
#define ZHENG 48
#define XIN1 49
#define WEN 50
#define JIAN2 51
#define DA 52
#define YI 53
#define YOU 54
#define MING 55
#define HANG 56
#define SE2 57
#define BU1 58
#define CHANG1 59
#define DIAN 60
#define DONG 61
#define SU1 62
#define MI 63
#define SHA 64
#define QI 65
#define DING 66
#define LI 67
#define MI1 68
#define DAN 69
#define SHUANG 70
#define DUAN 71
#define CI 72
#define BAN 73
#define CHANG2 74
#define LIANG 75
#define ZHI2 76
#define ZONG 77
#define CHE 78
#define JI 79
#define ZHUANG 80
#define TAI 81
#define QI1 82
#define TA 83
#define FANG1 84
//******************************************************************************
//Global Variable Define
//******************************************************************************
#pragma data: code
const uchar GrCode[8*10]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//blank --80
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//black --81
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//online --82
0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,//middleline--83
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,//underline --84
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//leftline --85
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01//rightline --86
};
const uchar ChCode[][32]={
//;-- -- ** 宋体, 12 **0
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//;-- ARROW -- ** 1
0x00,0x00,0x00,0x00,0x06,0x00,0x0A,0x00,0x14,0x00,0x28,0x00,0x5F,0xFE,0x80,0x02,
0x5F,0xFE,0x28,0x00,0x14,0x00,0x0A,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//;-- HOOK -- ** 2
0xFF,0xFF,0x80,0x01,0x80,0x01,0x80,0x03,0x80,0x05,0x80,0x09,0x80,0x11,0xA0,0x21,
0x90,0x41,0x88,0x81,0x85,0x01,0x82,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xFF,0xFF,
//;-- FORK -- ** 3
0xFF,0xFF,0x80,0x01,0x80,0x01,0x90,0x09,0x88,0x11,0x84,0x21,0x82,0x41,0x81,0x81,
0x81,0x81,0x82,0x41,0x84,0x21,0x88,0x11,0x90,0x09,0x80,0x01,0x80,0x01,0xFF,0xFF,
//;-- -- ** 宋体, 12 **4(Revered)
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//;-- 一 -- ** 宋体, 12 **5 ONE
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xFE,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//;-- 二 -- ** 宋体, 12 **6 TWO
0x00,0x00,0x00,0x10,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
//;-- 三 -- ** 宋体, 12 **7 THREE
0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0x00,0x00,
//;-- 四 -- ** 宋体, 12 **8 FOUR
0x00,0x00,0x7F,0xFC,0x44,0x84,0x44,0x84,0x44,0x84,0x44,0x84,0x44,0x84,0x44,0x84,
0x48,0x84,0x48,0x7C,0x50,0x04,0x60,0x04,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00,
//;-- 五 -- ** 宋体, 12 **9 FIVE
0x00,0x00,0x7F,0xF8,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x20,0x3F,0xF0,
0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x24,0xFF,0xFE,0x00,0x00,0x00,0x00,
//;-- 监 -- ** 宋体, 12 **10 JIAN
0x04,0x80,0x24,0xC0,0x24,0x80,0x24,0xFE,0x25,0x40,0x26,0x20,0x24,0x30,0x04,0x10,
0x00,0x00,0x3F,0xF8,0x24,0x88,0x24,0x88,0x24,0x88,0x24,0x88,0xFF,0xFE,0x00,0x00,
//;-- 控 -- ** 宋体, 12 **11 KONG
0x10,0x00,0x10,0x20,0x10,0x10,0xFD,0xFE,0x11,0x04,0x10,0x50,0x14,0x8C,0x19,0x04,
0x30,0x00,0xD1,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x53,0xFE,0x20,0x00,
//;-- 画 -- ** 宋体, 12 **12 HUA
0x00,0x00,0xFF,0xFE,0x00,0x00,0x0F,0xE0,0x49,0x24,0x49,0x24,0x4F,0xE4,0x49,0x24,
0x49,0x24,0x49,0x24,0x4F,0xE4,0x48,0x24,0x40,0x04,0x7F,0xFC,0x40,0x04,0x00,0x00,
//;-- 面 -- ** 宋体, 12 **13 MIAN
0x00,0x00,0x7F,0xFE,0x02,0x00,0x04,0x00,0x3F,0xFC,0x24,0x44,0x24,0x44,0x27,0xC4,
0x24,0x44,0x24,0x44,0x27,0xC4,0x24,0x44,0x24,0x44,0x3F,0xFC,0x20,0x04,0x00,0x00,
//;-- 参 -- ** 宋体, 12 **14 CAN
0x04,0x00,0x0C,0x20,0x11,0xF0,0x3F,0x10,0x02,0x00,0xFF,0xFC,0x04,0x40,0x09,0x20,
0x32,0x18,0xCC,0x6E,0x31,0x84,0x06,0x18,0x18,0x60,0x03,0x80,0x7C,0x00,0x00,0x00,
//;-- 数 -- ** 宋体, 12 **15 SHU
0x08,0x20,0x49,0x30,0x2A,0x20,0x1C,0x20,0xFF,0x7E,0x1C,0x44,0x2B,0x44,0x48,0xC4,
0x08,0x28,0xFF,0x28,0x12,0x10,0x34,0x10,0x0C,0x28,0x32,0x4E,0xC0,0x84,0x00,0x00,
//;-- 设 -- ** 宋体, 12 **16 SE1
0x40,0x00,0x21,0xF0,0x31,0x10,0x21,0x10,0x01,0x10,0x01,0x10,0xE2,0x0E,0x25,0xF8,
0x21,0x08,0x21,0x08,0x20,0x90,0x20,0x90,0x28,0x60,0x30,0x90,0x23,0x0E,0x0C,0x04,
//;-- 置 -- ** 宋体, 12 **17 ZHI
0x3F,0xF8,0x24,0x48,0x24,0x48,0x3F,0xF8,0x01,0x00,0x7F,0xFC,0x02,0x00,0x1F,0xF0,
0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0xFF,0xFE,
//;-- 信 -- ** 宋体, 12 **18 XIN
0x08,0x80,0x0C,0x60,0x18,0x40,0x17,0xFE,0x30,0x00,0x33,0xF8,0x50,0x00,0x93,0xF8,
0x10,0x00,0x13,0xF8,0x12,0x08,0x12,0x08,0x12,0x08,0x13,0xF8,0x12,0x08,0x00,0x00,
//;-- 号 -- ** 宋体, 12 **19 HAO
0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0xFF,0xFE,0x08,0x00,
0x08,0x00,0x1F,0xF0,0x08,0x10,0x00,0x10,0x00,0x10,0x01,0x10,0x00,0xA0,0x00,0x40,
//;-- 测 -- ** 宋体, 12 **20 CE
0x40,0x02,0x27,0xC2,0x24,0x42,0x84,0x52,0x45,0x52,0x55,0x52,0x15,0x52,0x25,0x52,
0x25,0x52,0x25,0x52,0xC5,0x52,0x41,0x02,0x42,0x82,0x42,0x42,0x44,0x4A,0x48,0x04,
//;-- 试 -- ** 宋体, 12 **21 SHI
0x00,0x20,0x40,0x28,0x20,0x24,0x30,0x24,0x27,0xFE,0x00,0x20,0xE0,0x20,0x27,0xE0,
0x21,0x20,0x21,0x10,0x21,0x10,0x21,0x0A,0x29,0xCA,0x36,0x06,0x20,0x02,0x00,0x00,
//;-- 花 -- ** 宋体, 12 **22 HUA1
0x04,0x40,0x04,0x40,0xFF,0xFE,0x04,0x40,0x08,0x00,0x0C,0x80,0x08,0x90,0x18,0x98,
0x28,0xA0,0x48,0xC0,0x09,0x80,0x0A,0x84,0x08,0x84,0x08,0x86,0x08,0x7C,0x08,0x00,
//;-- 样 -- ** 宋体, 12 **23 YANG
0x11,0x08,0x10,0x88,0x10,0x90,0xFD,0xFE,0x10,0x20,0x30,0x20,0x39,0xFC,0x54,0x20,
0x50,0x20,0x90,0x20,0x13,0xFE,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,
//;-- 编 -- ** 宋体, 12 **24 BIAN
0x10,0x80,0x18,0x40,0x23,0xFC,0x22,0x04,0x4A,0x04,0xFB,0xFC,0x12,0x00,0x23,0xFC,
0x7B,0x54,0x03,0x54,0x05,0xFC,0x35,0x54,0xC5,0x54,0x09,0x54,0x11,0x0C,0x00,0x00,
//;-- 制 -- ** 宋体, 12 **25 ZHI1
0x24,0x04,0x34,0x04,0x24,0x24,0x3F,0xA4,0x44,0x24,0x04,0x24,0x7F,0xA4,0x04,0x24,
0x3F,0xA4,0x24,0xA4,0x24,0xA4,0x24,0xA4,0x24,0x84,0x27,0x84,0x05,0x14,0x04,0x08,
//;-- 权 -- ** 宋体, 12 **26 QUAN
0x10,0x00,0x10,0x00,0x11,0xFC,0xFE,0x84,0x10,0x88,0x30,0x88,0x38,0x88,0x34,0x48,
0x54,0x50,0x50,0x50,0x90,0x20,0x10,0x20,0x10,0x50,0x11,0x8E,0x16,0x04,0x10,0x00,
//;-- 限 -- ** 宋体, 12 **27 XIAN
0x00,0x00,0xFB,0xF8,0x92,0x08,0x93,0xF8,0xA2,0x08,0xA2,0x08,0x93,0xF8,0x8A,0x80,
0x8A,0x48,0xAA,0x50,0x92,0x20,0x82,0x20,0x82,0x10,0x82,0x8E,0x83,0x04,0x82,0x00,
//;-- 经 -- ** 宋体, 12 **28 JING
0x10,0x00,0x11,0xFC,0x20,0x08,0x20,0x10,0x48,0x30,0xF0,0xC8,0x13,0x06,0x20,0x02,
0x41,0xFC,0xF8,0x20,0x00,0x20,0x00,0x20,0x18,0x20,0xE3,0xFE,0x00,0x00,0x00,0x00,
//;-- 纬 -- ** 宋体, 12 **29 WEI
0x10,0x40,0x10,0x40,0x23,0xFE,0x24,0x40,0x44,0x40,0xFB,0xFC,0x10,0x40,0x20,0x40,
0x43,0xFE,0xF8,0x42,0x00,0x42,0x0C,0x42,0xF0,0x4A,0x40,0x44,0x00,0x40,0x00,0x40,
//;-- 停 -- ** 宋体, 12 **30 TING
0x08,0x40,0x0C,0x20,0x0B,0xFE,0x10,0x00,0x11,0xF8,0x31,0x08,0x51,0xF8,0x90,0x00,
0x17,0xFE,0x14,0x02,0x11,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0xA0,0x10,0x40,
//;-- 角 -- ** 宋体, 12 **31 JIAO
0x04,0x00,0x07,0xF8,0x04,0x10,0x08,0x20,0x1F,0xFC,0x30,0x84,0x50,0x84,0x1F,0xFC,
0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,0x20,0x84,0x20,0x94,0x40,0x88,
//;-- 度 -- ** 宋体, 12 **32 DU
0x01,0x00,0x00,0x80,0x3F,0xFE,0x22,0x20,0x22,0x20,0x2F,0xFC,0x22,0x20,0x23,0xE0,
0x20,0x00,0x27,0xF8,0x22,0x10,0x21,0x20,0x20,0xC0,0x41,0x30,0x46,0x0E,0x98,0x04,
//;-- 检 -- ** 宋体, 12 **33 JIAN1
0x10,0x40,0x10,0x40,0x10,0xA0,0xFD,0x10,0x12,0x0E,0x38,0x00,0x35,0xF8,0x50,0x00,
0x50,0x88,0x92,0x4C,0x11,0x48,0x11,0x50,0x10,0x20,0x17,0xFE,0x10,0x00,0x00,0x00,
//;-- 灵 -- ** 宋体, 12 **34 LING
0x00,0x08,0x3F,0xFC,0x00,0x08,0x1F,0xF8,0x00,0x08,0x3F,0xF8,0x01,0x08,0x01,0x90,
0x09,0x10,0x09,0x20,0x12,0x80,0x02,0x40,0x04,0x20,0x08,0x1C,0x30,0x08,0x40,0x00,
//;-- 敏 -- ** 宋体, 12 **35 MIN
0x20,0x40,0x20,0x60,0x7F,0x40,0x40,0x40,0x7E,0xFE,0xB2,0xC8,0x2B,0x48,0x22,0x48,
0xFF,0x48,0x32,0x28,0x2A,0x30,0x22,0x10,0x3F,0xA8,0x02,0x28,0x0A,0x46,0x04,0x84,
//;-- 开 -- ** 宋体, 12 **36 KAI
0x00,0x00,0x7F,0xFE,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFF,0xFE,0x04,0x20,
0x04,0x20,0x04,0x20,0x08,0x20,0x08,0x20,0x10,0x20,0x20,0x20,0x40,0x20,0x00,0x00,
//;-- 始 -- ** 宋体, 12 **37 SHI2
0x10,0x20,0x18,0x30,0x10,0x20,0x10,0x48,0xFC,0x84,0x25,0xFE,0x24,0x84,0x44,0x00,
0x44,0xFC,0x28,0x84,0x18,0x84,0x14,0x84,0x22,0x84,0x42,0xFC,0x80,0x84,0x00,0x00,
//;-- 结 -- ** 宋体, 12 **38 JIE
0x10,0x20,0x10,0x20,0x20,0x20,0x23,0xFE,0x48,0x20,0xF0,0x20,0x11,0xFC,0x20,0x00,
0x40,0x00,0xF9,0xFC,0x01,0x04,0x01,0x04,0x19,0x04,0xE1,0xFC,0x01,0x04,0x00,0x00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -