📄 lcd.lst
字号:
C51 COMPILER V8.02 LCD 04/25/2013 19:45:37 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "LCD.h"
2
3 void chk_busy() //判忙函数
4 {
5 1 rs=0 ;
6 1 rw=1 ;
7 1 e=1 ;
8 1 P0=0xff ;
9 1 while((P0&0x80)==0x80);
10 1 e=0 ;
11 1 }
12
13 void lcd_write_cmd(uchar com) //LCD12864写命令
14 {
15 1 chk_busy();
16 1 rs=0 ;
17 1 rw=0 ;
18 1 e=1 ;
19 1 P0=com;
20 1 delay_50us(1);
21 1 //------------------在数据写入的时候加入适当的延时
22 1 e=0 ;
23 1 }
24
25 void lcd_write_data(uchar dat) //LCD12864写数据
26 {
27 1 chk_busy();
28 1 rs=1 ;
29 1 rw=0 ;
30 1 e=1 ;
31 1 P0=dat;
32 1 delay_50us(1);
33 1 //------------------在数据写入的时候加入适当的延时
34 1 e=0 ;
35 1 }
36
37 /**********************************************************************
38 * 名称: Addr_Set()
39 * 函数功能:字符位置确定
40 * 入口参数: x(0~7) 指定点所在列的位置
41 * y(0~3) 指定点所在行的位置
42 * 出口参数:无
43 * 说明:汉字必须是存在在液晶字库中的
44 **********************************************************************/
45 void Addr_Set(uchar x,uchar y)
46 {
47 1 uchar address;
48 1 switch(x)
49 1 {
50 2 case 0: x = 0x80 ; break;
51 2 case 1: x = 0x90 ; break;
52 2 case 2: x = 0x88 ; break;
53 2 case 3: x = 0x98 ; break;
54 2 default: return;
55 2 }
C51 COMPILER V8.02 LCD 04/25/2013 19:45:37 PAGE 2
56 1 address = x+y;
57 1 lcd_write_cmd(address);
58 1 }
59
60 void LCD_12864_initinal(void)
61 {
62 1 delay_50ms(2);
63 1 lcd_write_cmd(0x30); //Function set 基本指令操作
64 1 lcd_write_cmd(0x0c); //显示状态开/关00001DCB
65 1 //D=1: 整体显示 ON C=1: 游标ON B=1:游标位置反白允许
66 1 lcd_write_cmd(0x01);
67 1 //清除显示 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
68 1 lcd_write_cmd(0x06);
69 1 //进入点设定0001I/DS
70 1 //指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
71 1 }
72
73 /*------------------显示字符串--------------------------*/
74 void string_dis(uchar code *s)
75 {
76 1 while(*s>0) //"\0"结束
77 1 {
78 2 lcd_write_data(*s);
79 2 s++;
80 2 //delay_1ms(500); //慢速显
81 2 //delay_1ms(200); //中速显
82 2 delay_50us(1); //快速显
83 2
84 2 }
85 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 160 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
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 + -