📄 text1.lst
字号:
337 {
338 1 //lcd_busy();
339 1 di_12864 =1;
340 1 rw_12864 =0;
341 1 lcd_bus_12864 =dispdata;
342 1 enable_12864 =1;
343 1 _nop_();
344 1 enable_12864 =0;
345 1 }
346
347 /*****位置 X 表示行, Y表示列 , Z 表示要亮的点 *********/
348 void write(x,y,uchar c)
349 {
350 1
351 1 z=c;
352 1 cs1_12864=0;
353 1 cs2_12864=1; //选择左屏幕
354 1 if (y>64)
355 1 {
356 2 y=y-64 ;
357 2 cs1_12864=1;
358 2 cs2_12864=0; //选择右屏幕
359 2 }
360 1 write_command_12864(row_12864+x); //8大行位置 X 1到 8
361 1 write_command_12864(col_12864+y); //128 列位置 y 1 到 128
362 1 write_data_12864(z);
363 1
364 1 }
C51 COMPILER V7.20 TEXT1 08/22/2007 16:52:57 PAGE 7
365
366 uchar getkey()
367
368 {
369 1 unsigned char keycode=0xff,temp,i;
370 1 P2=0x0f;
371 1 temp=P2&0x0f;
372 1 if(temp!=0x0f) //判是否有键按下
373 1 {
374 2 // beep=0;
375 2 P2=0xef; //自第0行开始扫描输出,自列读入键值
376 2 for(i=0;i<4;i++)
377 2 {
378 3 temp=P1&0x0f;
379 3 if(temp==0x07) //判断第0列是否有键按下
380 3 {
381 4 keycode=i*4+0;
382 4 break;
383 4 }
384 3 else if(temp==0x0b)//判断第1列是否有键按下
385 3 {
386 4 keycode=i*4+1;
387 4 break;
388 4 }
389 3 else if(temp==0x0d)//判断第2列是否有键按下
390 3 {
391 4 keycode=i*4+2;
392 4 break;
393 4 }
394 3 else if(temp==0x0e)//判断第3列是否有键按下
395 3 {
396 4 keycode=i*4+3;
397 4 break;
398 4 }
399 3 P2=(P2<<1)|0x1;
400 3 }
401 2
402 2 while((P1&0x0f)!=0x0f) //等待释放
403 2 {
404 3 P2=0x0f;
405 3 }
406 2 // beep=1;
407 2
408 2 }
409 1 return keycode;
410 1 }
411
412
413
414
415 void rewrite(uchar c)
416 {
417 1
418 1
419 1 write(x,y,c);
420 1 y++;
421 1 if (y==129) {y=1;x++;}
422 1 if (x==9) { x=1;y=1;}
423 1
424 1 }
425
426
C51 COMPILER V7.20 TEXT1 08/22/2007 16:52:57 PAGE 8
427 main()
428 {
429 1 uchar k=0;
430 1 uint i,j;
431 1 init_lcd_12864();
432 1 clear_screen_12864();
433 1 while(1)
434 1
435 1 {
436 2
437 2 x=0;
438 2 y=0;
439 2
440 2
441 2
442 2
443 2 /* for(i=0;i<128*8;i++)
444 2 { //k=i/12;
445 2
446 2 write_command_12864(row_12864+x+1); //8大行位置 X 1到 8
447 2 write_command_12864(col_12864+y); //128 列位置 y 1 到 128
448 2 write_data_12864 (0xff);
449 2
450 2 y++;
451 2
452 2
453 2 if(y==64)
454 2 {
455 2 if((cs1_12864==0)&&(cs2_12864==1))
456 2 {
457 2 cs1_12864=1;
458 2 cs2_12864=0;
459 2 }
460 2 else
461 2 {
462 2 cs1_12864=0;
463 2 cs2_12864=1;
464 2
465 2 }
466 2 y=0;
467 2 }
468 2
469 2
470 2
471 2
472 2
473 2 } */
474 2
475 2
476 2 for (i=0;i<128*8;i++)
477 2 {
478 3 rewrite(pan[i]);
479 3
480 3 }
481 2 for(j=0;j<30;j++)
482 2 delay_12864 ();
483 2 clear_screen_12864();
484 2 for (i=0;i<128*8;i++)
485 2 {
486 3 rewrite(pan[i+1+i/64]);
487 3
488 3
C51 COMPILER V7.20 TEXT1 08/22/2007 16:52:57 PAGE 9
489 3 }
490 2
491 2 }
492 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 485 ----
CONSTANT SIZE = 3102 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 5
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 + -