📄 lcd.lst
字号:
240 2 CLK=0;
241 2 }
C51 COMPILER V7.07 LCD 09/24/2007 08:07:56 PAGE 5
242 1 _nop_();
243 1 _nop_();
244 1 SID=0;
245 1 _nop_();
246 1 CLK=1;
247 1 _nop_();
248 1 _nop_();
249 1 CLK=0;
250 1 _nop_();
251 1 _nop_();
252 1 SID=0;
253 1 _nop_();
254 1 CLK=1;
255 1 _nop_();
256 1 _nop_();
257 1 CLK=0;
258 1 _nop_();
259 1 _nop_();
260 1 SID=0;
261 1 _nop_();
262 1 CLK=1;
263 1 _nop_();
264 1 _nop_();
265 1 CLK=0;
266 1 for(i=0;i<0x4;i++)
267 1 {
268 2 SID=cmd&0x80;
269 2 cmd=cmd<<1;
270 2 _nop_();
271 2 _nop_();
272 2 CLK=1;
273 2 _nop_();
274 2 _nop_();
275 2 CLK=0;
276 2 _nop_();
277 2 _nop_();
278 2 }
279 1 SID=0;
280 1 for(i=0;i<0x4;i++)
281 1 {
282 2 _nop_();
283 2 _nop_();
284 2 CLK=1;
285 2 _nop_();
286 2 _nop_();
287 2 CLK=0;
288 2 _nop_();
289 2 _nop_();
290 2 }
291 1 for(i=0;i<0x4;i++)
292 1 {
293 2 SID=cmd&0x80;
294 2 cmd=cmd<<1;
295 2 _nop_();
296 2 _nop_();
297 2 CLK=1;
298 2 _nop_();
299 2 _nop_();
300 2 CLK=0;
301 2 _nop_();
302 2 _nop_();
303 2 }
C51 COMPILER V7.07 LCD 09/24/2007 08:07:56 PAGE 6
304 1 SID=0;
305 1 for(i=0;i<0x4;i++)
306 1 {
307 2 _nop_();
308 2 _nop_();
309 2 CLK=1;
310 2 _nop_();
311 2 _nop_();
312 2 CLK=0;
313 2 _nop_();
314 2 _nop_();
315 2 }
316 1 LCD_Delay(5);
317 1 return;
318 1 }
319
320 /***********************************
321 ** 函数名称: SET_CGRAM_ADDRESS
322 ** 功能描述:
323 ** 输 入: add
324 ** 输 出 : 无
325 ** 全局变量:无
326 ** 调用模块: Write_Instruction
327 **
328 ** 作 者: 瞿道宏
329 ** 日 期: 2006-2-28
330 ******************************************/
331 /*void Set_CGRAM_Address(unsigned char idata add)
332 {
333 Write_Instruction(add|0x40);
334 return;
335 }*/
336
337 /***********************************
338 ** 函数名称: Set_DDRAM_Address
339 ** 功能描述: 文本显示RAM
340 ** 输 入: add
341 ** 输 出 : 无
342 ** 全局变量:无
343 ** 调用模块: Write_Instruction
344 **
345 ** 作 者: 瞿道宏
346 ** 日 期: 2006-2-28
347 ******************************************/
348 void Set_DDRAM_Address(unsigned char idata add)
349 {
350 1 Write_Instruction((0x80|add));
351 1 return;
352 1 }
353
354 /***********************************
355 ** 函数名称: Set_GDRAM_Address
356 ** 功能描述: 绘图RAM
357 ** 输 入: add
358 ** 输 出 : 无
359 ** 全局变量:无
360 ** 调用模块: Write_Instruction
361 **
362 ** 作 者: 瞿道宏
363 ** 日 期: 2006-2-28
364 ******************************************/
365 /*void Set_GDRAM_Address(unsigned char idata add_page,unsigned char idata add_seg)
C51 COMPILER V7.07 LCD 09/24/2007 08:07:56 PAGE 7
366 {
367 Write_Instruction((0x80|add_page));
368 Write_Instruction((0x80|add_seg));
369 return;
370 }*/
371
372 /***********************************
373 ** 函数名称: LCD_Initial
374 ** 功能描述: LCD初始化
375 ** 输 入: 无
376 ** 输 出 : 无
377 ** 全局变量:无
378 ** 调用模块:CLEAR_DISPLAY_MEMORY,SET_SHIFT_DIRECTION,SET_FUNCTION_BASIC,DISPLAY_ON
379 **
380 ** 作 者: 瞿道宏
381 ** 日 期: 2006-2-28
382 ******************************************/
383 void LCD_Initial(void)
384 {
385 1 //P1 = 0x00;
386 1 LCD_Delay(500);
387 1 RST=0; //复位
388 1 LCD_Delay(1000);
389 1 RST=1; //复位
390 1 LCD_Delay(100);
391 1 LCD_Delay(2000);
392 1 PS_LCD=0; //选择串口(低电平)
393 1 CS=1;
394 1 LCD_Delay(1000);
395 1 CLEAR_DISPLAY_MEMORY(); ///清除显示
396 1 LCD_Delay(3000);
397 1 SET_SHIFT_DIRECTION(); //指针右移,display不变
398 1 LCD_Delay(100);
399 1 SET_FUNCTION_BASIC(); //基本指令集
400 1 LCD_Delay(100);
401 1 DISPLAY_ON(); //开显示,关游标
402 1 LCD_Delay(100);
403 1 }
404
405 /***********************************
406 ** 函数名称: Display_Chinese
407 ** 功能描述: 显示汉字
408 ** 输 入: fnt
409 ** 输 出 : 无
410 ** 全局变量:无
411 ** 调用模块:Write_Data_1,Write_Data_2,Set_DDRAM_Address
412 **
413 ** 作 者: 瞿道宏
414 ** 日 期: 2006-2-10
415 ******************************************/
416 /*void Display_Chinese(unsigned char fnt[])
417 {
418 register unsigned char i,j;
419 Set_DDRAM_Address(0x00);
420 for(i=0;i<0x08;i+=2)
421 {
422 for(j=0;j<0x08;j++)
423 {
424 Write_Data(fnt[i]);
425 Write_Data(fnt[i+1]);
426 }
427 }
C51 COMPILER V7.07 LCD 09/24/2007 08:07:56 PAGE 8
428 return;
429 } */
430
431 /***********************************
432 ** 函数名称: Display_Character
433 ** 功能描述: 显示汉字
434 ** 输 入: fnt
435 ** 输 出 : 无
436 ** 全局变量:无
437 ** 调用模块:Write_Data_1,Write_Data_2,Set_DDRAM_Address
438 **
439 ** 作 者: 瞿道宏
440 ** 日 期: 2006-2-10
441 ******************************************/
442 /*void Display_Character(unsigned char dat)
443 {
444 register unsigned char i;
445 Set_DDRAM_Address(0x00);
446 for(i=0;i<0x40;i++)
447 {
448 Write_Data(dat++);
449 }
450 return;
451 }*/
452 /***********************************
453 ** 函数名称: Disp_HZ_lcd
454 ** 功能描述: 显示单个汉字
455 ** 输 入: Add,dat1,dat2 - 汉字的地址,汉字的第一个编码,汉字的第二个编码
456 ** 输 出 : 无
457 ** 全局变量:无
458 ** 调用模块:Write_Data,Write_Data,Set_DDRAM_Address
459 **
460 ** 作 者: 瞿道宏
461 ** 日 期: 2006-2-10
462 ******************************************/
463 void Disp_HZ_lcd(unsigned char Add,unsigned char dat1,unsigned char dat2)
464 {
465 1 LCD_Delay(3000); //延时防错码
466 1 Set_DDRAM_Address(Add); //汉字的地址
467 1 Write_Data(dat1); //汉字的第一个编码
468 1 Write_Data(dat2); //汉字的第二个编码
469 1 }
470
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 433 ----
CONSTANT SIZE = 8 ----
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 + -