📄 5110-51.lst
字号:
211 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
212 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,
213
214 /*-- 文字: + --49*/
215 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
216 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
217
218 /*-- 文字: - --50*/
219 /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
220 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00
221 };
222
223 unsigned char code hanzi[]=
224 {
225 /*-- 文字: 宁 --*/
226 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
227 0x00,0x90,0x8C,0x84,0x84,0x84,0x85,0x86,0x84,0x84,0x84,0x84,0x94,0x8E,0x04,0x00,
228 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
229
230 /*-- 文字: 波 --*/
231 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
232 0x10,0x60,0x01,0xE6,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x18,0x08,0x00,
233 0x04,0x04,0xFF,0x40,0x30,0x8F,0x80,0x41,0x26,0x18,0x18,0x26,0x61,0xC0,0x40,0x00,
234
235 /*-- 文字: 单 --*/
236 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
237 0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
238 0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,
239
240 /*-- 文字: 片 --*/
241 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
C51 COMPILER V8.05a 5110_51 12/15/2008 17:00:13 PAGE 5
242 0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,
243 0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,
244
245 /*-- 文字: 机 --*/
246 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
247 0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
248 0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,
249
250 /*-- 文字: 开 --*/
251 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
252 0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,
253 0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
254
255 /*-- 文字: 发 --*/
256 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
257 0x00,0x10,0x3E,0x10,0x10,0xF0,0x9F,0x90,0x90,0x92,0x94,0x1C,0x10,0x10,0x10,0x00,
258 0x40,0x20,0x10,0x88,0x87,0x41,0x46,0x28,0x10,0x28,0x27,0x40,0xC0,0x40,0x00,0x00,
259
260 /*-- 文字: 网 --*/
261 /*-- Trebuchet MS12; 此字体下对应的点阵为:宽x高=16x16 --*/
262 0x00,0xFE,0x02,0x12,0x22,0xC2,0x22,0x1A,0x22,0x42,0x82,0x72,0x22,0xFE,0x00,0x00,
263 0x00,0x7F,0x08,0x04,0x03,0x00,0x03,0x0C,0x04,0x02,0x01,0x26,0x60,0x3F,0x00,0x00,
264 };
265
266 void delay_1ms(void)//1ms延时函数
267 {
268 1 unsigned int i;
269 1 for (i=0;i<500;i++) ;
270 1 ;
271 1 }
272
273 /*--------------------------------------------
274 LCD_write_byte: 使用SPI接口写数据到LCD
275 输入参数:dt:写入的数据;
276 command :写数据/命令选择;
277 编写日期:20080918
278 ----------------------------------------------*/
279 void LCD_write_byte(unsigned char dt, unsigned char command)
280 {
281 1 unsigned char i;
282 1 sce=0;
283 1 dc=command;
284 1 for(i=0;i<8;i++)
285 1 {
286 2 if(dt&0x80)
287 2 sdin=1;
288 2 else
289 2 sdin=0;
290 2 dt=dt<<1;
291 2 sclk=0;
292 2 sclk=1;
293 2 }
294 1 dc=1;
295 1 sce=1;
296 1 sdin=1;
297 1 }
298 /*---------------------------------------
299 LCD_init: 3310LCD初始化
300 编写日期:20080918
301 ----------------------------------------- */
302 void LCD_init(void)
303 {
C51 COMPILER V8.05a 5110_51 12/15/2008 17:00:13 PAGE 6
304 1 res=0;
305 1 delay_1ms();
306 1 res=1;
307 1 LCD_write_byte(0x21,0);//初始化Lcd,功能设定使用扩充指令
308 1 LCD_write_byte(0xd0,0);//设定液晶偏置电压
309 1 LCD_write_byte(0x20,0);//使用基本指令
310 1 LCD_write_byte(0x0C,0);//设定显示模式,正常显示
311 1 }
312 /*-------------------------------------------
313 LCD_set_XY: 设置LCD坐标函数
314 输入参数:X:0-83 Y:0-5
315 编写日期:20080918
316 ---------------------------------------------*/
317 void LCD_set_XY(unsigned char X, unsigned char Y)
318 {
319 1 LCD_write_byte(0x40 | Y, 0);// column
320 1 LCD_write_byte(0x80 | X, 0);// row
321 1 }
322 /*------------------------------------------
323 LCD_clear: LCD清屏函数
324 编写日期:20080918
325 --------------------------------------------*/
326 void LCD_clear(void)
327 {
328 1 unsigned char t;
329 1 unsigned char k;
330 1 LCD_set_XY(0,0);
331 1 for(t=0;t<6;t++)
332 1 {
333 2 for(k=0;k<84;k++)
334 2 {
335 3 LCD_write_byte(0x00,1);
336 3
337 3 }
338 2 }
339 1 }
340 /*---------------------------------------------
341 LCD_write_shu: 显示8(宽)*16(高)点阵列数字字母符号等半角类
342 输入参数:c:显示的字符;
343 编写日期:20080918
344 -----------------------------------------------*/
345 void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
346 {
347 1 unsigned char i;
348 1
349 1 LCD_set_XY(row*8, page);// 列,页
350 1 for(i=0; i<8;i++)
351 1 {
352 2 LCD_write_byte(shuzi[c*16+i],1);
353 2 }
354 1
355 1 LCD_set_XY(row*8, page+1);// 列,页
356 1 for(i=8; i<16;i++)
357 1 {
358 2 LCD_write_byte(shuzi[c*16+i],1);
359 2 }
360 1 }
361 /*---------------------------------------------
362 LCD_write_hanzi: 显示16(宽)*16(高)点阵列汉字等半角类
363 输入参数:c:显示的字符;
364 编写日期:20080918
365 -----------------------------------------------*/
C51 COMPILER V8.05a 5110_51 12/15/2008 17:00:13 PAGE 7
366 void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
367 {
368 1 unsigned char i;
369 1
370 1 LCD_set_XY(row*8, page);// 列,页
371 1 for(i=0; i<16;i++)
372 1 {
373 2 LCD_write_byte(hanzi[c*32+i],1);
374 2 }
375 1
376 1 LCD_set_XY(row*8, page+1);// 列,页
377 1 for(i=16; i<32;i++)
378 1 {
379 2 LCD_write_byte(hanzi[c*32+i],1);
380 2 }
381 1 }
382 main()
383 {
384 1 unsigned char k;
385 1 res=0;
386 1 for(k=0;k<250;k++);
387 1 res=1;
388 1 LCD_init(); //初始化LCD模块
389 1 LCD_clear(); //清屏幕
390 1 LCD_write_hanzi(0,0,0); //宁
391 1 LCD_write_hanzi(2,0,1); //波
392 1 LCD_write_hanzi(4,0,2); //单
393 1 LCD_write_hanzi(6,0,3); //片
394 1 LCD_write_hanzi(8,0,4); //机
395 1
396 1 LCD_write_hanzi(1,2,5); //开
397 1 LCD_write_hanzi(4,2,6); //发
398 1 LCD_write_hanzi(7,2,7); //网
399 1
400 1 LCD_write_shu(1,4,23); //n
401 1 LCD_write_shu(2,4,11); //b
402 1 LCD_write_shu(3,4,13); //d
403 1 LCD_write_shu(4,4,25); //p
404 1 LCD_write_shu(5,4,19); //j
405 1 LCD_write_shu(6,4,45); //.
406 1 LCD_write_shu(7,4,12); //c
407 1 LCD_write_shu(8,4,24); //o
408 1 LCD_write_shu(9,4,22); //m
409 1
410 1 while(1)
411 1 {
412 2
413 2 }
414 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 439 ----
CONSTANT SIZE = 1072 ----
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 + -