📄 5110-51.lst
字号:
208 /*-- 文字: + - --48*/
209 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
210 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,
211
212 /*-- 文字: + --49*/
213 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
214 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
215
216 /*-- 文字: - --50*/
217 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
218 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00
219 };
220
221 unsigned char code hanzi[]=
222 {
223 /*------------------------------------------------------------------------------
224 ; 源文件 / 文字 : 南 0
225 ; 宽×高(像素): 16×16
226 ------------------------------------------------------------------------------*/
227 0x04,0x04,0xE4,0xE4,0x24,0x64,0xF4,0xBF,0x2F,0xA4,0xE4,0x64,0x24,0xE6,0xE6,0x04,
228 0x00,0x00,0x7F,0x7F,0x05,0x05,0x05,0x7F,0x7F,0x05,0x05,0x25,0x65,0x7F,0x3F,0x00,
229 /*------------------------------------------------------------------------------
230 ; 源文件 / 文字 : 京 1
231 ; 宽×高(像素): 16×16
232 ------------------------------------------------------------------------------*/
233 0x00,0x04,0x04,0xE4,0xE4,0x24,0x25,0x27,0x26,0x24,0x24,0xE4,0xE6,0x06,0x04,0x00,
234 0x00,0x20,0x30,0x19,0x1D,0x4D,0xC1,0xFF,0x7F,0x01,0x05,0x0D,0x3D,0x38,0x10,0x00,
235 /*------------------------------------------------------------------------------
236 ; 源文件 / 文字 : 发 2
237 ; 宽×高(像素): 16×16
238 ------------------------------------------------------------------------------*/
239 0x00,0x10,0x3E,0x3E,0x10,0xF0,0xFF,0x9F,0x90,0x92,0x96,0x9C,0x1C,0x10,0x10,0x10,
240 0x40,0x60,0x30,0x98,0x8F,0xC7,0x47,0x6E,0x38,0x38,0x2F,0x67,0xC0,0xC0,0x40,0x00,
241 /*------------------------------------------------------------------------------
C51 COMPILER V8.17 5110_51 12/20/2010 14:16:17 PAGE 5
242 ; 源文件 / 文字 : 烧 3
243 ; 宽×高(像素): 16×16
244 ------------------------------------------------------------------------------*/
245 0x00,0xE0,0xE0,0xFF,0xFF,0x9C,0xCC,0x44,0x6F,0x3F,0x74,0x74,0xDC,0xEC,0xE4,0x80,
246 0x41,0x71,0x3C,0x0F,0x87,0xCD,0x79,0x3F,0x0F,0x01,0x3F,0x7F,0x41,0x41,0x71,0x70,
247 /*------------------------------------------------------------------------------
248 ; 源文件 / 文字 : 电 4
249 ; 宽×高(像素): 16×16
250 ------------------------------------------------------------------------------*/
251 0x00,0x00,0xF8,0xF8,0x48,0x48,0x48,0xFF,0xFF,0x48,0x48,0x48,0xF8,0xF8,0x00,0x00,
252 0x00,0x00,0x0F,0x0F,0x04,0x04,0x04,0x3F,0x7F,0x44,0x44,0x44,0x4F,0x4F,0x70,0x70,
253 /*------------------------------------------------------------------------------
254 ; 源文件 / 文字 : 子 5
255 ; 宽×高(像素): 16×16
256 ------------------------------------------------------------------------------*/
257 0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,0xF2,0x1A,0x0E,0x06,0x02,0x80,0x80,0x00,
258 0x01,0x01,0x01,0x01,0x01,0x41,0xC1,0xFF,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
259
260 };
261 void delay_1ms(void)//1ms延时函数
262 {
263 1 unsigned int i;
264 1 for (i=0;i<50;i++) ;
265 1 ;
266 1 }
267
268 /*--------------------------------------------
269 LCD_write_byte: 使用SPI接口写数据到LCD
270 输入参数:dt:写入的数据;
271 command :写数据/命令选择;
272 编写日期:20080918
273 ----------------------------------------------*/
274 void LCD_write_byte(unsigned char dt, unsigned char command)
275 {
276 1 unsigned char i;
277 1 sce=0;
278 1 dc=command;
279 1 for(i=0;i<8;i++)
280 1 {
281 2 if(dt&0x80)
282 2 sdin=1;
283 2 else
284 2 sdin=0;
285 2 dt=dt<<1;
286 2 sclk=0;
287 2 sclk=1;
288 2 }
289 1 dc=1;
290 1 sce=1;
291 1 sdin=1;
292 1 }
293 /*---------------------------------------
294 LCD_init: 3310LCD初始化
295 编写日期:20080918
296 ----------------------------------------- */
297 void LCD_init(void)
298 {
299 1 res=0;
300 1 delay_1ms();
301 1 res=1;
302 1 LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令
303 1 LCD_write_byte(0xC0,0);//设定液晶偏置电压
C51 COMPILER V8.17 5110_51 12/20/2010 14:16:17 PAGE 6
304 1 LCD_write_byte(0x06,0);
305 1 LCD_write_byte(0x13,0);
306 1 LCD_write_byte(0x20,0);//使用基本指令
307 1 LCD_write_byte(0x0C,0);//设定显示模式,正常显示
308 1 }
309 /*-------------------------------------------
310 LCD_set_XY: 设置LCD坐标函数
311 输入参数:X:0-83 Y:0-5
312 编写日期:20080918
313 ---------------------------------------------*/
314 void LCD_set_XY(unsigned char X, unsigned char Y)
315 {
316 1 LCD_write_byte(0x40 | Y, 0);// column
317 1 LCD_write_byte(0x80 | X, 0);// row
318 1 }
319 /*------------------------------------------
320 LCD_clear: LCD清屏函数
321 编写日期:20080918
322 --------------------------------------------*/
323 void LCD_clear(void)
324 {
325 1 unsigned char t;
326 1 unsigned char k;
327 1 LCD_set_XY(0,0);
328 1 for(t=0;t<6;t++)
329 1 {
330 2 for(k=0;k<84;k++)
331 2 {
332 3 LCD_write_byte(0x00,1);
333 3
334 3 }
335 2 }
336 1 }
337 /*---------------------------------------------
338 LCD_write_shu: 显示8(宽)*16(高)点阵列数字字母符号等半角类
339 输入参数:c:显示的字符;
340 编写日期:20080918
341 -----------------------------------------------*/
342 void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
343 {
344 1 unsigned char i;
345 1
346 1 LCD_set_XY(row*8, page);// 列,页
347 1 for(i=0; i<8;i++)
348 1 {
349 2 LCD_write_byte(shuzi[c*16+i],1);
350 2 }
351 1
352 1 LCD_set_XY(row*8, page+1);// 列,页
353 1 for(i=8; i<16;i++)
354 1 {
355 2 LCD_write_byte(shuzi[c*16+i],1);
356 2 }
357 1 }
358 /*---------------------------------------------
359 LCD_write_hanzi: 显示16(宽)*16(高)点阵列汉字等半角类
360 输入参数:c:显示的字符;
361 编写日期:20080918
362 -----------------------------------------------*/
363 void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
364 {
365 1 unsigned char i;
C51 COMPILER V8.17 5110_51 12/20/2010 14:16:17 PAGE 7
366 1
367 1 LCD_set_XY(row*8, page);// 列,页
368 1 for(i=0; i<16;i++)
369 1 {
370 2 LCD_write_byte(hanzi[c*32+i],1);
371 2 }
372 1
373 1 LCD_set_XY(row*8, page+1);// 列,页
374 1 for(i=16; i<32;i++)
375 1 {
376 2 LCD_write_byte(hanzi[c*32+i],1);
377 2 }
378 1 }
379 main()
380 {
381 1 unsigned char k;
382 1 res=0;
383 1 for(k=0;k<10;k++);
384 1 res=1;
385 1 LCD_init(); //初始化LCD模块
386 1 LCD_clear(); //清屏幕
387 1 LCD_write_hanzi(2,0,0); //南
388 1 LCD_write_hanzi(6,0,1); //京
389 1
390 1 LCD_write_hanzi(1,2,2); //发
391 1 LCD_write_hanzi(3,2,3); //烧
392 1 LCD_write_hanzi(5,2,4); //电
393 1 LCD_write_hanzi(7,2,5); //子
394 1
395 1 LCD_write_shu(0,4,14); //e
396 1 LCD_write_shu(1,4,13); //d
397 1 LCD_write_shu(2,4,18); //i
398 1 LCD_write_shu(3,4,34); //y
399 1 LCD_write_shu(4,4,15); //f
400 1 LCD_write_shu(5,4,10); //a
401 1 LCD_write_shu(6,4,28); //s
402 1 LCD_write_shu(7,4,17); //h
403 1 LCD_write_shu(8,4,10); //a
404 1 LCD_write_shu(9,4,24); //o
405 1
406 1 while(1);
407 1
408 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 442 ----
CONSTANT SIZE = 1008 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -