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

📄 lcd.lst

📁 此程序的功能为DM12864液晶屏串行显示
💻 LST
字号:
C51 COMPILER V7.01  LCD                                                                    04/09/2009 16:38:56 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\工作资料\工作\键盘程序\MedWinV2.39\Keil\C51\Bin\C51.EXE lcd.c DB OE SMALL ROM(LARGE)

stmt level    source

   1          #include <reg51.h>
   2          //#include <intrins.h>
   3          #include <string.h>
   4          
   5          sbit CS=P2^0;
   6          sbit DATA=P2^1;
   7          sbit CLK=P2^2;
   8          
   9          sbit ACC0 = ACC^0;
  10          sbit ACC7 = ACC^7;
  11          bit abit;
  12          
  13          void Initial()
  14          {
  15   1              P0 = 0;
  16   1              P1 = 0;
  17   1              P2 = 0;
  18   1              P3 = 0;
  19   1              CS = 1;
  20   1              
  21   1              SCON = 0x10; //串口方式0   0001 0000
  22   1      }
  23          
  24          void Delay(unsigned int i)
  25          {
  26   1              int k=0;
  27   1              while(i--)
  28   1                      for(k=0;k<100;k++);
  29   1      }
  30          
  31          void SendData(char sj)
  32          {
  33   1              char data i=0;//,j;
  34   1              
  35   1              CS=1;
  36   1      
  37   1              ACC = 0xfa;
  38   1              for(i=8;i>0;i--)
  39   1              {
  40   2                      DATA = ACC7;
  41   2                      CLK = 0;
  42   2                      CLK = 1;
  43   2                      ACC <<= 1;
  44   2              }
  45   1              
  46   1              ACC = sj & 0xf0;
  47   1              for(i=8;i>0;i--)
  48   1              {
  49   2                      DATA = ACC7;
  50   2                      CLK = 0;
  51   2                      CLK = 1;
  52   2                      ACC <<= 1;
  53   2              }
  54   1              
  55   1              i = sj & 0x0f;
C51 COMPILER V7.01  LCD                                                                    04/09/2009 16:38:56 PAGE 2   

  56   1              i <<= 4;
  57   1              ACC = i;
  58   1              for(i=8;i>0;i--)
  59   1              {
  60   2                      DATA = ACC7;
  61   2                      CLK = 0;
  62   2                      CLK = 1;
  63   2                      ACC <<= 1;
  64   2              }
  65   1              
  66   1              CS=0;
  67   1      }
  68          
  69          unsigned char ChangeData(unsigned char udata)
  70          {
  71   1              unsigned char i,temp;
  72   1              
  73   1              
  74   1              ACC = udata;
  75   1              for(i=8;i>0;i--)
  76   1              {
  77   2                      
  78   2                      abit = ACC & 0x80;
  79   2                      if(abit)
  80   2                      {                                  
  81   3                              temp |= 0x80;
  82   3                              temp >>= 1;
  83   3                      }
  84   2                      else
  85   2                      {
  86   3                              temp >>= 1;
  87   3                      }
  88   2                      ACC <<= 1;
  89   2                      
  90   2              }
  91   1              return temp;
  92   1      }
  93          
  94          void SendDataWithCOM(char sj)
  95          {
  96   1              char data i=0;//,j;
  97   1              
  98   1              //CS=1;
  99   1      
 100   1              ACC = 0xfa;
 101   1              for(i=8;i>0;i--)
 102   1              {
 103   2                      DATA = ACC7;
 104   2                      CLK = 0;
 105   2                      CLK = 1;
 106   2                      ACC <<= 1;
 107   2              }
 108   1              
 109   1              ACC = sj & 0xf0;
 110   1              for(i=8;i>0;i--)
 111   1              {
 112   2                      DATA = ACC7;
 113   2                      CLK = 0;
 114   2                      CLK = 1;
 115   2                      ACC <<= 1;
 116   2              }
 117   1              
C51 COMPILER V7.01  LCD                                                                    04/09/2009 16:38:56 PAGE 3   

 118   1              i = sj & 0x0f;
 119   1              i <<= 4;
 120   1              ACC = i;
 121   1              for(i=8;i>0;i--)
 122   1              {
 123   2                      DATA = ACC7;
 124   2                      CLK = 0;
 125   2                      CLK = 1;
 126   2                      ACC <<= 1;
 127   2              }
 128   1              
 129   1              //CS=0;
 130   1      }
 131          
 132          void SendCom(char command)
 133          {
 134   1              char data i=0;
 135   1              
 136   1              CS = 1;
 137   1                      
 138   1              ACC = 0xf8;
 139   1              for(i=8;i>0;i--)
 140   1              {
 141   2                      DATA = ACC7;
 142   2                      CLK = 0;
 143   2                      CLK = 1;
 144   2                      ACC <<= 1; 
 145   2              }
 146   1              
 147   1              ACC = command & 0xf0;
 148   1              for(i=8;i>0;i--)
 149   1              {
 150   2                      DATA = ACC7;
 151   2                      CLK = 0;
 152   2                      CLK = 1;
 153   2                      ACC <<= 1;
 154   2              }
 155   1              
 156   1              i = command & 0x0f;
 157   1              i <<= 4;
 158   1              ACC = i;
 159   1              for(i=8;i>0;i--)
 160   1              {
 161   2                      DATA = ACC7;
 162   2                      CLK = 0;
 163   2                      CLK = 1;
 164   2                      ACC <<= 1;
 165   2              }
 166   1              
 167   1              CS=0;
 168   1      }
 169          
 170          void SendPos(unsigned char x,unsigned char y)   //x是列,y是行
 171          {
 172   1              unsigned char xy;
 173   1              
 174   1              if(y==0)
 175   1                      xy = x + 0x80;
 176   1              else if(y==1)
 177   1                      xy = x + 0x90;
 178   1              else if(y==2)
 179   1                      xy = x + 0x88;
C51 COMPILER V7.01  LCD                                                                    04/09/2009 16:38:56 PAGE 4   

 180   1              else if(y==3)
 181   1                      xy = x + 0x98;
 182   1              
 183   1              SendCom(xy);
 184   1      }
 185          
 186          void SendString(unsigned char str[16],unsigned char x,unsigned char y)
 187          {
 188   1              unsigned char i,xy,len;
 189   1              
 190   1              if(y==0)
 191   1                      xy = x + 0x80;
 192   1              else if(y==1)
 193   1                      xy = x + 0x90;
 194   1              else if(y==2)
 195   1                      xy = x + 0x88;
 196   1              else if(y==3)
 197   1                      xy = x + 0x98;
 198   1              
 199   1              SendCom(xy);
 200   1      
 201   1              len = strlen(str);
 202   1              for(i=0;i<len;i++)
 203   1                      SendData(*(str+i));
 204   1              
 205   1      }
 206          
 207          void main(void)
 208          {
 209   1              unsigned char i;
 210   1              Initial();
 211   1              SendCom(0x30);//基本指令集
 212   1              Delay(10);
 213   1              SendCom(0x01);//清屏
 214   1              Delay(10);
 215   1              SendCom(0x02);//游标回原点
 216   1              Delay(10);
 217   1              SendCom(0x0c);//开显示
 218   1              Delay(10);
 219   1              SendCom(0x80);//设定DRAM=0
 220   1              Delay(10);
 221   1              SendCom(0x88);//地址
 222   1              Delay(10);
 223   1              
 224   1              //for(i=0;i<20;i++)
 225   1              //{     
 226   1                      Delay(100); 
 227   1                      SendString("威克曼雕刻机",1,0);
 228   1                      Delay(100);
 229   1                      SendString("^_^ 欢迎使用 ^_^",0,1);
 230   1              //      Delay(1000);
 231   1              //      SendCom(0x01);//清屏
 232   1              //      Delay(1000);   
 233   1              //}
 234   1              
 235   1              //ChangeData(0xf0);
 236   1              
 237   1              
 238   1              while(1);
 239   1      }
*** WARNING C280 IN LINE 209 OF LCD.C: 'i': unreferenced local variable

C51 COMPILER V7.01  LCD                                                                    04/09/2009 16:38:56 PAGE 5   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    461    ----
   CONSTANT SIZE    =     30    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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