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

📄 jcc1602a16.lst

📁 KS0069 C51 DRIVER
💻 LST
字号:
C51 COMPILER V7.09   JCC1602A16                                                            04/26/2007 16:59:30 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE JCC1602A16
OBJECT MODULE PLACED IN JCC1602A16.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\C51.EXE JCC1602A16.C DB OE SMALL ROM(LARGE)

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          sbit RS=P2^1;
   4          sbit RW=P3^6;
   5          sbit E=P3^7;
   6          sbit GO=P3^3;
   7          
   8          
   9          void WriteCommand(unsigned char cmd);
  10          void WritieData(unsigned char dat);
  11          bit ReadBusy();
  12          void Initial();
  13          void DelayXms(unsigned int n);
  14          void Display(unsigned char d);
  15          void Wait();
  16          void WriteCGRAM();
  17          void Display1(unsigned char P);
  18          void Display2(unsigned char P1,unsigned char P2);
  19          void Display3(unsigned char P1,unsigned char P2);
  20          
  21          unsigned char code CGRAM[]={
  22          0X00,0XFF,0X00,0XFF,0X00,0XFF,0X00,0XFF,
  23          0X55,0X55,0X55,0X55,0X55,0X55,0X55,0X55,
  24          0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
  25          0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  26          0XAA,0X55,0XAA,0X55,0XAA,0X55,0XAA,0X55,
  27          };
  28          
  29          
  30          bit lcd_bz()
  31          {                                                       
  32   1              bit result;
  33   1              RS = 0;
  34   1              RW = 1;
  35   1              E = 1;
  36   1              _nop_();
  37   1              _nop_();
  38   1              _nop_();
  39   1              _nop_();
  40   1              result = (bit)(P0 & 0x80);
  41   1              E = 0;
  42   1              return result;  
  43   1      }
  44          
  45          void WriteCommand(unsigned char cmd)
  46          {                                               
  47   1              while(lcd_bz());
  48   1              RS = 0;
  49   1              RW = 0;
  50   1              E = 0;
  51   1              _nop_();
  52   1              _nop_();        
  53   1              P1 = cmd;
  54   1              _nop_();
  55   1              _nop_();
C51 COMPILER V7.09   JCC1602A16                                                            04/26/2007 16:59:30 PAGE 2   

  56   1              _nop_();
  57   1              _nop_();
  58   1              E = 1;
  59   1              _nop_();
  60   1              _nop_();
  61   1              _nop_();
  62   1              _nop_();
  63   1              E = 0;          
  64   1      }
  65          
  66          WriteData(unsigned char dat)    
  67          {                                                       
  68   1              while(lcd_bz());
  69   1              RS = 1;
  70   1              RW = 0;
  71   1              E = 0;
  72   1              P1 = dat;
  73   1              _nop_();
  74   1              _nop_();
  75   1              _nop_();
  76   1              _nop_();
  77   1              E = 1;
  78   1              _nop_();
  79   1              _nop_();
  80   1              _nop_();
  81   1              _nop_();
  82   1              E = 0;  
  83   1      }
  84          
  85          void Wait()
  86          {  
  87   1          TR0=1;
  88   1          GO=1;
  89   1          while(GO);
  90   1          DelayXms(500);
  91   1          TR0=0;
  92   1      }
  93          
  94          void DelayXms(unsigned int i)
  95          {
  96   1          unsigned char a;
  97   1          unsigned int b;
  98   1          for(b=0;b<i;b++)
  99   1          for(a=0;a<255;a++);
 100   1      }
 101          
 102          void WriteCGRAM()
 103          {
 104   1           unsigned char i;
 105   1           WriteCommand(0x40);
 106   1           DelayXms(6);
 107   1           for(i=0;i<40;i++)
 108   1           {
 109   2               WriteData(CGRAM[i]);
 110   2           }
 111   1      }
 112          
 113          void Display1(unsigned char P)
 114          {
 115   1           unsigned char i;
 116   1           WriteCommand(0x02);
 117   1           DelayXms(6);
C51 COMPILER V7.09   JCC1602A16                                                            04/26/2007 16:59:30 PAGE 3   

 118   1           WriteCommand(0x80|0x00);
 119   1           DelayXms(6);
 120   1           for(i=0;i<16;i++)
 121   1           {
 122   2               WriteData(P);
 123   2           }
 124   1           WriteCommand(0x80|0x40);
 125   1           DelayXms(6);
 126   1           for(i=0;i<16;i++)
 127   1           {
 128   2               WriteData(P);
 129   2           }
 130   1      }
 131          
 132          void Display2(unsigned char P1,unsigned char P2)
 133          {
 134   1           unsigned char i;
 135   1           WriteCommand(0x02);
 136   1           DelayXms(6);
 137   1           WriteCommand(0x80|0x00);
 138   1           DelayXms(6);
 139   1           for(i=0;i<16;i++)
 140   1           {
 141   2               WriteData(P1++);
 142   2           }
 143   1           WriteCommand(0x80|0x40);
 144   1           DelayXms(6);
 145   1           for(i=0;i<16;i++)
 146   1           {
 147   2               WriteData(P2++);
 148   2           }
 149   1      }
 150          
 151          void Display3(unsigned char P1,unsigned char P2)
 152          {
 153   1           unsigned char i;
 154   1           WriteCommand(0x02);
 155   1           DelayXms(6);
 156   1           WriteCommand(0x80|0x00);
 157   1           DelayXms(10);
 158   1           for(i=0;i<16;i++)
 159   1           {
 160   2               WriteData(P1--);
 161   2           }
 162   1           WriteCommand(0x80|0x40);
 163   1           DelayXms(10);
 164   1           for(i=0;i<16;i++)
 165   1           {
 166   2               WriteData(P2--);
 167   2           }
 168   1      }
 169                    
 170          void Initial()
 171          {
 172   1           WriteCommand(0x38); //Function set
 173   1           DelayXms(10);
 174   1           WriteCommand(0x0c); //Display ON/OFF Control
 175   1           DelayXms(10);
 176   1           WriteCommand(0x01); //Display Clear
 177   1           DelayXms(10);
 178   1           WriteCommand(0x06); //Entry Mode Set
 179   1           DelayXms(10);
C51 COMPILER V7.09   JCC1602A16                                                            04/26/2007 16:59:30 PAGE 4   

 180   1           WriteCGRAM();
 181   1      }
 182          
 183          
 184          main()
 185          {
 186   1           Initial();
 187   1           while(1)
 188   1           {
 189   2               Display1(0x02);
 190   2               Wait();
 191   2               Display1(0x01);
 192   2               Wait();
 193   2               Display1(0x02);
 194   2               Wait();
 195   2               Display1(0x03);
 196   2               Wait();
 197   2               Display1(0x04);
 198   2               Wait();
 199   2               Display2(0x30,0x58);
 200   2               Wait();
 201   2               Display2(0xa0,0xc8);
 202   2               Wait();
 203   2               Display3(0xff,0xd8);
 204   2               Wait();
 205   2            }
 206   1        }
 207            
 208           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    408    ----
   CONSTANT SIZE    =     40    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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