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

📄 rs.lst

📁 AT89S52控制64*16双基色点阵led显示数字 数字通过自摸取出数组8*16 硬件环境:595
💻 LST
字号:
C51 COMPILER V8.05a   RS                                                                   05/20/2009 15:24:22 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE RS
OBJECT MODULE PLACED IN RS.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RS.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>                      
   2          #include <intrins.h>
   3          #define uchar unsigned char
   4          void Ini_IO(void);
   5          void IN_595(uchar temp);
   6          void OUT_595(void);
   7          void clear(void);
   8          void Ini_Timer0();
   9          void time_display(void);
  10          void delay(uchar time);
  11          //74HC138的A,B,C三个选择端//
  12          sbit A_138=P1^0;        //A
  13          sbit B_138=P1^1;        //B
  14          sbit C_138=P1^2;        //C
  15          //Col_Sel_E2=L_OE  Col_Sel_E1 =选择的是1,3排的有效还是2,4有效//
  16          sbit E1=P1^3;   //L_D      Col_Sel_E1
  17          sbit E2=P1^4;   //L_OE     Col_Sel_E2
  18          //SER的控制//
  19          sbit R2_SER=P0^1; //2R_SER      2排的595数据输入端
  20          sbit R4_SER=P0^3; //4R_SER      4排的595数据输入端
  21          sbit R1_SER=P0^0; //1R_SER      1排的595数据输入端
  22          sbit R3_SER=P0^2; //3R_SER      3排的595数据输入端
  23          //SCK的控制//
  24          sbit SCK=P0^5;  //L_CP12        R_SRC   34R_SRC
  25          //RCK的控制//
  26          sbit RCK=P0^4;  //12R_RC 34R_RC
  27          //传感器控制
  28          //sbit SENSOR=P3^3;
  29          uchar code number[10][16]={
  30                                                                  {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},      //0
  31                                                                  {0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},      //1
  32                                                                  {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},      //2
  33                                                                  {0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00},      //3
  34                                                                  {0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00},      //4
  35                                                                  {0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00},      //5
  36                                                                  {0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00},      //6
  37                                                                  {0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},      //7
  38                                                                  {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},      //8
  39                                                                  {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00}       //9
  40                                                       };
  41          //uchar code number[16]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  42          void main()
  43          {
  44   1              Ini_IO();
  45   1              clear();
  46   1              while(1)
  47   1                      time_display();
  48   1      }
  49          /*===============================参赛队显示==============================*/
  50          void time_display(void)
  51          {
  52   1              uchar i,j;
  53   1              uchar data_138=0;
  54   1                      for(j=0;j<16;j++)
  55   1                      {
C51 COMPILER V8.05a   RS                                                                   05/20/2009 15:24:22 PAGE 2   

  56   2                              for(i=0;i<8;i++)
  57   2                              {
  58   3                                      IN_595(number[i][j]);
  59   3                              }
  60   2                              OUT_595();
  61   2                              P1=data_138;
  62   2                              data_138++;
  63   2                              delay(500);
  64   2                              E2=0;
  65   2                      }
  66   1      }
  67          //*********************将所有I/O口置为原始状态*********************//
  68          void Ini_IO(void)
  69          {
  70   1          P1=0;       
  71   1              R1_SER=1;
  72   1              R2_SER=1;
  73   1              R3_SER=1;
  74   1              R4_SER=1;
  75   1              SCK=0;
  76   1              RCK=0;
  77   1      }
  78          ////////////////////////////////清屏/////////////////////////////////////
  79          void clear(void)
  80          {   uchar i,k,j;
  81   1          for(j=0;j<8;j++)//对于1个横排的控制
  82   1              {
  83   2              for (k=0;k<8;k++)
  84   2                      {
  85   3                      for(i=0;i<8;i++ )
  86   3                      { 
  87   4                                SCK=0;
  88   4                                _nop_();
  89   4                        _nop_();
  90   4                                SCK=1;
  91   4                        _nop_();
  92   4                        _nop_();
  93   4                                        SCK=0;
  94   4                          }
  95   3                          OUT_595();
  96   3                  }
  97   2          }
  98   1      } 
  99          
 100          //*************将74hc595的0xff转变成8位的数据类型******************//
 101          void IN_595(uchar temp)
 102          {
 103   1              uchar k;
 104   1              for(k=0;k<8;k++)        
 105   1              { 
 106   2                      SCK=0;
 107   2                      if(temp&0x80)   R1_SER=0;//serr1_r3_flag=1;       
 108   2              else                R1_SER=1;//r1_r3_flag=0; 
 109   2                      SCK=1;
 110   2                      temp<<=1;
 111   2              }
 112   1      }
 113          
 114          ///////////////////////////////595输出////////////////////////////////////
 115          void OUT_595(void)
 116          {
 117   1              RCK=0;
C51 COMPILER V8.05a   RS                                                                   05/20/2009 15:24:22 PAGE 3   

 118   1              _nop_();
 119   1              _nop_();
 120   1               RCK=1;  //上升沿锁存数据/
 121   1              _nop_();
 122   1              _nop_();
 123   1              RCK=0;
 124   1      }
 125                 
 126          void delay(uchar time)
 127          {
 128   1              uchar i;
 129   1              for(i=0;i<time;i++)
 130   1              {
 131   2                      _nop_();
 132   2                      _nop_();
 133   2              }
 134   1      }
 135                                  
 136          
 137          
 138          
 139          
 140           
 141          
 142          
 143          
 144          
 145          
 146          
 147          
 148          
 149          
 150          
 151          
 152          
 153          
 154          
 155          
 156          
 157          
 158          
 159          
 160          
 161          
 162                  


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