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

📄 lcd.lst

📁 C8051F120 _AD开发过程中的一些代码和文档
💻 LST
字号:
C51 COMPILER V7.06   LCD                                                                   01/02/2000 11:14:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN Lcd.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Lcd.c LARGE OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <string.h>
   2          #include <stdlib.h>
   3          #include "C8051f.h"
   4          #include "Lcd.h"
   5          
   6          bit RS_STU;
   7          unsigned char bdata TA;
   8          
   9          sbit ACC0 = TA^0;
  10          sbit ACC1 = TA^1;
  11          sbit ACC2 = TA^2;
  12          sbit ACC3 = TA^3;
  13          sbit ACC4 = TA^4;
  14          sbit ACC5 = TA^5;
  15          sbit ACC6 = TA^6;
  16          sbit ACC7 = TA^7;
  17          
  18          #define CS Lcd_CS
  19          #define STD Lcd_STD
  20          #define SCLK Lcd_SCLK
  21          
  22          unsigned char code dish[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  23          unsigned char code disb[]={0x80,0x90,0x88,0x98};
  24          void Delay1ms(unsigned char T);
  25          
  26          void Lcd_Delay(unsigned char hjs)
  27          {       
  28   1              do
  29   1              {
  30   2                      if(hjs == 0)
  31   2                              break;
  32   2                      hjs = hjs-1;
  33   2              }while(1);
  34   1      
  35   1      }
  36          
  37          void Lcd_Delay2(unsigned int hj)
  38          {
  39   1              do
  40   1              {
  41   2                      if(hj == 0)
  42   2                              break;
  43   2                      Lcd_Delay(255);
  44   2                      hj = hj-1;
  45   2              }while(1);
  46   1      }
  47          
  48          void Lcd_CLK()
  49          {
  50   1              Lcd_Delay(10);
  51   1              SCLK=1;
  52   1              Lcd_Delay(10);
  53   1              SCLK=0;
  54   1      }
  55          
C51 COMPILER V7.06   LCD                                                                   01/02/2000 11:14:25 PAGE 2   

  56          void Lcd_WR(unsigned char gg)
  57          {       
  58   1              unsigned baka;
  59   1      //      EA = 0;
  60   1              TA = gg;
  61   1              CS = 1;
  62   1              STD = 1;
  63   1              SCLK = 0;
  64   1      
  65   1              for(baka = 0; baka<5; baka++)
  66   1              {
  67   2                      Lcd_CLK();
  68   2              }
  69   1      
  70   1              STD = 0;
  71   1              Lcd_CLK();
  72   1              
  73   1              if(RS_STU)
  74   1              {
  75   2                      STD = 1;
  76   2              }
  77   1              else
  78   1              {
  79   2                      STD = 0;
  80   2              }
  81   1              Lcd_CLK();
  82   1              
  83   1              STD = 0;
  84   1              Lcd_CLK();
  85   1              for(baka = 0; baka<4; baka++)
  86   1              {
  87   2                      if(ACC7)
  88   2                      {
  89   3                              STD = 1;
  90   3                      }
  91   2                      else
  92   2                      {
  93   3                              STD = 0;
  94   3                      }
  95   2                      Lcd_CLK();
  96   2                      TA = TA<<1;
  97   2              }
  98   1              
  99   1              STD = 0;
 100   1              for(baka = 0; baka<4; baka++)
 101   1              {
 102   2                      Lcd_CLK();
 103   2              }
 104   1      
 105   1              for(baka = 0; baka<4; baka++)
 106   1              {
 107   2                      if(ACC7)
 108   2                      {
 109   3                              STD = 1;
 110   3                      }
 111   2                      else
 112   2                      {
 113   3                              STD = 0;
 114   3                      }
 115   2                      Lcd_CLK();
 116   2                      TA = TA<<1;
 117   2              }
C51 COMPILER V7.06   LCD                                                                   01/02/2000 11:14:25 PAGE 3   

 118   1      
 119   1              STD = 0;
 120   1              for(baka = 0; baka<4; baka++)
 121   1              {
 122   2                      Lcd_CLK();
 123   2              }
 124   1              Lcd_Delay(100);
 125   1      //      EA=1;
 126   1      }
 127          
 128          void Lcd_Input(unsigned char gg)
 129          {
 130   1              Lcd_Delay2(1);
 131   1              RS_STU = 0;
 132   1              Lcd_WR(gg);
 133   1      }
 134          
 135          void Lcd_Displ(unsigned char gg)
 136          {
 137   1              Lcd_Delay2(1);
 138   1              RS_STU = 1;
 139   1              Lcd_WR(gg);
 140   1      }
 141          
 142          void Lcd_DisD(unsigned int gg)
 143          {
 144   1              unsigned char g1;
 145   1              unsigned char g2;
 146   1              unsigned char temp;
 147   1              unsigned int hh;
 148   1      
 149   1              g1 = 0;
 150   1              hh = 10000;
 151   1              for(temp = 0; temp<5; temp++)
 152   1              {
 153   2                      g2 = gg/hh;
 154   2                      gg = gg-g2*hh;
 155   2                      hh = hh/10;
 156   2                      if(g2 != 0)
 157   2                      { 
 158   3                              g1 = 1;
 159   3                      }
 160   2                      if((g1 == 1)||(temp == 4))
 161   2                      {
 162   3                              Lcd_Displ(dish[g2]);
 163   3                      }
 164   2              }
 165   1      }
 166          
 167          void Lcd_CLS()
 168          {
 169   1              Lcd_Input(0x01);
 170   1              Lcd_Delay2(100);
 171   1      }
 172          
 173          
 174          void Lcd_Initil()
 175          {
 176   1              Lcd_RST = 1;
 177   1              Delay1ms(200);
 178   1              RS_STU = 0;
 179   1              Lcd_Delay2(100);
C51 COMPILER V7.06   LCD                                                                   01/02/2000 11:14:25 PAGE 4   

 180   1              Lcd_Input(0x30);
 181   1              Lcd_Delay2(100);
 182   1              Lcd_Input(0x30);
 183   1              Lcd_Delay2(100);
 184   1              Lcd_Input(0x30);
 185   1              Lcd_Delay2(100);
 186   1              Lcd_Input(0x30);
 187   1              Lcd_Delay2(100);
 188   1              Lcd_Input(0x01);
 189   1              Lcd_Delay2(100);
 190   1              Lcd_Input(0x06);
 191   1              Lcd_Delay2(100);
 192   1              Lcd_Input(0x0c);
 193   1              Lcd_Delay2(100);
 194   1      }
 195          
 196          void Lcd_Dis(unsigned char ly,unsigned char lx,unsigned char *str)
 197          { 
 198   1              unsigned char temp;
 199   1      
 200   1      //      Initil();
 201   1              
 202   1      //      Lcd_Input(0x01);
 203   1      //      Lcd_Delay2(100);
 204   1              temp = disb[ly] + lx;
 205   1              Lcd_Input(temp);
 206   1              temp = 0;
 207   1              do
 208   1              {
 209   2                      if(str[temp] == 0)
 210   2                              break;
 211   2                      Lcd_Displ(str[temp]);
 212   2                      temp++;
 213   2              }while(1);
 214   1      }
 215          
 216          void Lcd_Display(unsigned char *str)
 217          { 
 218   1              unsigned char temp;
 219   1              temp = 0;
 220   1              do
 221   1              {
 222   2                      if(str[temp] == 0) break;
 223   2                      Lcd_Displ(str[temp]);
 224   2                      temp++;
 225   2              }while(1);
 226   1      }
 227          
 228          void Lcd_Draw(unsigned char *str)
 229          { 
 230   1              unsigned char kk,k1;
 231   1              Lcd_CLS();
 232   1              Lcd_Input(0x34);
 233   1              Lcd_Input(0x34);
 234   1              Lcd_Input(0x80);
 235   1              Lcd_Input(0x80);
 236   1              Lcd_Input(0x30);
 237   1              Lcd_Input(0x30);
 238   1              for(kk = 0; kk < 32; kk++)
 239   1              {
 240   2                      Lcd_Input(0x34);
 241   2                      Lcd_Input(0x34);
C51 COMPILER V7.06   LCD                                                                   01/02/2000 11:14:25 PAGE 5   

 242   2                      Lcd_Input(0x80+kk);
 243   2                      Lcd_Input(0x80);
 244   2                      Lcd_Input(0x30);
 245   2                      Lcd_Input(0x30);
 246   2                      for(k1 = 0; k1<16; k1++)
 247   2                      {
 248   3                              Lcd_Displ(str[kk*32+k1]);
 249   3                              Lcd_Displ(str[kk*32+k1+1]);
 250   3                      }
 251   2              }
 252   1              Lcd_Input(0x34);
 253   1              Lcd_Input(0x36);
 254   1              Lcd_Input(0x30);
 255   1              Lcd_Input(0x30);
 256   1      }
 257          
 258          void CursorMove(unsigned char y, unsigned char x, bit CursorOnOff)
 259          {
 260   1              unsigned char temp;
 261   1              temp = disb[y] + x;
 262   1              Lcd_Input(temp);
 263   1              Lcd_Delay2(100);
 264   1      
 265   1              temp = 0x0e;
 266   1              if (CursorOnOff == 0)
 267   1              {
 268   2                      temp &= 0xfd;
 269   2              }
 270   1      
 271   1              Lcd_Input(temp);
 272   1              Lcd_Delay2(100);
 273   1      }
 274          
 275          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1277    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =     33    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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