📄 lcd.lst
字号:
C51 COMPILER V7.06 LCD 03/13/2005 21:02:58 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /***************************************************************
2 功能:实现液晶显示LCD 122*32点阵驱动器为0713
3 作者:SG
4 时间:2004-03-15
5 版本:V1.0
6 ***************************************************************/
7 /*
8 #define SOFT_RESET 0xE2
9 #define DISP_OFF 0xAE
10 #define START_LINE 0xC0
11 #define FIRST_PAGE 0xE2
12 #define START_COL 0x00
13 #define RIGHT_ADC 0xA0
14 #define NORMAL_DRV 0xA4
15 #define DUTY_32_1 0xA9
16 #define RCW_OFF 0xEE
17 #define DISP_ON 0xAF
18 */
19
20 /*---------------------------------------------------------------------------------
21 CPU 端口定义
22 ---------------------------------------------------------------------------------*/
23 sfr LCD_PORT = 0x80;
24 sbit LCD_DI = 0xb3;
25 sbit LCD_ENA2 = 0xb4;
26 sbit LCD_ENA1 = 0xb5;
27
28 /*---------------------------------------------------------------------------------
29 西文字库点阵
30 ---------------------------------------------------------------------------------*/
31 unsigned char code Large_DianZen[]={
32 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 , //null
33 0,0,0,0,0,0,0xF8,0x33,0,0x30,0,0,0,0,0,0, //!
34 /*0x00,0x00,0x80,0x00,0x80,0x00,0xE0,0x1F,0x80,0x20,0x80,0x20,0x00,0x00,0x00,0x00, //t
35 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00, //e
36 0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00, //l
37 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00, //:
38 0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00, //8
39 0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00, //5
40 0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00, //5
41 0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00, //2
42 0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00, //8
43 0x00,0x00,0xE0,0x0F,0x10,0x11,0x88,0x20,0x88,0x20,0x18,0x11,0x00,0x0E,0x00,0x00, //6
44 0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00, //2
45 0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00, //4
46 *///;-- Tel:13588316485 -- ** 宋体, 12 **
47 //;-- Tel:13588316485 -- ** 宋体, 12 **
48 //; 当前所选字体下一个汉字对应的点阵为: 宽度x高度=120x16, 调整后为: 120x16
49 0x18,0x00,0x08,0x00,0x08,0x20,0xF8,0x3F,0x08,0x20,0x08,0x00,0x18,0x00,0x00,0x00,
50 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,
51 0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,
52 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
53 0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,
54 0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x00,0x00,
55 0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00,
C51 COMPILER V7.06 LCD 03/13/2005 21:02:58 PAGE 2
56 0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00,
57 0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00,
58 0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x00,0x00,
59 0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,
60 0x00,0x00,0xE0,0x0F,0x10,0x11,0x88,0x20,0x88,0x20,0x18,0x11,0x00,0x0E,0x00,0x00,
61 0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00,
62 0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00,
63 0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00,
64
65
66 };
67
68 /*---------------------------------------------------------------------------------
69 汉字字库点阵
70 ---------------------------------------------------------------------------------*/
71 unsigned char code HanZi[]={
72 //;-- 欢迎使用单片机开发板祝你早日成为单片机高手胖胖工作室贺 -- ** 宋体, 12 **
73 //; 当前所选字体下一个汉字对应的点阵为: 宽度x高度=432x16, 调整后为: 432x16
74 0x14,0x20,0x24,0x10,0x44,0x4C,0x84,0x43,0x64,0x43,0x1C,0x2C,0x20,0x20,0x18,0x10,
75 0x0F,0x0C,0xE8,0x03,0x08,0x06,0x08,0x18,0x28,0x30,0x18,0x60,0x08,0x20,0x00,0x00,
76 0x40,0x40,0x41,0x20,0xCE,0x1F,0x04,0x20,0x00,0x40,0xFC,0x47,0x04,0x42,0x02,0x41,
77 0x02,0x40,0xFC,0x5F,0x04,0x40,0x04,0x42,0x04,0x44,0xFC,0x43,0x00,0x40,0x00,0x00,
78 0x40,0x00,0x20,0x00,0xF0,0x7F,0x1C,0x00,0x07,0x40,0xF2,0x41,0x94,0x22,0x94,0x14,
79 0x94,0x0C,0xFF,0x13,0x94,0x10,0x94,0x30,0x94,0x20,0xF4,0x61,0x04,0x20,0x00,0x00,
80 0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,
81 0xFE,0xFF,0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,0xFE,0x7F,0x00,0x00,0x00,0x00,
82 0x00,0x08,0x00,0x08,0xF8,0x0B,0x28,0x09,0x29,0x09,0x2E,0x09,0x2A,0x09,0xF8,0xFF,
83 0x28,0x09,0x2C,0x09,0x2B,0x09,0x2A,0x09,0xF8,0x0B,0x00,0x08,0x00,0x08,0x00,0x00,
84 0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,
85 0x10,0x01,0x1F,0x01,0x10,0x01,0x10,0xFF,0x10,0x00,0x18,0x00,0x10,0x00,0x00,0x00,
86 0x08,0x04,0x08,0x03,0xC8,0x00,0xFF,0xFF,0x48,0x00,0x88,0x41,0x08,0x30,0x00,0x0C,
87 0xFE,0x03,0x02,0x00,0x02,0x00,0x02,0x00,0xFE,0x3F,0x00,0x40,0x00,0x78,0x00,0x00,
88 0x40,0x00,0x42,0x40,0x42,0x20,0x42,0x10,0x42,0x0C,0xFE,0x03,0x42,0x00,0x42,0x00,
89 0x42,0x00,0x42,0x00,0xFE,0x7F,0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x00,0x00,
90 0x00,0x40,0x10,0x20,0x3E,0x10,0x10,0x88,0x10,0x87,0xF0,0x41,0x9F,0x46,0x90,0x28,
91 0x90,0x10,0x92,0x28,0x94,0x27,0x1C,0x40,0x10,0xC0,0x10,0x40,0x10,0x00,0x00,0x00,
92 0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0x7F,0x50,0x00,0x90,0x11,0x00,0x0E,0xFE,0x41,
93 0x62,0x20,0xA2,0x11,0x22,0x0A,0x21,0x0E,0xA1,0x31,0x61,0x60,0x00,0x20,0x00,0x00,
94 0x08,0x02,0x08,0x01,0x89,0x00,0xCE,0xFF,0xA8,0x00,0x18,0x83,0x00,0x40,0xFE,0x30,
95 0x82,0x0F,0x82,0x00,0x82,0x00,0x82,0x7F,0xFE,0x80,0x00,0x80,0x00,0xF0,0x00,0x00,
96 0x80,0x00,0x40,0x00,0xF0,0x7F,0x2C,0x00,0x43,0x10,0x20,0x0C,0x98,0x03,0x0F,0x21,
97 0x0A,0x40,0xE8,0x3F,0x08,0x00,0x88,0x00,0x28,0x03,0x1C,0x1C,0x08,0x08,0x00,0x00,
98 0x00,0x04,0x00,0x04,0x00,0x04,0xFE,0x04,0x92,0x04,0x92,0x04,0x92,0x04,0x92,0xFF,
99 0x92,0x04,0x92,0x04,0x92,0x04,0x92,0x04,0xFE,0x04,0x00,0x04,0x00,0x04,0x00,0x00,
100 0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,
101 0x42,0x10,0x42,0x10,0x42,0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
102 0x00,0x40,0x00,0x30,0xF8,0x0F,0x48,0x00,0x48,0x08,0x48,0x50,0xC8,0x4F,0x08,0x20,
103 0xFF,0x10,0x08,0x0B,0x09,0x0C,0x0A,0x12,0xC8,0x21,0x88,0x40,0x08,0xF0,0x00,0x00,
104 0x00,0x00,0x10,0x00,0x10,0x40,0x12,0x20,0x14,0x10,0x1C,0x08,0x10,0x06,0xF0,0x01,
105 0x9F,0x00,0x10,0x11,0x10,0x26,0x10,0x40,0x10,0x20,0xF8,0x1F,0x10,0x00,0x00,0x00,
106 0x00,0x08,0x00,0x08,0xF8,0x0B,0x28,0x09,0x29,0x09,0x2E,0x09,0x2A,0x09,0xF8,0xFF,
107 0x28,0x09,0x2C,0x09,0x2B,0x09,0x2A,0x09,0xF8,0x0B,0x00,0x08,0x00,0x08,0x00,0x00,
108 0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,
109 0x10,0x01,0x1F,0x01,0x10,0x01,0x10,0xFF,0x10,0x00,0x18,0x00,0x10,0x00,0x00,0x00,
110 0x08,0x04,0x08,0x03,0xC8,0x00,0xFF,0xFF,0x48,0x00,0x88,0x41,0x08,0x30,0x00,0x0C,
111 0xFE,0x03,0x02,0x00,0x02,0x00,0x02,0x00,0xFE,0x3F,0x00,0x40,0x00,0x78,0x00,0x00,
112 0x04,0x00,0x04,0xFF,0x04,0x01,0x04,0x01,0x74,0x3D,0x54,0x25,0x55,0x25,0x56,0x25,
113 0x54,0x25,0x54,0x25,0x74,0x3D,0x04,0x41,0x04,0x81,0x04,0x7F,0x04,0x00,0x00,0x00,
114 0x00,0x02,0x24,0x02,0x24,0x02,0x24,0x02,0x24,0x02,0x24,0x42,0x24,0x82,0xFE,0x7F,
115 0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x22,0x02,0x20,0x02,0x00,0x02,0x00,0x00,
116 0x00,0x80,0x00,0x70,0xFE,0x0F,0x22,0x41,0x22,0x81,0xFE,0x7F,0x44,0x04,0x58,0x04,
117 0x40,0x04,0xFF,0xFF,0x40,0x04,0x50,0x04,0x4C,0x04,0x48,0x04,0x00,0x04,0x00,0x00,
C51 COMPILER V7.06 LCD 03/13/2005 21:02:58 PAGE 3
118 0x00,0x80,0x00,0x70,0xFE,0x0F,0x22,0x41,0x22,0x81,0xFE,0x7F,0x44,0x04,0x58,0x04,
119 0x40,0x04,0xFF,0xFF,0x40,0x04,0x50,0x04,0x4C,0x04,0x48,0x04,0x00,0x04,0x00,0x00,
120 0x00,0x20,0x00,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0xFE,0x3F,
121 0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x20,0x00,0x00,
122 0x80,0x00,0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x22,0x00,0x18,0x00,0x0C,0x00,
123 0xFB,0xFF,0x48,0x04,0x48,0x04,0x48,0x04,0x68,0x04,0x48,0x06,0x08,0x04,0x00,0x00,
124 0x00,0x40,0x10,0x40,0x2C,0x48,0x24,0x49,0xA4,0x49,0x64,0x49,0x25,0x49,0x26,0x7F,
125 0x24,0x49,0x24,0x49,0xA4,0x49,0x24,0x4B,0x34,0x48,0x2C,0x40,0x04,0x40,0x00,0x00,
126 0x00,0x00,0x42,0x00,0x22,0x80,0x12,0x80,0x8F,0x5F,0xA2,0x40,0xC2,0x20,0xBE,0x10,
127 0x80,0x0E,0xBE,0x10,0x92,0x20,0x92,0x6F,0x12,0xC0,0x3E,0x40,0x00,0x00,0x00,0x00,
128 };
129
130
131 unsigned char code LCD_Show_Tab[]={
132 0x00,0x00,0x00,0x00,0x90,0x00,0x90,0x01,0x90,0x02,0x90,0x03,0x00,0x00,0x00,0x00, //欢迎使用
133 0x00,0x90,0x04,0x90,0x05,0x90,0x06,0x90,0x07,0x90,0x08,0x90,0x09,0x01,0x00,0x00,//单片机开发板
134 0x00,0x00,0x00,0x00,0x90,0x0a,0x90,0x0b,0x90,0x0c,0x90,0x0d,0x00,0x00,0x00,0x00,//祝你早日
135 0x90,0x0e,0x90,0x0f,0x90,0x10,0x90,0x11,0x90,0x12,0x90,0x13,0x90,0x14,0x01,0x00,//成为单片机高手
136 0x00,0x90,0x15,0x90,0x16,0x90,0x17,0x90,0x18,0x90,0x19,0x90,0x1a,0x01,0x00,0x00,//沈氏工作室贺!
137 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x00,//tel:85528624
138 };
139
140
141 /*-----------------------------------------------
142 LCD接收命令子程序:F为主/从选择0主模块被选中
143 ------------------------------------------------*/
144
145 void LCD_Write_Set( unsigned char Com,bit F )
146 {
147 1
148 1 LCD_PORT = Com;
149 1 LCD_DI = 0;
150 1 if ( F )
151 1 {
152 2 LCD_ENA2 = 1;
153 2 LCD_ENA2 = 0;
154 2 }
155 1 else
156 1 {
157 2 LCD_ENA1 = 1;
158 2 LCD_ENA1 = 0;
159 2 }
160 1 }
161
162 /*-----------------------------------------------
163 LCD接收数据子程序:F为主/从选择0主模块被选中
164 ------------------------------------------------*/
165 void LCD_Write_Data( unsigned char Com,bit F )
166 {
167 1 LCD_PORT = Com;
168 1 LCD_DI = 1;
169 1 if ( F )
170 1 {
171 2 LCD_ENA2 = 1;
172 2 LCD_ENA2 = 0;
173 2 }
174 1 else
175 1 {
176 2 LCD_ENA1 = 1;
177 2 LCD_ENA1 = 0;
178 2 }
179 1 }
C51 COMPILER V7.06 LCD 03/13/2005 21:02:58 PAGE 4
180
181
182 /*--------------------------------------------------------------
183 //设置xPos,yPos(x,y行列坐标)
184 ------------------------------------------------------------*/
185 void Set_xyPos_LCD(unsigned char xPos,unsigned char yPos) //112*32 0713 xPos(0---112) yPos(0---3)
186 {
187 1 unsigned char i;
188 1 if ( yPos < 2 )
189 1 i = 0xBA;
190 1 else
191 1 i = 0xB6;
192 1 if ( xPos > 60 )
193 1 {
194 2
195 2 LCD_Write_Set(yPos + i,1); //Page_LCD[i] i=0 first page i=7 seventh page
196 2 // LCD_Write_Set(((xPos - 57)>>4)&0x0F|0x10,1); //set col address msb
197 2 LCD_Write_Set(xPos - 61,1); //set col address lsb
198 2 }
199 1 else
200 1 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -