📄 lcd.lst
字号:
168 3 LCD_WriteCommand2(0x40+y-64+i%16);
169 3 LCD_WriteData2(HZ[i]);
170 3 }
171 2 }
172 1 }
173 void LCD_WriteSZ(char x,char y,char *SZ) //显示8*16点阵数字 x表示起始页,y表示起始列(对于整个液晶来说)
174 {
C51 COMPILER V7.09 LCD 10/23/2008 21:50:55 PAGE 4
175 1 unsigned char i;
176 1 Delay1ms(8);
177 1
178 1 for (i=0;i<16;i++)
179 1 {
180 2 if ((y+i%8)<64) //64列以内显示在左半屏
181 2 {
182 3 LCD_WriteCommand1(0xB8+x+i/8);
183 3 LCD_WriteCommand1(0x40+y+i%8);
184 3 LCD_WriteData1(SZ[i]);
185 3 }
186 2 else //64列以外显示在右半屏
187 2 {
188 3 LCD_WriteCommand2(0xB8+x+i/8);
189 3 LCD_WriteCommand2(0x40+y-64+i%8);
190 3 LCD_WriteData2(SZ[i]);
191 3 }
192 2 }
193 1 }
194 void TestLCD(void){
195 1
196 1 LCD_WriteSZ(0,0,zero);
197 1 /*LCD_WriteSZ(0,8,one);
198 1 Delay1ms(100);
199 1 LCD_WriteSZ(0,16,two);
200 1 Delay1ms(100);
201 1 LCD_WriteSZ(0,24,three);
202 1 Delay1ms(100);
203 1 LCD_WriteSZ(0,32,four);
204 1 Delay1ms(100);
205 1 LCD_WriteSZ(0,40,five);
206 1 Delay1ms(100);
207 1 LCD_WriteSZ(0,48,six);
208 1 Delay1ms(100);
209 1 LCD_WriteSZ(0,56,seven);
210 1 Delay1ms(100);
211 1 LCD_WriteSZ(0,64,eight);
212 1 Delay1ms(100);
213 1 LCD_WriteSZ(0,72,nine);
214 1 Delay1ms(100);
215 1 LCD_WriteSZ(0,80,nine);
216 1 Delay1ms(100);
217 1 LCD_WriteSZ(0,88,eight);
218 1 Delay1ms(100);
219 1 LCD_WriteSZ(0,96,seven);
220 1 Delay1ms(100);
221 1 LCD_WriteSZ(0,104,six);
222 1 Delay1ms(100);
223 1 LCD_WriteSZ(0,112,five);
224 1 Delay1ms(100);
225 1 LCD_WriteSZ(0,120,four);
226 1 Delay1ms(100);
227 1 LCD_WriteSZ(0,128,three);
228 1 Delay1ms(100);*/
229 1 LCD_WriteSZ(2,0,two);
230 1 //LCD_WriteSZ(2,8,one);
231 1 //Delay1ms(100);
232 1 //LCD_WriteSZ(2,16,zero);
233 1 Delay1ms(100);
234 1
235 1
236 1 }
C51 COMPILER V7.09 LCD 10/23/2008 21:50:55 PAGE 5
237 void Port_IO_Init()
238 {
239 1 // P0.0 - Unassigned, Open-Drain, Digital
240 1 // P0.1 - Unassigned, Open-Drain, Digital
241 1 // P0.2 - Unassigned, Open-Drain, Digital
242 1 // P0.3 - Unassigned, Open-Drain, Digital
243 1 // P0.4 - Unassigned, Open-Drain, Digital
244 1 // P0.5 - Unassigned, Open-Drain, Digital
245 1 // P0.6 - Unassigned, Open-Drain, Digital
246 1 // P0.7 - Unassigned, Open-Drain, Digital
247 1
248 1 // P1.0 - Unassigned, Open-Drain, Digital
249 1 // P1.1 - Unassigned, Open-Drain, Digital
250 1 // P1.2 - Unassigned, Open-Drain, Digital
251 1 // P1.3 - Unassigned, Open-Drain, Digital
252 1 // P1.4 - Unassigned, Open-Drain, Digital
253 1 // P1.5 - Unassigned, Open-Drain, Digital
254 1 // P1.6 - Unassigned, Open-Drain, Digital
255 1 // P1.7 - Unassigned, Open-Drain, Digital
256 1
257 1 // P2.0 - Unassigned, Open-Drain, Digital
258 1 // P2.1 - Unassigned, Open-Drain, Digital
259 1 // P2.2 - Unassigned, Open-Drain, Digital
260 1 // P2.3 - Unassigned, Open-Drain, Digital
261 1 // P2.4 - Unassigned, Open-Drain, Digital
262 1 // P2.5 - Unassigned, Open-Drain, Digital
263 1 // P2.6 - Unassigned, Open-Drain, Digital
264 1 // P2.7 - Unassigned, Open-Drain, Digital
265 1
266 1 // P3.0 - Unassigned, Open-Drain, Digital
267 1 // P3.1 - Unassigned, Open-Drain, Digital
268 1 // P3.2 - Unassigned, Open-Drain, Digital
269 1 // P3.3 - Unassigned, Open-Drain, Digital
270 1 // P3.4 - Unassigned, Open-Drain, Digital
271 1 // P3.5 - Unassigned, Open-Drain, Digital
272 1 // P3.6 - Unassigned, Open-Drain, Digital
273 1 // P3.7 - Unassigned, Open-Drain, Digital
274 1
275 1 SFRPAGE = CONFIG_PAGE;
276 1 P2MDOUT = 0xFF;
277 1 P3MDOUT = 0xFF;
278 1 P4MDOUT = 0xFF;
279 1 P5MDOUT = 0xFF;
280 1 P6MDOUT = 0xFF;
281 1 P7MDOUT = 0xFF;
282 1 XBR0 = 0x04;
283 1 XBR1 = 0x04;
284 1 XBR2 = 0x40;
285 1 XBR3 = 0x00;
286 1 }
287 void Oscillator_Init()
288 {
289 1 SFRPAGE = CONFIG_PAGE;
290 1 OSCICN = 0x83;
291 1 }
292
293 void Delay1us(unsigned char T)
294 { while(T){
295 2 T--;
296 2 }
297 1 }
298 void Delay1ms(unsigned char T)
C51 COMPILER V7.09 LCD 10/23/2008 21:50:55 PAGE 6
299 {
300 1 while (T)
301 1 {
302 2 Delay1us(200);
303 2 Delay1us(200);
304 2 Delay1us(200);
305 2 Delay1us(200);
306 2 Delay1us(200);
307 2 T--;
308 2 }
309 1 }
310 void Delay1s(unsigned char T)
311 {
312 1 while (T)
313 1 {
314 2 Delay1ms(200);
315 2 Delay1ms(200);
316 2 Delay1ms(200);
317 2 Delay1ms(200);
318 2 Delay1ms(200);
319 2 T--;
320 2 }
321 1 }
322 void main(){
323 1 WDTCN = 0x07;
324 1 WDTCN = 0xde;
325 1 WDTCN = 0xad; //关看门狗
326 1 Port_IO_Init();
327 1 Oscillator_Init();
328 1 InitLCD();
329 1 TestLCD();
330 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 603 ----
CONSTANT SIZE = 320 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 14
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 + -