📄 liquid_crystal.lst
字号:
226
227 写数据左
228
229 ***********************/
230 void write_data_1(unsigned char dis_data)
231 {
232 1 busy_check_1();
233 1 write_data_addr_1=dis_data;
234 1 }
235 /***********************
236
237 写数据右
238
239 ***********************/
240 void write_data_2(unsigned char dis_data)
241 {
C51 COMPILER V7.50 LIQUID_CRYSTAL 10/10/2008 19:55:43 PAGE 5
242 1 busy_check_2();
243 1 write_data_addr_2=dis_data;
244 1 }
245 /***********************
246
247 清内存左
248
249 ***********************/
250 void clear_1(void)
251 {
252 1 unsigned char i;
253 1 unsigned char k;
254 1 write_cmd_1(Page_Add+0);
255 1 write_cmd_1(Col_Add+0);
256 1 for(i=0;i<8;i++)
257 1 {
258 2 write_cmd_1(Page_Add+i);
259 2 for(k=0;k<64;k++)
260 2 //write_data_1(0x00);
261 2 qingping_disp1(i,k,qingping);
262 2
263 2 }
264 1 }
265 /***********************
266
267 清内存右
268
269 ***********************/
270 void clear_2(void)
271 {
272 1 unsigned char i;
273 1 unsigned char k;
274 1 write_cmd_2(Page_Add+0);
275 1 write_cmd_2(Col_Add+0);
276 1 for(i=0;i<8;i++)
277 1 {
278 2 write_cmd_2(Page_Add+i);
279 2 for(k=0;k<64;k++)
280 2 //write_data_2(0x00);
281 2 qingping_disp2(i,k,qingping);
282 2
283 2 }
284 1 }
285 /***********************
286
287 显示汉字16*16左
288
289 ************************/
290 void Chinese_disp_1(unsigned char pag,unsigned char col,unsigned char n)
291 {
292 1 unsigned char i=0;
293 1 unsigned char j=0;
294 1 for(i=0;i<2;i++)
295 1 {
296 2 write_cmd_1(Page_Add+pag+i);
297 2 write_cmd_1(Col_Add+col);
298 2 for(j=0;j<16;j++)
299 2 write_data_1(Chinese_character[n][16*i+j]);
300 2
301 2 }
302 1
303 1 }
C51 COMPILER V7.50 LIQUID_CRYSTAL 10/10/2008 19:55:43 PAGE 6
304 /***********************
305
306 显示汉字16*16右
307
308 ***********************/
309 void Chinese_disp_2(unsigned char pag,unsigned char col,unsigned char n)
310 {
311 1 unsigned char i=0;
312 1 unsigned char j=0;
313 1 for(i=0;i<2;i++)
314 1 {
315 2 write_cmd_2(Page_Add+pag+i);
316 2 write_cmd_2(Col_Add+col);
317 2 for(j=0;j<16;j++)
318 2 write_data_2(Chinese_character[n][16*i+j]);
319 2
320 2 }
321 1
322 1 }
323 /***********************
324
325 显示叹号'!'
326
327 ***********************/
328 void tanhao_disp(unsigned char pag,unsigned char col,unsigned char *chinese2)
329 {
330 1 unsigned char i=0;
331 1 unsigned char j=0;
332 1 for(i=0;i<2;i++)
333 1 {
334 2 write_cmd_2(Page_Add+pag+i);
335 2 write_cmd_2(Col_Add+col);
336 2 for(j=0;j<8;j++)
337 2 write_data_2(chinese2[8*i+j]);
338 2
339 2 }
340 1
341 1 }
342 /***********************
343
344 清屏左
345
346 ***********************/
347 void qingping_disp1(unsigned char pag,unsigned char col,unsigned char *chinese2)
348 {
349 1 unsigned char i=0;
350 1 unsigned char j=0;
351 1 for(i=0;i<2;i++)
352 1 {
353 2 write_cmd_1(Page_Add+pag+i);
354 2 write_cmd_1(Col_Add+col);
355 2 for(j=0;j<8;j++)
356 2 write_data_1(chinese2[8*i+j]);
357 2
358 2 }
359 1
360 1 }
361 /***********************
362
363 清屏右
364
365 ***********************/
C51 COMPILER V7.50 LIQUID_CRYSTAL 10/10/2008 19:55:43 PAGE 7
366 void qingping_disp2(unsigned char pag,unsigned char col,unsigned char *chinese2)
367 {
368 1 unsigned char i=0;
369 1 unsigned char j=0;
370 1 for(i=0;i<2;i++)
371 1 {
372 2 write_cmd_2(Page_Add+pag+i);
373 2 write_cmd_2(Col_Add+col);
374 2 for(j=0;j<8;j++)
375 2 write_data_2(chinese2[8*i+j]);
376 2
377 2 }
378 1
379 1 }
380 /***********************
381
382 延时子程序
383
384 ***********************/
385 void delay(unsigned int k)
386 {
387 1 unsigned int i;
388 1 unsigned int j;
389 1 for(i=0;i<k;i++)
390 1 for(j=0;j<20;j++);
391 1 }
392
393 /***********************
394
395 LCD显示子程序
396
397 ***********************/
398 void display(void)
399 {
400 1 unsigned char i;
401 1 for(i=Start_line;i<0xff;i++)
402 1 {
403 2 Chinese_disp_1(0,16,0);
404 2 Chinese_disp_1(0,32,1);
405 2 Chinese_disp_1(0,48,2);
406 2 Chinese_disp_2(0,0,3);
407 2 Chinese_disp_2(0,16,4);
408 2 Chinese_disp_2(0,32,5);
409 2 Chinese_disp_1(2,32,6);
410 2 Chinese_disp_1(2,48,7);
411 2 Chinese_disp_2(2,0,8);
412 2 Chinese_disp_2(2,16,9);
413 2 Chinese_disp_2(2,32,10);
414 2 Chinese_disp_1(4,48,11);
415 2 Chinese_disp_2(4,0,12);
416 2 Chinese_disp_2(4,16,13);
417 2 Chinese_disp_1(6,32,14);
418 2 Chinese_disp_1(6,48,15);
419 2 Chinese_disp_2(6,0,16);
420 2 Chinese_disp_2(6,16,17);
421 2 tanhao_disp(6,32,tanhao);
422 2 write_cmd_1(i);
423 2 write_cmd_2(i);
424 2 delay(3000);
425 2
426 2 }
427 1 delay(60000);
C51 COMPILER V7.50 LIQUID_CRYSTAL 10/10/2008 19:55:43 PAGE 8
428 1
429 1
430 1 }
431 /***********主程序************/
432 void main(void)
433 {
434 1 clear_1();
435 1 clear_2();
436 1 while(1)
437 1 {
438 2 _nop_();
439 2 display();
440 2 }
441 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 746 ----
CONSTANT SIZE = 576 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 32 23
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 + -