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

📄 ledmatrix.lst

📁 LED点阵的单片机程序包括了PROTEUS仿真
💻 LST
字号:
C51 COMPILER V8.08   LEDMATRIX                                                             03/03/2008 14:49:36 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE LEDMATRIX
OBJECT MODULE PLACED IN LedMatrix.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LedMatrix.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "REGx51.H"
   2          #include "INTRINS.H"
   3          
   4          
   5          
   6          #define SRCLK   P2_0
   7          #define SER     P2_1
   8          #define RCLK    P2_2
   9          
  10          unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; 
  11          
  12          /*
  13          unsigned char code dat[80] = {
  14          
  15          
  16          0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,
  17          
  18          0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x0E,
  19          
  20          0x0E,0x11,0x11,0x08,0x04,0x02,0x01,0x1F,
  21          
  22          0x0E,0x11,0x10,0x0C,0x10,0x10,0x11,0x0E,
  23          
  24          0x08,0x0C,0x0A,0x0A,0x09,0x1E,0x08,0x08,
  25          
  26          0x1F,0x01,0x01,0x0F,0x10,0x10,0x11,0x0E,
  27          
  28          0x0E,0x09,0x01,0x0F,0x11,0x11,0x11,0x0E,
  29          
  30          0x1F,0x09,0x08,0x04,0x04,0x04,0x04,0x04,
  31          
  32          0x0E,0x11,0x11,0x0E,0x11,0x11,0x11,0x0E,
  33          
  34          0x0E,0x11,0x11,0x11,0x1E,0x10,0x12,0x0E,
  35          
  36          };
  37          */
  38          /*
  39          unsigned char code dat[] = {
  40          
  41                 0x00,0x00,0x7C,0xC6,0xC6,0xCE,0xD6,0xD6,
  42                0xE6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00,
  43                0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,
  44                0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00,
  45                0x00,0x00,0x7C,0xC6,0x06,0x2C,0x18,0x30,
  46                0x60,0xC0,0xC6,0xFE,0x00,0x00,0x00,0x00,
  47                0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,
  48                0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00,
  49                0x00,0x00,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,
  50                0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00,
  51                0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xFC,0x0E,
  52                0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00,
  53                0x00,0x00,0x38,0x60,0xC0,0xC0,0xFC,0xC6,
  54                0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00,
  55                0x00,0x00,0xFE,0xC6,0x06,0x06,0x0C,0x18,
C51 COMPILER V8.08   LEDMATRIX                                                             03/03/2008 14:49:36 PAGE 2   

  56                0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,
  57                0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,
  58                0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00,
  59                0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,
  60                0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00
  61          }  ;
  62          */
  63          
  64          
  65          
  66          unsigned char code dat[] =          // 数据表
  67          {
  68            
  69            0x20,0x00,0x10,0x02,0x1F,0xFF,0x18,0x0C,
  70                0x42,0x2C,0x23,0xFC,0x33,0x6C,0x37,0x6C,
  71                0x07,0x6C,0x0F,0x6C,0x4B,0xEC,0x3A,0x4C,
  72                0x30,0x0C,0x38,0x2C,0x38,0x1C,0x10,0x08,
  73          
  74           0x01,0x80,0x01,0x82,0x7F,0xFF,0x01,0x80,
  75                0x21,0x82,0x3F,0xFF,0x36,0x26,0x33,0x76,
  76                0x32,0x46,0x37,0xF6,0x31,0x86,0x3F,0xFE,
  77                0x31,0x86,0x31,0x86,0x31,0x9E,0x20,0x04,
  78          
  79           0x04,0x10,0x1E,0x18,0x78,0x98,0x18,0xD8,
  80                0x18,0x78,0x7E,0x58,0x19,0x18,0x3D,0x98,
  81                0x3E,0xDA,0x3A,0x9F,0x58,0x78,0x5B,0x98,
  82                0x18,0x18,0x18,0x18,0x18,0x18,0x10,0x10,
  83          
  84          0x10,0x20,0x18,0x30,0x18,0x32,0x1B,0xFF,
  85                0x7E,0x30,0x18,0x34,0x19,0xFE,0x1A,0x8C,
  86                0x1C,0xCC,0x38,0x58,0x78,0x78,0x58,0x30,
  87                0x18,0x78,0x18,0xCE,0x39,0x87,0x12,0x02,
  88          
  89           0x01,0x00,0x01,0x80,0x01,0x80,0x01,0x80,
  90                0x01,0x84,0x3F,0xFE,0x01,0x80,0x01,0xC0,
  91                0x03,0x40,0x03,0x60,0x06,0x20,0x06,0x30,
  92                0x0C,0x18,0x18,0x0E,0x30,0x07,0x40,0x02,
  93          
  94          0x09,0x10,0x0D,0x98,0x14,0xB2,0x3F,0xFF,
  95                0x70,0x06,0x20,0x24,0x07,0xF0,0x00,0x60,
  96                0x00,0xC0,0x00,0xC4,0x3F,0xFE,0x00,0xC0,
  97                0x00,0xC0,0x00,0xC0,0x03,0xC0,0x00,0x80,
  98          
  99             0x10,0x00,0x19,0x08,0x19,0xFC,0x19,0x98,
 100                0x7F,0x98,0x19,0x98,0x39,0x98,0x3D,0x98,
 101                0x3F,0x98,0x5B,0x98,0x59,0x98,0x19,0x98,
 102                0x19,0x1A,0x1B,0x1A,0x1A,0x1F,0x14,0x0E,
 103          
 104                  0x10,0x10,0x18,0x1A,0x18,0x1B,0x1B,0xFF,
 105                0x7D,0x58,0x19,0x58,0x3D,0x5A,0x3F,0xFB,
 106                0x3B,0x5E,0x59,0x5E,0x59,0x4C,0x19,0x58,
 107                0x1B,0x5D,0x1A,0x35,0x1C,0x67,0x10,0x83,
 108          
 109                     0x01,0x00,0x01,0x80,0x01,0x80,0x21,0x84,
 110                0x3F,0xFE,0x31,0x8C,0x31,0x8C,0x3F,0xFC,
 111                0x31,0x8C,0x31,0x8C,0x3F,0xFC,0x21,0x88,
 112                0x01,0x82,0x01,0x82,0x01,0xFF,0x00,0xFE,
 113          
 114             0x00,0x08,0x0F,0xFC,0x00,0x18,0x00,0x30,
 115                0x00,0x60,0x00,0xC0,0x00,0xC2,0x7F,0xFF,
 116                0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,
 117                0x00,0xC0,0x00,0xC0,0x03,0xC0,0x00,0x80,
C51 COMPILER V8.08   LEDMATRIX                                                             03/03/2008 14:49:36 PAGE 3   

 118          
 119          0x00,0x00,0x00,0x08,0x3F,0xFC,0x01,0x80,
 120                0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
 121                0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
 122                0x01,0x80,0x01,0x84,0x7F,0xFE,0x00,0x00,
 123          
 124           0x06,0x82,0x3F,0xFF,0x0C,0xC6,0x0C,0xC6,
 125                0x0C,0xFE,0x7F,0x84,0x1C,0x00,0x1E,0x7E,
 126                0x3F,0x18,0x2D,0x18,0x2C,0x7E,0x4C,0x18,
 127                0x0C,0x18,0x0C,0x18,0x0C,0x1A,0x0C,0xFF,
 128          
 129                     0x08,0x20,0x0C,0x30,0x0D,0x30,0x3F,0xA2,
 130                0x0D,0x7F,0x7F,0xEC,0x0D,0x4C,0x1F,0xCC,
 131                0x31,0xA8,0x47,0x38,0x06,0x10,0x0F,0xB8,
 132                0x76,0x6C,0x26,0x46,0x0E,0x87,0x05,0x02,
 133          
 134           0x02,0x02,0x7F,0xFF,0x18,0x6C,0x18,0x6C,
 135                0x30,0x6C,0x22,0x6C,0x3E,0x6C,0x77,0xFF,
 136                0x36,0x6C,0x36,0x6C,0x36,0x6C,0x3E,0xCC,
 137                0x34,0xCC,0x21,0x8C,0x03,0x0C,0x04,0x08,
 138          
 139           0x03,0x00,0x11,0x84,0x3F,0xFE,0x70,0x0C,
 140                0x2F,0xF8,0x03,0x40,0x06,0x20,0x0C,0x30,
 141                0x1F,0xF8,0x09,0x90,0x01,0x80,0x0F,0xF0,
 142                0x01,0x80,0x01,0x80,0x01,0x84,0x3F,0xFE
 143          };
 144          
 145          
 146          void WriteByte(unsigned char val)
 147          {
 148   1              unsigned char m, c;
 149   1        
 150   1              c = val;
 151   1              
 152   1              for (m=0; m<8; m++) 
 153   1              {
 154   2      
 155   2              SRCLK = 0;    //拉低74HC595时钟
 156   2                      _nop_();
 157   2              SER =  c&0x01;//发送74HC595一位串行数据 
 158   2                      c=c>>1;
 159   2              SRCLK = 1;//拉高74HC595时钟
 160   2              _nop_();//延时
 161   2         }
 162   1      
 163   1         SER = 1;//释放数据总线
 164   1      
 165   1         //以下3条指令若在多字节时,应该移入多字节全发送完后在执行此3条指令
 166   1      
 167   1       
 168   1      
 169   1      
 170   1              
 171   1      }
 172          
 173          
 174          void main(void) 
 175          {
 176   1         unsigned char i, j ;
 177   1         unsigned int l,k;
 178   1      
 179   1        
C51 COMPILER V8.08   LEDMATRIX                                                             03/03/2008 14:49:36 PAGE 4   

 180   1         while(1)
 181   1         {
 182   2                 for(j=0; j<15; j++)
 183   2                 {
 184   3                        for(l=0; l<100; l++)
 185   3                        {     
 186   4                          for(i=0; i<16; i++)
 187   4                      {
 188   5                              k=j*32;;
 189   5                                  WriteByte(dat[k+i*2+1]);
 190   5                                      WriteByte(dat[k+i*2]);
 191   5                                      P1= i;
 192   5                                        RCLK = 0;
 193   5                      _nop_();//延时
 194   5                      RCLK = 1;//打入并行数据
 195   5                          }
 196   4                      }
 197   3                      for(l=0; l<100; l++)
 198   3                        {     
 199   4                          for(i=0; i<16; i++)
 200   4                      {
 201   5                                  WriteByte(0x00);
 202   5                                      WriteByte(0x00);
 203   5                                      P1= i;
 204   5                                      RCLK = 0;
 205   5                      _nop_();//延时
 206   5                      RCLK = 1;//打入并行数据
 207   5                          }
 208   4                      }  
 209   3                      
 210   3                      
 211   3              } 
 212   2      
 213   2         }
 214   1               
 215   1      }
 216          
 217          
 218            


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