📄 lcd.lst
字号:
C51 COMPILER V8.02 LCD 06/07/2008 19:32:58 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: C:\keil c51\C51\BIN\C51.EXE LCD.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************
2 -------头文件信息--------------------------
3 *******************************************/
4 //#include "config_LCD.H"
5 #include "c8051f020.h"
6 #include "intrins.h"
7 #include "lcd.h"
8 xdata unsigned short LCD_DATA1[64][8]={0};
9 unsigned char cc=0;
10
11 code unsigned char WindowsFronts[]={
12 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
13 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
14 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
15 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
16 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
17 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
18 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
19 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
20 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
21 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
22 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
23 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
24 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
25 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
26 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
27 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,
28 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
29 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,
30 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
31 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
32 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
33 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
34 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
35 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
36 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
37 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
38 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
39 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
40 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
41 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
42 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
43 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
44 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
45 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
46 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
47 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
48 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
49 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
50 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
51 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
52 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
53 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
54 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
55 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
C51 COMPILER V8.02 LCD 06/07/2008 19:32:58 PAGE 2
56 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
57 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
58 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
59 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
60 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
61 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
62 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
63 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
64 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
65 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
66 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
67 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
68 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
69 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
70 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
71 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
72 0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
73 0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,
74 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
75 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
76
77
78 /***********************************************************/
79
80
81 extern unsigned char code tbl[10]={48,49,50,51,52,53,54,55,56,57};//0-9 ascii code
82
83 /**************************************************************
84 ----------液晶配置子程序---------------------------------------
85 ***************************************************************/
86
87 void LCD_Config (void)
88 {
89 1 WDTCN=0X07;
90 1 WDTCN=0XDE;
91 1 WDTCN=0XADL;
92 1
93 1 OSCXCN=0X00;
94 1 OSCICN=0x06;
95 1 }
96
97 /**************************************************************
98 ------延时US子程序---------------------------------------------
99 ***************************************************************/
100 void Delay1us(unsigned char us)
101 {
102 1 while (us)
103 1 {
104 2 _nop_();
105 2 --us;
106 2 }
107 1 }
108
109 /*****************************************************************
110 ------延时MS子程序-----------------------------------------------
111 *****************************************************************/
112 void Delay1ms(unsigned char ms)
113 {
114 1 unsigned char i;
115 1 while (ms)
116 1 { for(i=0;i<255;i++)
117 2 { _nop_(); _nop_();}
C51 COMPILER V8.02 LCD 06/07/2008 19:32:58 PAGE 3
118 2 for(i=0;i<255;i++)
119 2 { _nop_(); _nop_();}
120 2 for(i=0;i<255;i++)
121 2 { _nop_(); _nop_();}
122 2 for(i=0;i<255;i++)
123 2 { _nop_(); _nop_();}
124 2 for(i=0;i<255;i++)
125 2 { _nop_(); _nop_();}
126 2 for(i=0;i<25;i++)
127 2 { _nop_(); _nop_();}
128 2 --ms;
129 2 }
130 1 }
131
132
133
134
135 /************************************************************************
136 ------等待LCD空闲子程序--------------------------------------------------
137 *************************************************************************
138 说明:入口参数:无
139 出口参数:无
140 ************************************************************************/
141 void LCD_WaitReady(void)
142 {
143 1 //while(!(LCD_State()&0x80));
144 1 Delay1us(40);
145 1 }
146
147 /************************************************************************
148 ------向LCD发送控制命令子程序--------------------------------------------
149 *************************************************************************
150 说明:入口参数:命令值
151 出口参数:无
152 *************************************************************************/
153
154 void LCD_WriteCommand(char ch) //
155 {
156 1 LCD_WaitReady();
157 1 LCD_CMD=0x04; //LCD_RW=0,LCD_RS=0,LCD_E=0;
158 1 _nop_();
159 1 _nop_();
160 1 LCD_DATA=ch;
161 1 Delay1us(10);
162 1 Delay1us(10);
163 1 LCD_CMD=!LCD_CMD;
164 1 }
165
166
167
168
169 /*******************************************************************************
170 ------向LCD发送数据命令子程序---------------------------------------------------
171 ********************************************************************************
172 说明:入口参数:数据
173 出口参数:无
174 *******************************************************************************/
175 void LCD_WriteData(char ch) //向LCD发送
176 {
177 1 LCD_WaitReady();
178 1 LCD_CMD=0x05; //LCD_RW=0,LCD_RS=1,LCD_E=1;
179 1 _nop_();
C51 COMPILER V8.02 LCD 06/07/2008 19:32:58 PAGE 4
180 1 _nop_();
181 1 LCD_DATA=ch;
182 1 Delay1us(10);
183 1 Delay1us(10);
184 1 LCD_CMD=!LCD_CMD;
185 1 }
186
187 /*
188 unsigned short LCD_ReadData(void)
189 {
190 unsigned char state_H,state_L;
191 LCD_WaitReady();
192 LCD_CMD=0xff; //LCD_RW=1,LCD_RS=1,LCD_E=1;
193 _nop_();
194 state_H=LCD_DATA;
195 Delay1ms(4);
196 state_L=LCD_DATA;
197 LCD_CMD=!LCD_CMD;
198 return state_H*256+state_L;
199 }
200 */
201 /********************************************************************
202 ------图形界面初始化子程序----------------------------------------------
203 ********************************************************************/
204 void LCD_GRAPH_CLEAR(void)
205 {
206 1 unsigned char i,j;
207 1 for(i=0;i<0x20;i++)
208 1 {
209 2
210 2 for(j=0;j<0x10;j++)
211 2 {
212 3 LCD_WriteCommand(0x80+i);
213 3 LCD_WriteCommand(0x80+j);
214 3 //Delay1ms(1);
215 3 _nop_();
216 3 LCD_WriteData(0x00);
217 3 LCD_WriteData(0x00);
218 3 }
219 2 }
220 1
221 1 }
222
223 /********************************************************************
224 ------向LCD初始化子程序----------------------------------------------
225 *********************************************************************
226 说明:入口参数:无
227 出口参数:无
228 *********************************************************************/
229 void LCD_Init(void) //初始化LCD
230 {
231 1 Delay1ms(60);
232 1 FUNCTION_BASIC(); //基本指令动作
233 1 Delay1us(150);
234 1 FUNCTION_BASIC();
235 1 Delay1us(60);
236 1 LCD_DISP_ON(); //开显示
237 1 Delay1us(150);
238 1 LCD_CLEAR(); //清屏
239 1 Delay1ms(20);
240 1 LCD_ENTRYMODE_INC(); //光标移动方式为增加
241 1 }
C51 COMPILER V8.02 LCD 06/07/2008 19:32:58 PAGE 5
242
243
244 /**************************************************************************
245 ------坐标变换子程序-------------------------------------------------------
246 ***************************************************************************
247 说明:入口参数:坐标,坐标
248 出口参数:成功与否
249 **************************************************************************/
250 unsigned char LCD_Goto(unsigned char x,unsigned char y)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -