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

📄 text1.lst

📁 51单片机控制16*16led显示屏
💻 LST
字号:
C51 COMPILER V7.20   TEXT1                                                                 04/21/2008 00:51:51 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c ROM(SMALL) DEBUG OBJECTEXTEND

line level    source

   1          /*12M晶振,LED显示 0-23 显示满车*/
   2          #include <reg51.h>
   3          //#define  RAMADDR XBYTE[0x6000]
   4          //unsigned char code  RAMDATA=0x99;
   5          unsigned char code number[10][32]={
   6          0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xE7,0xE7,0xE7,0xF3,0xCF,0xF1,0xCF,0xF1,0x8F,0xF1
   7          ,0xCF,0xF1,0xCF,0xF3,0xE7,0xF3,0xF3,0xE7,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
   8          
   9          0xFF,0xFF,0xFF,0xFF,0xFE,0x3F,0xF0,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F
  10          ,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F,0xFE,0x3F,0xF0,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  11          
  12          ,0xFF,0xFF,0xFF,0xFF,0xF4,0x0F,0xEF,0xE3,0xC7,0xE3,0xEF,0xE3,0xFF,0xE7,0xFF,0x9F
  13          ,0xFF,0x7F,0xFD,0xFF,0xF7,0xFB,0xCF,0xF3,0xC0,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  14          
  15          
  16          ,0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xE7,0xE7,0xE7,0xE3,0xFF,0xE7,0xFF,0x0F,0xFF,0x8F
  17          ,0xFF,0xE7,0xFF,0xF3,0xC7,0xF3,0xE7,0xE7,0xF4,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  18          
  19          ,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0x8F,0xFE,0x4F,0xFD,0xCF,0xF3,0xCF,0xEF,0xCF
  20          ,0xDF,0xCF,0xBF,0xCF,0x00,0x0F,0xFF,0xCF,0xFE,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  21          
  22          ,0xFF,0xFF,0xFF,0xFF,0xE0,0x03,0xE7,0xFF,0xEF,0xFF,0xEF,0xFF,0xE8,0x07,0xEF,0xE3
  23          ,0xFF,0xF3,0xFF,0xF3,0xC7,0xF3,0xEF,0xE7,0xF4,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  24          
  25          ,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xF7,0xE7,0xE7,0xFF,0xCF,0xFF,0xC8,0x07,0xC7,0xF3
  26          ,0xCF,0xF1,0xCF,0xF1,0xC7,0xF3,0xE7,0xF3,0xF8,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  27          
  28          ,0xFF,0xFF,0xFF,0xFF,0xE0,0x03,0xCF,0xF7,0xFF,0xEF,0xFF,0xDF,0xFF,0xBF,0xFF,0x3F
  29          ,0xFE,0x7F,0xFC,0x7F,0xFC,0x7F,0xFC,0x7F,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  30          
  31          ,0xFF,0xFF,0xFF,0xFF,0xF0,0x0F,0xEF,0xF3,0xCF,0xF3,0xE7,0xF3,0xF0,0x4F,0xF0,0x0F
  32          ,0xEF,0xC7,0xCF,0xF3,0xCF,0xF1,0xCF,0xF3,0xF4,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  33          
  34          ,0xFF,0xFF,0xFF,0xFF,0xF0,0x0F,0xEF,0xF7,0xCF,0xF3,0x8F,0xF1,0xCF,0xF1,0xE7,0xC1
  35          ,0xF0,0x33,0xFF,0xF3,0xFF,0xE7,0xE7,0xCF,0xF0,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  36          
  37          
  38          };
  39          unsigned char code kong[1][32]={
  40          0xFF,0xFF,0xFF,0xFF,
  41          0xFF,0xFF,0xFF,0xFF,
  42          0xFF,0xFF,0xFF,0xFF,
  43          0xFF,0xFF,0xFF,0xFF,
  44          0xFF,0xFF,0xFF,0xFF,
  45          0xFF,0xFF,0xFF,0xFF,
  46          0xFF,0xFF,0xFF,0xFF,
  47          0xFF,0xFF,0xFF,0xFF
  48          };
  49          unsigned char code word[2][32]={
  50          0xFF,0xF7,0x01,0xF7,//zuo bian
  51          0x7D,0xF7,0x7D,0xF7,
  52          0x7D,0xF7,0x7D,0xF0,
  53          0x7D,0xF7,0x7D,0xF7,
  54          0x01,0xF7,0xFF,0xF7,
  55          0xDF,0xF7,0xDF,0xF7,
C51 COMPILER V7.20   TEXT1                                                                 04/21/2008 00:51:51 PAGE 2   

  56          0xDF,0xFF,0xDF,0xFF,
  57          0xDF,0xFF,0xC0,0x07,
  58          
  59          0xFF,0xF7,0xC1,0xF7,
  60          0xFF,0xF7,0xFF,0xF7,
  61          0x00,0x77,0xF7,0xF7,
  62          0xF7,0xF7,0xF3,0xF0,
  63          0xEB,0xF7,0xC9,0xF7,
  64          0x9C,0xF7,0x3E,0x77,
  65          0x7F,0x77,0xFF,0xF7,
  66          0xFF,0xF7,0xFF,0xFF};
  67          sbit ena=P2^0;//输出总允许信号
  68          sbit lat=P2^1;//0锁存
  69          sbit check=P2^5;//26管脚
  70          
  71          
  72          
  73          //sbit  check2=P1^6;
  74          /*p1.0~p1.3行译码信号,int0-s1进行加1操作,int1-s2进行减1操作*/
  75          
  76          unsigned int temp;
  77          unsigned int opt1;
  78          unsigned int opt2;
  79          unsigned int flag;
  80          unsigned int clear;
  81          void disn();
  82          void disnl(unsigned int temp1);
  83          void sclear();
  84          void disnr(unsigned int temp2);
  85          void delay(unsigned int t)
  86          {
  87   1      while(--t);
  88   1      }
  89          
  90          void disw();
  91          void diswl();
  92          void diswr();
  93          void int0() interrupt 0 using 0
  94          {  
  95   1        EX0=0;
  96   1        clear=1;
  97   1        //ena=1;
  98   1       if(temp>24)
  99   1        {temp=24;}
 100   1       else
 101   1        {
 102   2        
 103   2         temp+=1;
 104   2         flag=0;}
 105   1        //delay(65535);
 106   1        delay(10000);//软件延时10ms消抖
 107   1        delay(10000);
 108   1        delay(10000);
 109   1        EX0=1;
 110   1        
 111   1      // return temp;
 112   1       }
 113          /*dec button*/
 114          void int1(void) interrupt 2 using 1
 115          {  
 116   1        EX1=0;
 117   1        //ena=1;
C51 COMPILER V7.20   TEXT1                                                                 04/21/2008 00:51:51 PAGE 3   

 118   1        if(temp>=0)
 119   1       { temp-=1;
 120   2          }
 121   1        else flag=1;;
 122   1        
 123   1       delay(10000);
 124   1       delay(10000);
 125   1       delay(10000);
 126   1       EX1=1;
 127   1       // return temp;
 128   1          }
 129          void disw()
 130                  {  
 131   1               
 132   1         for(opt2=0;opt2<16;opt2++)
 133   1         {
 134   2          
 135   2              P1=opt2;
 136   2              
 137   2          lat=0;
 138   2          diswr();
 139   2          diswl();
 140   2              lat=1;
 141   2              ena=0;
 142   2              }
 143   1        }
 144          void disn()
 145          { 
 146   1         unsigned int temph0,templ0;
 147   1         if(temp>9)
 148   1         {
 149   2          temph0=temp/10;
 150   2          templ0=temp-temph0*10;
 151   2              }
 152   1         else 
 153   1         {
 154   2             temph0=0;
 155   2             templ0=temp;
 156   2               }
 157   1        
 158   1      
 159   1         for(opt1=0;opt1<1;opt1++)
 160   1      
 161   1         { 
 162   2        // delay(65536);
 163   2       //delay(65536);
 164   2           
 165   2          P1=opt1;
 166   2            lat=0;// 0 latched
 167   2            disnr(templ0);
 168   2                disnl(temph0);
 169   2            lat=1;
 170   2            ena=0;
 171   2          }
 172   1      
 173   1        }
 174          //右显示
 175          void disnr(unsigned int temp1)
 176          {
 177   1        unsigned int k;  
 178   1        for(k=2*opt1;k<2*opt1+2;k++)
 179   1        {   
C51 COMPILER V7.20   TEXT1                                                                 04/21/2008 00:51:51 PAGE 4   

 180   2            SBUF=number[temp1][k];
 181   2                while(TI==0);
 182   2      
 183   2               TI=0;
 184   2              }
 185   1       }
 186          void disnl(unsigned int temph)
 187          {
 188   1        unsigned int k;  
 189   1        for(k=2*opt1;k<2*opt1+2;k++)
 190   1        {   
 191   2            SBUF=number[temph][k];
 192   2                while(TI==0);
 193   2                TI=0;
 194   2              }
 195   1       }
 196          void diswl()
 197          {
 198   1       unsigned int k;  
 199   1       for(k=2*opt2;k<2*opt2+2;k++)
 200   1        {   
 201   2           
 202   2                SBUF=word[0][k];
 203   2                while(TI==0);
 204   2                TI=0;
 205   2              }
 206   1      
 207   1      
 208   1      }
 209          void diswr()
 210          {
 211   1       unsigned int k;
 212   1       for(k=2*opt2;k<2*opt2+2;k++)
 213   1        {   
 214   2            
 215   2                SBUF=word[1][k];
 216   2                while(TI==0);
 217   2                TI=0;
 218   2              }
 219   1      }
 220          void main(void)
 221          {
 222   1      //      EA=1;               // CPU所有中断开(IE最高位MSB)
 223   1          EX0=1;              // INT0中断开
 224   1              IT0=0;              // INT0低电平触发(为1则为下降沿触发)
 225   1          EX1=1;              // INT1中断开
 226   1              IT1=0;              // INT1低电平触发(为1则为下降沿触发)
 227   1        SCON=0x00;//串口工作在方式0
 228   1        flag=0;
 229   1        temp=1;
 230   1      P2=0x00;
 231   1      P1=0x00;
 232   1      ena=1;
 233   1      SBUF=0x00;
 234   1                while(TI==0);
 235   1                TI=0;
 236   1        SBUF=0x00;
 237   1                while(TI==0);
 238   1                TI=0;
 239   1      P1=0x01;
 240   1      lat=1;
 241   1      lat=0;
C51 COMPILER V7.20   TEXT1                                                                 04/21/2008 00:51:51 PAGE 5   

 242   1      ena=0;
 243   1      ena=1;
 244   1      while(1);
 245   1      //  while(1){
 246   1      //  if(clear==1)
 247   1      //  sclear();
 248   1      //  if(flag==0)
 249   1      //  disn();
 250   1      //  if(flag==1)
 251   1      //  disw();
 252   1      //  check=0;
 253   1      //  }
 254   1        
 255   1      // delay2ms();
 256   1       
 257   1       
 258   1      }
 259          void sclear(void)
 260          
 261          {
 262   1       
 263   1       unsigned int i;
 264   1       lat=0;
 265   1       clear=0;
 266   1         for(i=0;i<16;i++)
 267   1         { 
 268   2            unsigned int m;
 269   2            unsigned int n;
 270   2         P1=i;
 271   2              
 272   2            
 273   2            for(m=2*i;m<2*i+2;m++)
 274   2            {   
 275   3           
 276   3                SBUF=kong[0][m];
 277   3                while(TI==0);
 278   3                TI=0;
 279   3                 }
 280   2                
 281   2          for(n=2*i;n<2*i+2;n++)
 282   2           {   
 283   3           
 284   3                  SBUF=kong[0][n];
 285   3                  while(TI==0);
 286   3                      TI=0;
 287   3              }
 288   2              lat=1;
 289   2              ena=0;
 290   2      
 291   2         }
 292   1       }
 293          
 294          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    727    ----
   CONSTANT SIZE    =    416    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       8
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.20   TEXT1                                                                 04/21/2008 00:51:51 PAGE 6   

   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 + -