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

📄 prg-jcc1602a15-01-a.lst

📁 KS0069 C51 DRIVER
💻 LST
字号:
C51 COMPILER V7.09   PRG_JCC1602A15_01_A                                                   04/04/2007 08:56:32 PAGE 1   


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

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          sbit RS=P3^0;
   4          sbit RW=P3^1;
   5          sbit E=P3^2;
   6          sbit GO=P3^3;
   7          
   8          
   9          void WriteCommand(unsigned char Command);
  10          void WritieData(unsigned char Data);
  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          void WriteCommand(unsigned char Command)
  31          {
  32   1          while(ReadBusy());
  33   1          RS=0;
  34   1          RW=0;
  35   1          E=1;
  36   1          _nop_();
  37   1          _nop_();
  38   1          P1=Command;
  39   1          _nop_();
  40   1          _nop_();
  41   1          E=0;
  42   1          _nop_();
  43   1          _nop_();
  44   1          E=1;
  45   1          _nop_();
  46   1          _nop_();
  47   1          P1=Command<<4;
  48   1          _nop_();
  49   1          _nop_();
  50   1          E=0;
  51   1          _nop_();
  52   1          _nop_();
  53   1      }
  54          
  55          void WriteData(unsigned char Command)
C51 COMPILER V7.09   PRG_JCC1602A15_01_A                                                   04/04/2007 08:56:32 PAGE 2   

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

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

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


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