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

📄 lcd12864-12.lst

📁 以C8051F020单片机做的多功能计数器
💻 LST
字号:
C51 COMPILER V7.50   LCD12864_12                                                           09/20/2008 15:21:10 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCD12864_12
OBJECT MODULE PLACED IN lcd12864-12.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd12864-12.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "lcd12864-12.h"
   2          
   3          
   4          //说明:清屏指令的执行时间为1.6ms,其余指令的执行时间为72us;
   5          
   6          
   7          
   8          void LcdDelay(unsigned int num)
   9          {
  10   1              while(num--);
  11   1      }
  12          
  13          void LcdInit(void)
  14          {
  15   1              LcdWriteCmd(0x30);              //0x30--基本指令操作
  16   1              LcdWriteCmd(0x0c);              //开显示,关光标,不闪烁。
  17   1              LcdClear();                             //清除显示
  18   1              LcdWriteCmd(0x06);              //指定在资料写入或读取时,光标的移动方向,DDRAM的地址计数器(AC)加1。 
  19   1      //      LcdDrawClear();                 //清空绘图RAM
  20   1      }
  21          
  22          void LcdClear(void)
  23          {
  24   1      //      LcdCheckBusy();
  25   1              LCD_RS=0;
  26   1              LCD_RW=0;
  27   1              LCD_DATA=0x01;
  28   1              LCD_E=1;
  29   1              LcdDelay(80);
  30   1              LCD_E=0;
  31   1              LcdDelay(2500);//大于1.6ms
  32   1      }
  33          
  34          void LcdWriteCmd(unsigned char dictate)
  35          {
  36   1      //      LcdCheckBusy();
  37   1              LCD_RS=0;
  38   1              LCD_RW=0;
  39   1              LCD_DATA=dictate;
  40   1              LcdDelay(96);
  41   1              LCD_E=1;
  42   1              LcdDelay(80);
  43   1              LCD_E=0;
  44   1              LcdDelay(140);
  45   1      }
  46          
  47          //向lcd控制芯片发送数据
  48          void LcdWriteData(unsigned char datas)
  49          {
  50   1      //      LcdCheckBusy();
  51   1              LCD_RS=1;
  52   1              LCD_RW=0;
  53   1              LCD_DATA=datas;
  54   1              LCD_E=1;
  55   1              LcdDelay(80);
C51 COMPILER V7.50   LCD12864_12                                                           09/20/2008 15:21:10 PAGE 2   

  56   1              LCD_E=0;
  57   1              LcdDelay(140);
  58   1      }
  59          
  60          //显示字符
  61          void LcdShow(unsigned char x,unsigned char y,unsigned char *ASC_GB)
  62          {
  63   1      //      LcdCheckBusy();
  64   1              LcdSetCursor(x,y);
  65   1              while(*ASC_GB)
  66   1              {
  67   2                      LcdWriteData(*ASC_GB);
  68   2                      ASC_GB++;
  69   2              }
  70   1      }
  71          
  72          void LcdSetCursor(unsigned char x,unsigned char y)
  73          {
  74   1              unsigned char xdata cursorPos[4][8]={{0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87},
  75   1                                                                                   {0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97},
  76   1                                                                                   {0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F},
  77   1                                                                                   {0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F}};
  78   1      //      LcdCheckBusy();
  79   1              LcdWriteCmd(cursorPos[x][y]);
  80   1      }
  81          
  82          /*
  83          
  84          void LcdSetState(bit bShowCursor,bit bReserverAndFlash)
  85          {
  86                  unsigned char bdata cmd=0x0c;
  87                  if(bShowCursor)
  88                          cmd+=0x02;
  89                  if(bReserverAndFlash)
  90                          cmd+=0x01;
  91                  LcdWriteCmd(cmd);
  92          }
  93          
  94          
  95          void LcdSetCmdGather(bit isExtern)
  96          {
  97          
  98                  unsigned char bdata cmd=0x32;
  99                  if(isExtern)
 100                          cmd+=0x04;
 101                  LcdWriteCmd(cmd);
 102          }
 103          
 104          void  LcdCheckBusy()
 105          {
 106                  LcdDelay(200);return;
 107                  unsigned char b;
 108                  P7=0xff;  
 109                  LCD_RS=0; 
 110                  LCD_RW=1; 
 111                  while(1) 
 112                  { 
 113                          delay(100);
 114                          LCD_E=1; 
 115                          delay(100);
 116                          b=P7&0x80;
 117                          if(b==0x00)
C51 COMPILER V7.50   LCD12864_12                                                           09/20/2008 15:21:10 PAGE 3   

 118                          {
 119                                  LCD_E=0; 
 120                                  break; 
 121                          }
 122                  }
 123          }*/
 124          
 125          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    189    ----
   CONSTANT SIZE    =     32    ----
   XDATA SIZE       =   ----      32
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       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 + -