📄 lcd.lst
字号:
C51 COMPILER V7.50 LCD 03/05/2007 10:04:32 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\output\lcd.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\output\lcd.obj)
line level source
1 /************************************************************************************
2 * Copyright (c) 2004,西安铭朗电子科技有限责任公司
3 * All rights reserved.
4 *
5 * 文件名称: lcd.c
6 * 文件标识: none
7 * 适用器件: c8051f040
8 *
9 * 摘 要: 本文件是LCD显示子程序;使用外部22.1184MHz晶振;
10 *
11 * 当前版本:1.2
12 * 作 者:张宁强
13 * 完成日期:2006年1月10日
14 *
15 * 历史版本:1.0
16 * 原作者 : 李林利 卢阳
17 * 完成日期:2005年6月1日
18 *************************************************************************************/
19
20 /************************************************************************************/
21 // 引用外部头文件
22
23 #include "c8051f040.h"
24 #include "Const.h"
25 #include <INTRINS.H>
26 #include "lcd.h"
27 #include <math.h>
28
29 /************************************************************************************/
30 // 全局变量
31 /************************************************************************************/
32
33 unsigned char col,row,cbyte; /*列x,行(页)y,输出数据*/
34 bit xy; /*画线方向标志:1水平*/
35 unsigned int xdata addr;
36 unsigned char xdata *tp;
37 unsigned char xdata et;
38
39 /*-- 文字: 铭 --*/
40 /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
41 C_BYTE WLib_ming_32x32[]={
42 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF8,0xF8,0x78,0x00,0x00,0x00,0x00,
43 0x00,0x00,0x00,0x80,0xC0,0xFC,0x78,0x38,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,
44 0x00,0x00,0x00,0x80,0xC0,0xF0,0xF8,0xDE,0xCF,0xC7,0x66,0x66,0x66,0x67,0x02,0x30,
45 0x38,0x3C,0x7E,0xE7,0xC3,0xC3,0xE3,0xF3,0x7F,0x1F,0x0F,0x07,0x02,0x00,0x00,0x00,
46 0x00,0x06,0x03,0x11,0x10,0x18,0x18,0x18,0xFF,0xFF,0x1F,0x0C,0x4C,0x6C,0x64,0x30,
47 0x38,0xFC,0xFC,0x3F,0x37,0x33,0x31,0x30,0x18,0x18,0xF8,0xF8,0x70,0x30,0x00,0x00,
48 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x3F,0x3F,0x1E,0x0E,0x07,0x03,0x01,0x00,
49 0x00,0x0F,0x3F,0x1C,0x0C,0x0C,0x0C,0x06,0x06,0x07,0x07,0x07,0x00,0x00,0x00,0x00,
50 0x54,0x2B,0xDC,0x00,0x54,0x2B,0xDC,0x00,0x20,0x00,0x00,0x00,0x32,0x30,0x30,0x34,
51 0x2D,0x39,0x2D,0x31,0x30,0x20,0x31,0x36,0x3A,0x34,0x36,0x3A,0x20,0x00,0x00,0x00
52 };
53 /*-- 文字: 朗 --*/
54 /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
55 /*-- 宽度不是8的倍数,现调整为:宽度x高度=39x33 --*/
C51 COMPILER V7.50 LCD 03/05/2007 10:04:32 PAGE 2
56 C_BYTE WLib_lang_32x32[]={
57 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x38,0xF8,0xB0,0x00,0x00,
58 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
59 0x00,0x00,0x00,0x00,0x00,0x06,0xFE,0xFE,0x36,0x32,0x33,0x33,0xC3,0xFF,0xFF,0x07,
60 0x00,0x01,0xFF,0xFF,0x61,0x61,0x61,0x21,0x01,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,
61 0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xC3,0xC3,0xE3,0x6B,0x3B,0x7B,0x70,0x00,
62 0xC0,0xF8,0x7F,0x0F,0x0C,0x0C,0x0C,0x04,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
63 0x00,0x00,0x00,0x00,0x07,0x0F,0x07,0x03,0x01,0x00,0x20,0x20,0x30,0x18,0x0C,0x0F,
64 0x07,0x01,0x00,0x00,0x00,0x04,0x0C,0x1C,0x7C,0x7F,0x1F,0x00,0x00,0x00,0x00,0x00,
65 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
66 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
67 };
68 /*-- 文字: 科 --*/
69 /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
70 /*-- 宽度不是8的倍数,现调整为:宽度x高度=39x33 --*/
71 C_BYTE WLib_ke_32x32[]={
72 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0x70,0x78,0x70,0x20,
73 0x00,0x00,0x00,0x00,0x00,0x04,0x7C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
74 0x00,0x40,0xC0,0xE0,0xE0,0xE1,0x61,0x61,0xF1,0xF0,0xFF,0xFF,0xB8,0x98,0x98,0x18,
75 0x00,0x11,0x33,0x73,0x67,0x02,0x00,0xFF,0xFF,0x00,0x00,0x80,0x80,0x80,0x80,0x00,
76 0x00,0x80,0xC0,0x60,0x70,0x38,0x1C,0x0F,0x07,0x83,0xFF,0xFF,0x01,0x03,0x03,0x0C,
77 0x0C,0x0C,0x0E,0x06,0x06,0x06,0x06,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
78 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x03,0x00,0x00,0x00,0x00,
79 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
80 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
81 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
82 };
83
84 /*-- 文字: 技 --*/
85 /*-- 楷体_GB231224; 此字体下对应的点阵为:宽x高=32x33 --*/
86 /*-- 宽度不是8的倍数,现调整为:宽度x高度=39x33 --*/
87 C_BYTE WLib_ji_32x32[]={
88 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xFC,0xFC,0x18,0x00,0x00,0x00,0x00,0x00,
89 0x00,0x00,0x8C,0xFC,0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
90 0x00,0x00,0x10,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0x8C,0x8C,0x0C,0x00,0x0C,0x0C,
91 0x0C,0x8C,0xFF,0xFF,0x87,0xC7,0xC7,0xC3,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
92 0x30,0x70,0x70,0x70,0x38,0x1C,0x0C,0x0E,0xFF,0xFF,0x01,0x00,0x00,0x01,0x0F,0x0F,
93 0x1B,0xB1,0xF1,0xF1,0xFD,0xDF,0x8F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
94 0x00,0x00,0x00,0x00,0x04,0x0C,0x1C,0x3E,0x3F,0x0F,0x00,0x08,0x0C,0x0C,0x06,0x06,
95 0x03,0x03,0x01,0x00,0x00,0x01,0x03,0x07,0x0F,0x1E,0x1E,0x1C,0x1C,0x1C,0x18,0x08,
96 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
97 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
98 };
99
100 /*-- 文字: W --*/
101 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=10x8 --*/
102 C_BYTE WLib_W_10x8[]={
103 0x02,0x0e,0x70,0xc2,0x3e,0x32,0xc0,0x72,0x0e,0x02
104 };
105 /*-- 文字: M --*/
106 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=9x8 --*/
107 C_BYTE WLib_M_9x8[]={
108 0x82,0xfe,0x8e,0x70,0x80,0x70,0x8e,0xfe,0x82
109 };
110 /*-- 文字: L --*/
111 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=6x8 --*/
112 C_BYTE WLib_L_6x8[]={
113 0x82,0xfe,0x82,0x80,0xc0,0x00
114 };
115 /*-- 文字: A --*/
116 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=7x8 --*/
117 C_BYTE WLib_A_7x8[]={
C51 COMPILER V7.50 LCD 03/05/2007 10:04:32 PAGE 3
118 0x80,0xe0,0xbc,0x22,0x3c,0xe0,0x80
119 };
120 /*-- 文字: R --*/
121 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=7x8 --*/
122 C_BYTE WLib_R_7x8[]={
123
124 0x82,0xFe,0x92,0x32,0x52,0x8c,0x80
125 };
126 /*-- 文字: C --*/
127 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=7x8 --*/
128 C_BYTE WLib_C_7x8[]={
129 0x00,0x7c,0x82,0x82,0x84,0x46,0x00
130 };
131 /*-- 文字: O --*/
132 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=7x8 --*/
133 C_BYTE WLib_O_7x8[]={
134 0x00,0x7c,0x82,0x82,0x82,0x7c,0x00
135 };
136 /*-- 文字: . --*/
137 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=4x8 --*/
138 C_BYTE WLib_dot_4x8[]={
139 0x00,0xc0,0xc0,0x00
140 };
141 /*-- 文字: T --*/
142 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
143 C_BYTE WLib_T_6x8[]={
144 0x00,0x06,0x82,0xfe,0x82,0x06
145 };
146 /*-- 文字: e --*/
147 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
148 C_BYTE WLib_e_5x8[]={
149 0x00,0x70,0xa8,0xa8,0xb0
150 };
151 /*-- 文字: l --*/
152 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
153 C_BYTE WLib_l_4x8[]={
154 0x00,0x82,0xfe,0x80
155 };
156 /*-- 文字: : --*/
157 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
158 C_BYTE WLib_ddot_3x8[]={
159 0x00,0x6c,0x6c
160 };
161 /*-- 文字: - --*/
162 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
163 C_BYTE WLib_line_6x8[]={
164 0x00,0x10,0x10,0x10,0x10,0x10
165 };
166 /*-- 文字: 1 --*/
167 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=4x8 --*/
168 C_BYTE WLib_1_4x8[]={
169 0x00,0x84,0xFe,0x80
170 };
171
172 /*-- 文字: 2 --*/
173 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
174 C_BYTE WLib_2_5x8[]={
175 0x00,0xc4,0xa2,0x92,0x8c
176 };
177
178 /*-- 文字: 3 --*/
179 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
C51 COMPILER V7.50 LCD 03/05/2007 10:04:32 PAGE 4
180 C_BYTE WLib_3_5x8[]={
181 0x00,0x44,0x92,0x92,0x6c
182 };
183
184 /*-- 文字: 4 --*/
185 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=6x8 --*/
186 C_BYTE WLib_4_6x8[]={
187 0x00,0x30,0x28,0x24,0xfe,0x20
188 };
189
190 /*-- 文字: 5 --*/
191 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
192 C_BYTE WLib_5_5x8[]={
193 0x00,0x4e,0x8a,0x8a,0x72
194 };
195
196 /*-- 文字: 6 --*/
197 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=6x8 --*/
198 C_BYTE WLib_6_5x8[]={
199 0x00,0x7c,0x92,0x92,0x60
200 };
201
202 /*-- 文字: 7 --*/
203 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
204 C_BYTE WLib_7_5x8[]={
205 0x00,0x02,0xf2,0x0a,0x06
206 };
207
208 /*-- 文字: 8 --*/
209 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
210 C_BYTE WLib_8_5x8[]={
211 0x00,0x6c,0x92,0x92,0x6c
212 };
213
214 /*-- 文字: 9 --*/
215 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
216 C_BYTE WLib_9_5x8[]={
217 0x00,0x0c,0x92,0x92,0x7c
218 };
219
220 /*-- 文字: 0 --*/
221 /*-- Times New Roman8; 此字体下对应的点阵为:宽x高=5x8 --*/
222 C_BYTE WLib_0_5x8[]={
223 0x00,0x7c,0x82,0x82,0x7c
224 };
225
226 /***********************************************************************************
227 * 函数名称:lcd_init;
228 *
229 * 函数功能描述:lcd_init;
230 *
231 * 输入参数:none;
232 *
233 * 返回数据:none;
234 *
235 * 注意: none;
236 ************************************************************************************/
237
238 void lcd_init(void)
239 {
240 1
241 1 DISABLE_INTERRUPTS;
C51 COMPILER V7.50 LCD 03/05/2007 10:04:32 PAGE 5
242 1 addr=0x980c;
243 1
244 1 lcd_wrct(0xc0);
245 1 lcd_wrct(0x40); // COLOUM ADDRESS
246 1 lcd_wrct(0xb8); // ROW ADDRESS
247 1 lcd_wrct(0x3f);
248 1
249 1 ENABLE_INTERRUPTS;
250 1 }
251
252 /***********************************************************************************
253 * 函数名称:dis_start0;
254 *
255 * 函数功能描述:显示开机界面"铭朗科技www.mlarm.com"及电话;
256 *
257 * 输入参数:none;
258 *
259 * 返回数据:none;
260 *
261 * 注意: none;
262 ************************************************************************************/
263
264 void dis_start0(void)
265 {
266 1 LCD_Disp_Word(0,32,WLib_ming_32x32,4,32);
267 1 LCD_Disp_Word(32,32,WLib_lang_32x32,4,32);
268 1 LCD_Disp_Word(64,32,WLib_ke_32x32,4,32);
269 1 LCD_Disp_Word(96,32,WLib_ji_32x32,4,32);
270 1
271 1 LCD_Disp_Word(8,16,WLib_W_10x8,1,10);
272 1 LCD_Disp_Word(19,16,WLib_W_10x8,1,10);
273 1 LCD_Disp_Word(30,16,WLib_W_10x8,1,10);
274 1 LCD_Disp_Word(41,16,WLib_dot_4x8,1,4);
275 1 LCD_Disp_Word(46,16,WLib_M_9x8,1,9);
276 1 LCD_Disp_Word(57,16,WLib_L_6x8,1,6);
277 1 LCD_Disp_Word(63,16,WLib_A_7x8,1,7);
278 1 LCD_Disp_Word(71,16,WLib_R_7x8,1,7);
279 1 LCD_Disp_Word(79,16,WLib_M_9x8,1,9);
280 1 LCD_Disp_Word(90,16,WLib_dot_4x8,1,4);
281 1 LCD_Disp_Word(94,16,WLib_C_7x8,1,7);
282 1 LCD_Disp_Word(102,16,WLib_O_7x8,1,7);
283 1 LCD_Disp_Word(110,16,WLib_M_9x8,1,9);
284 1
285 1 LCD_Disp_Word(11,2,WLib_T_6x8,1,6);
286 1 LCD_Disp_Word(17,2,WLib_e_5x8,1,5);
287 1 LCD_Disp_Word(22,2,WLib_l_4x8,1,4);
288 1 LCD_Disp_Word(27,2,WLib_ddot_3x8,1,3);
289 1
290 1 LCD_Disp_Word(34,2,WLib_0_5x8,1,5);
291 1 LCD_Disp_Word(39,2,WLib_2_5x8,1,5);
292 1 LCD_Disp_Word(44,2,WLib_9_5x8,1,5);
293 1 LCD_Disp_Word(49,2,WLib_line_6x8,1,6);
294 1 LCD_Disp_Word(55,2,WLib_8_5x8,1,5);
295 1 LCD_Disp_Word(60,2,WLib_8_5x8,1,5);
296 1 LCD_Disp_Word(65,2,WLib_2_5x8,1,5);
297 1 LCD_Disp_Word(70,2,WLib_2_5x8,1,5);
298 1 LCD_Disp_Word(75,2,WLib_3_5x8,1,5);
299 1 LCD_Disp_Word(80,2,WLib_5_5x8,1,5);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -