⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcdtest.lst

📁 各种器件的驱动程序
💻 LST
字号:
C51 COMPILER V7.50   LCDTEST                                                               09/25/2005 15:49:02 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCDTEST
OBJECT MODULE PLACED IN lcdtest.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE lcdtest.c ROM(COMPACT) OPTIMIZE(4,SIZE) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /**************************************************************************
   2                  LCD测试程序
   3                  魏东 2004-11-22 10:15
   4                  8051,频率:7.372848MHz
   5          **************************************************************************/
   6          #include <stdio.h>
   7          #define __SRC
   8          #include "def_port.h"
   9          #undef  __SRC
  10          #include "lcddrv.h"
  11          
  12          #define CON_OSC 7372848                                 /* 振荡频率 */
  13          #define CON_BPS 256 - ( CON_OSC / 12 / 32 / 19200 )     /* 19200BPS时间常数 */
  14          #define CON_MSC CON_OSC/36000                           /* 延时 */
  15          
  16          /* 函数定义 */
  17          void main_init (void);                  /* 初始化 */
  18          void delay_ms(unsigned char);           /* 延时(单位:毫秒) */
  19          
  20          /***********************************************************************************/
  21          /* 延时(单位:1毫秒) */
  22          void delay_ms(unsigned char cn)
  23          {       unsigned char cm;
  24   1      
  25   1              while(cn) 
  26   1              {       for(cm=0;cm<CON_MSC;cm++) ;     /* 延时(12/CON_OSC)*3 */
  27   2                                                      /*      编译为汇编如下:
  28   2                                                      delay_ub:       INC     R6              ;1
  29   2                                                      CJNE    R6,delay_ub     ;2
  30   2                                                      */
  31   2                      cn --;
  32   2              }
  33   1      }
  34          
  35          /* 初始化 */
  36          void main_init (void)
  37          {
  38   1              SCON=0x50;      /* 置串口工作方式1(T1用作串口波特率发生) */
  39   1              TMOD=0x20;      /* 置定时器1工作方式2 */
  40   1              TH1=CON_BPS;    /* 波特率时间常数 */
  41   1              TL1=CON_BPS;
  42   1              TR1=1;          /* 启动定时器1 */
  43   1              ET1=0;          /* 禁止定时器1中断 */
  44   1              EA=0;           /* 禁止中断 */
  45   1              ES=0;           /* 关串口中断 */
  46   1              TI=1;           /* 调试:set TI to send first char of UART  */
  47   1      }
  48          
  49          /***********************************************************************************/
  50          
  51          void main (void)
  52          {       unsigned char ci,cx,cy;
  53   1              unsigned int ui;
  54   1      
  55   1              main_init();            /* 初始化 */
C51 COMPILER V7.50   LCDTEST                                                               09/25/2005 15:49:02 PAGE 2   

  56   1       while(1)
  57   1       {
  58   2              lcd_id=0;
  59   2              printf("lcdtest.....\n");
  60   2              lcd_id=1;
  61   2              lcd_reset();
  62   2      
  63   2              lcd_fill(0);
  64   2              for(cy=0;cy<64;cy++)
  65   2              {       for(cx=0;cx<128;cx++)
  66   3                      {       lcd_dot(cx,cy,1);
  67   4                      }
  68   3              }
  69   2              for(ui=0;ui<5;ui++) delay_ms(100);
  70   2              lcd_fill(0xff);
  71   2              for(cy=0;cy<64;cy++)
  72   2              {       for(cx=0;cx<128;cx++)
  73   3                      {       lcd_dot(cx,cy,0);
  74   4                      }
  75   3              }
  76   2              for(ui=0;ui<5;ui++) delay_ms(100);
  77   2              lcd_fill(0);
  78   2              for(cy=0;cy<64;cy++)
  79   2              {       for(cx=0;cx<128;cx++)
  80   3                      {       lcd_dot(127-cx,63-cy,1);
  81   4                      }
  82   3              }
  83   2              for(ui=0;ui<5;ui++) delay_ms(100);
  84   2              lcd_fill(0xff);
  85   2              for(cy=0;cy<64;cy++)
  86   2              {       for(cx=0;cx<128;cx++)
  87   3                      {       lcd_dot(127-cx,63-cy,0);
  88   4                      }
  89   3              }
  90   2              for(ui=0;ui<5;ui++) delay_ms(100);
  91   2      
  92   2              L_LED=0;        /* 背光亮 */
  93   2              lcd_fill(0);
  94   2              lcd_set_chlib(3);
  95   2              lcd_moveto(16,0);
  96   2              printf("汉字液晶");
  97   2              lcd_set_chlib(2);
  98   2              lcd_moveto(0,6);
  99   2              printf("16x16点阵字库");
 100   2              lcd_set_chlib(1);
 101   2              lcd_moveto(0,10);
 102   2              printf("12x12点阵字库");
 103   2              lcd_moveto(100,13);
 104   2              printf("魏东");
 105   2              for(ui=0;ui<25;ui++) delay_ms(100);
 106   2      
 107   2              lcd_set_chlib(0);
 108   2              lcd_moveto(0,14);
 109   2              printf("lcd_off");
 110   2              for(ci=0;ci<5;ci++)
 111   2              {       if(ci&1) lcd_on();
 112   3                      else lcd_off();
 113   3                      delay_ms(100);
 114   3              }
 115   2              lcd_on();
 116   2      
 117   2              lcd_set_chlib(0);
C51 COMPILER V7.50   LCDTEST                                                               09/25/2005 15:49:02 PAGE 3   

 118   2              lcd_moveto(0,14);
 119   2              printf("lcd_roll");
 120   2              for(ci=1;ci<64;ci++)
 121   2              {       lcd_roll(ci);
 122   3                      delay_ms(50);
 123   3              }
 124   2              lcd_roll(0);
 125   2      
 126   2              lcd_fill(0);
 127   2              lcd_set_chlib(1);
 128   2              printf("12x12点阵字库小字体,128x64液晶满屏可显示5行每行10个汉字。显示函\xca\xfd中可自动处理英文字母显示

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -