📄 lcd.lst
字号:
C51 COMPILER V7.50 LCD 08/25/2007 20:35:38 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: F:\soft\[Keil2]\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************************
2 出品 DoYoung.net
3 程序名 Dy-12864LC 驱动程序
4 制作人 杜洋
5 日期 2007-4-18
6 参数 MCS-51 12MHZ PG12864LRS-JNN-H
7 /*********************************************************************************************
8 //更新日志
9 2007-4-19|21:49 杜洋 增加显示的涮屏动态效果参数
10 2007-4-18|22:54 杜洋 完成校验与测试
11 2007-4-18|20:51 杜洋 开始起草
12 /*********************************************************************************************
13 //程序说明
14 本程序是 PG12864LRS-JNN-H 图形液晶显示屏模块的专用驱动程序及测试程序
15 本程序须配合 PG12864LRS-JNN-H 技术手册(DoYoung.net原创)一同参考使用
16 仔细了解程序中的函数以在开发时方便调用
17 如程序存在问题请到我一只猫 doyoung.net@gmail.com
18 DoYoung.net 电子技术原创 保留版权
19 欢迎莅临 http://doyoung.net/
20 /*********************************************************************************************/
21 //程序部分开始//
22 /*********************************************************************************************
23 //头文件定义
24 //
25 /*********************************************************************************************/
26 #include <reg52.h> // 包含头文件
27 #include <string.h> //用于指针
28 /*********************************************************************************************
29 //接口定义
30 //
31 /*********************************************************************************************/
32 #define LCM12864_DB7_DB0 P0 // 定义LCM12864的数据总线
33 sbit LCM12864_RS = P2 ^ 3; // 定义LCM12864的RS控制线
34 sbit LCM12864_RW = P2 ^ 4; // 定义LCM12864的RW控制线
35 sbit LCM12864_E = P2 ^ 2; // 定义LCM12864的E控制线
36 sbit LCM12864_CS1 = P2 ^ 7; // 定义LCM12864的CS1控制线
37 sbit LCM12864_CS2 = P2 ^ 6; // 定义LCM12864的CS2控制线
38 sbit LCM12864_RESET = P2 ^ 5; // 定义LCM12864的RESET控制线
39 sbit LCM12864_LEDK = P2 ^ 0; // 定义LCM12864的LEDK(BLK)控制线
40 /*********************************************************************************************
41 //数据定义
42 //定义LCM12864的命令字
43 /*********************************************************************************************/
44 #define LCM12864_DISP_ON 0x3f // 打开LCM12864显示
45 #define LCM12864_DISP_OFF 0x3e // 关闭LCM12864显示
46 #define LCM12864_START_ROW 0xc0 // 显示起始行0,可以用LCM12864_START_ROW+x设置起始行。(x<64)
47 #define LCM12864_PAGE_START_ADDR 0xb8 // 页起始地址,可以用LCM12864_PAGE_START_ADDR+x设置当前页。(x<8)
48 #define LCM12864_COL_START_ADDR 0x40 // 列起始地址,可以用LCM12864_COL_START_ADDR+x设置当前列。(x<64)
49 //定义LCM12864的状态屏蔽码
50 //在BUSY和REST状态时,除读状态指令外,其他指令均不对LCM12864产生作用。
51 //在对LCM12864操作之前要查询BUSY状态,以确定是否可以对LCM12864进行操作。
52 #define LCM12864_STATUS_BUSY 0x80 // LCM12864忙状态屏蔽码
53 #define LCM12864_STATUS_DISP_OFF 0x20 // LCM12864显示关闭状态屏蔽码
54 #define LCM12864_STATUS_REST 0x10 // LCM12864复位状态屏蔽码
55 /*********************************************************************************************
C51 COMPILER V7.50 LCD 08/25/2007 20:35:38 PAGE 2
56 //字符/图像定义库
57 //
58 /*********************************************************************************************/
59 /*-- 文字: 欢 --*/
60 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
61 /* 纵向取模,字节倒序 */
62 unsigned char code feng[]={
63 0x00,0x00,0xFE,0x02,0x0A,0x12,0x62,0x82,//风
64 0x62,0x1A,0x02,0xFF,0x02,0x00,0x00,0x00,
65 0x80,0x40,0x3F,0x20,0x10,0x08,0x06,0x01,
66 0x06,0x18,0x00,0x3F,0x40,0x80,0xE0,0x00,
67 };
68 /*-- 文字: 迎 --*/
69 /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
70 /* 纵向取模,字节倒序 */
71 unsigned char code yun[]={
72 0x40,0x40,0x40,0x44,0x44,0x44,0xC4,0x44,//云
73 0x44,0x44,0x46,0x44,0x40,0x60,0x40,0x00,
74 0x00,0x00,0x40,0x60,0x58,0x46,0x41,0x40,
75 0x40,0x40,0x50,0x60,0xC0,0x00,0x00,0x00
76 };
77 ///////////////////////////////////////////////////////////////////
78 // ASCII字模的数据表 //
79 // 码表从0x20~0x7e //
80 // 字库:Asc8X16E.dat 纵向取模下高位 //
81 ///////////////////////////////////////////////////////////////////
82 unsigned char code nAsciiDot[] = // ASCII
83 {
84 0x08,0x08,0xC8,0x3F,0x08,0x48,0x20,0xF8,//雄
85 0x4E,0x49,0xFA,0x48,0x6C,0x48,0x00,0x00,
86 0x04,0x33,0x28,0x27,0x20,0x38,0x00,0xFF,
87 0x22,0x22,0x3F,0x22,0x23,0x32,0x20,0x00,
88
89 0x08,0x24,0xF5,0xA5,0xAD,0xA5,0xF5,0x2F,//霸
90 0x05,0xE5,0x2D,0x25,0xF5,0x2C,0x04,0x00,
91 0x00,0x2E,0x2A,0x2A,0xFF,0x2A,0x2A,0xAE,
92 0x40,0x3F,0x09,0x89,0xFF,0x00,0x00,0x00,
93
94 0x40,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,//天
95 0x42,0x42,0x42,0x42,0x43,0x62,0x40,0x00,
96 0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,
97 0x03,0x0C,0x10,0x20,0x40,0xC0,0x40,0x00,
98
99 0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,//下
100 0x22,0x42,0x82,0x82,0x02,0x03,0x02,0x00,
101 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,
102 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00
103 };
104 /////////////////////////////////////////////////////////////////////////
105 // Bitmap点阵数据表 //
106 // 图片: C:\..鎈doyleee.bmp,纵向取模下高位,数据排列:从左到右从上到下 //
107 // 图片尺寸: 128 * 64 //
108 /////////////////////////////////////////////////////////////////////////
109 unsigned char code doyleee[] = // 数据表
110 {
111 0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
112 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
113 0x01,0x01,0x81,0xF1,0xF1,0xF1,0x71,0x31,
114 0x31,0x71,0xF1,0xF1,0xE1,0xC1,0x01,0x01,
115 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
116 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
117 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
C51 COMPILER V7.50 LCD 08/25/2007 20:35:38 PAGE 3
118 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
119 0x81,0xF1,0xF1,0xF1,0x71,0x01,0x01,0x01,
120 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
121 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
122 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
123 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
124 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
125 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
126 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
127 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
128 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
129 0x00,0xF0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,
130 0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x7F,0x00,
131 0x00,0xF0,0xFC,0xFE,0xFE,0x0F,0x03,0x03,
132 0x07,0xFF,0xFE,0xFE,0xF8,0x00,0xE0,0xE0,
133 0xE0,0xE0,0x00,0x03,0x3F,0xFF,0xFF,0xFC,
134 0xC0,0xF0,0xFE,0x3F,0x0F,0x03,0x00,0xF0,
135 0xFF,0xFF,0xFF,0x0F,0x00,0x00,0xF0,0xFC,
136 0xFE,0xFE,0x3F,0x33,0x33,0x33,0x3F,0x3F,
137 0x3E,0x38,0x00,0x00,0xF0,0xFC,0xFE,0xFE,
138 0x3F,0x33,0x33,0x33,0x3F,0x3F,0x3E,0x38,
139 0x00,0x00,0xF0,0xFC,0xFE,0xFE,0x3F,0x33,
140 0x33,0x33,0x3F,0x3F,0x3E,0x38,0x00,0x00,
141 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
142 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
143 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
144 0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,
145 0x8E,0x8F,0x8F,0x8F,0x8C,0x8C,0x8C,0x8C,
146 0x8E,0x8F,0x87,0x87,0x83,0x81,0x80,0x80,
147 0x80,0x81,0x87,0x87,0x8F,0x8E,0x8C,0x8C,
148 0x8F,0x87,0x87,0x83,0x80,0x80,0x80,0xC0,
149 0xC0,0xC0,0xC0,0xC0,0xC0,0xF3,0x7F,0x3F,
150 0x0F,0x03,0x00,0x00,0x00,0x00,0x0E,0x0F,
151 0x0F,0x0F,0x00,0x00,0x00,0x00,0x01,0x07,
152 0x07,0x0F,0x0E,0x0C,0x0C,0x0F,0x07,0x03,
153 0x01,0x00,0x00,0x00,0x01,0x07,0x07,0x0F,
154 0x0E,0x0C,0x0C,0x0F,0x07,0x03,0x01,0x00,
155 0x00,0x00,0x01,0x07,0x07,0x0F,0x0E,0x0C,
156 0x0C,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,
157 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
158 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
159 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
160 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
161 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
162 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
163 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
164 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
165 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
166 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
167 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
168 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
169 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
170 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
171 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
172 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
173 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
174 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
175 0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
176 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
177 0x40,0x40,0x40,0x40,0x40,0x00,0x00,0xFC,
178 0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x00,0xF0,
179 0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x40,
C51 COMPILER V7.50 LCD 08/25/2007 20:35:38 PAGE 4
180 0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x10,
181 0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x18,
182 0x1C,0x84,0xC4,0x7C,0x38,0x00,0x00,0xB8,
183 0xFC,0x64,0xC4,0xFC,0xB8,0x00,0x00,0xE0,
184 0xF0,0x3C,0x2C,0xE4,0xC0,0x00,0x00,0x80,
185 0xFC,0x7C,0x00,0xF0,0xF0,0x00,0x00,0xFC,
186 0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,
187 0xFC,0x04,0x04,0x1C,0x18,0x00,0x00,0x40,
188 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
189 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
190 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,
191 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
192 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
193 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
194 0x07,0x04,0x06,0x03,0x01,0x00,0x20,0x23,
195 0x27,0x34,0x1C,0x0F,0x03,0x00,0x00,0x00,
196 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
197 0x00,0x00,0x07,0x07,0x04,0x00,0x00,0x06,
198 0x07,0x05,0x04,0x04,0x04,0x00,0x00,0x03,
199 0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x03,
200 0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x01,
201 0x01,0x01,0x01,0x07,0x07,0x01,0x00,0x07,
202 0x07,0x04,0x04,0x04,0x04,0x00,0x00,0x03,
203 0x07,0x04,0x04,0x07,0x03,0x00,0x00,0x00,
204 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
205 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
206 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
207 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
208 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
209 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
210 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
211 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
212 0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,
213 0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,
214 0x00,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00,
215 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF0,
216 0x10,0x10,0x90,0x50,0xF0,0xE0,0x00,0x00,
217 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
218 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
219 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
220 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
221 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
222 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
223 0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
224 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
225 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
226 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
227 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
228 0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x83,
229 0x86,0x8C,0x8C,0x86,0x83,0x81,0x80,0x80,
230 0x88,0x88,0x88,0x8F,0x8F,0x88,0x88,0x88,
231 0x80,0x80,0x8C,0x8C,0x80,0x80,0x87,0x8F,
232 0x8A,0x89,0x88,0x88,0x8F,0x87,0x80,0x80,
233 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
234 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
235 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
236 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
237 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
238 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -