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

📄 led.lst

📁 51单片机实验例程
💻 LST
字号:
C51 COMPILER V7.10   LED                                                                   09/11/2010 22:21:04 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************
   2          *  标题:                  试验数码管上显示数字(译码器位选 共阴极)            *
   3          *                                                                                                                                                          *
   4          *  连接方法:P0与J12 用8PIN排线连接                                                *
   5          ********************************************************************************
   6          *                                                                                                                      *
   7          * 请学员认真消化本例程,用573锁存器和译码器控制和数码管                        *
   8          ********************************************************************************/
   9          
  10          #include <reg51.h> 
  11          #include <intrins.h>
  12          
  13          sbit LS138A = P2^2;     //定义138译码器的输入A脚由P2.2控制 
  14          sbit LS138B = P2^3;         //定义138译码器的输入脚B由P2.3控制
  15          sbit LS138C = P2^4;     //定义138译码器的输入脚C由P2.4控制
  16          
  17          void delay(unsigned int i);      //函数声名
  18          
  19          char DelayCNT;
  20           
  21          //此表为 LED 的字模, 共阴数码管 0-9  - 
  22          unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; 
  23          
  24          /************主函数**********************/ 
  25          main()
  26          {  
  27   1         unsigned int i,LedNumVal=1 ;
  28   1         unsigned int LedOut[10];
  29   1         
  30   1         DelayCNT=0;
  31   1      
  32   1        while(1)  //进入循环状态
  33   1        {      
  34   2           if(++DelayCNT>=50)
  35   2               {
  36   3                      DelayCNT=0;                //延时计数 每扫描一次加一次
  37   3                  ++LedNumVal;       //每隔50个扫描周期加一次
  38   3               }
  39   2      
  40   2               LedOut[0]=Disp_Tab[LedNumVal%10000/1000];
  41   2           LedOut[1]=Disp_Tab[LedNumVal%1000/100]|0x80;
  42   2           LedOut[2]=Disp_Tab[LedNumVal%100/10];
  43   2           LedOut[3]=Disp_Tab[LedNumVal%10];
  44   2               
  45   2               LedOut[4]=Disp_Tab[LedNumVal%10000/1000];         //千位
  46   2           LedOut[5]=Disp_Tab[LedNumVal%1000/100]|0x80;  //百位带小数点
  47   2           LedOut[6]=Disp_Tab[LedNumVal%100/10];                 //十位
  48   2           LedOut[7]=Disp_Tab[LedNumVal%10];             //个位        
  49   2      
  50   2              
  51   2               for( i=0; i<9; i++)  //实现8位动态扫描循环
  52   2               {       
  53   3                P0 = LedOut[i];  //将字模送到P0口显示
  54   3                              
  55   3                switch(i)       //使用switch 语句控制位选  也可以是用查表的方式 学员可以试着自己修改                            
C51 COMPILER V7.10   LED                                                                   09/11/2010 22:21:04 PAGE 2   

  56   3                   {      
  57   4                              case 0:LS138A=0; LS138B=0; LS138C=0;  break;         
  58   4                      case 1:LS138A=1; LS138B=0; LS138C=0;  break;                    
  59   4                      case 2:LS138A=0; LS138B=1; LS138C=0;  break; 
  60   4                      case 3:LS138A=1; LS138B=1; LS138C=0;  break; 
  61   4                              case 4:LS138A=0; LS138B=0; LS138C=1;  break;
  62   4                              case 5:LS138A=1; LS138B=0; LS138C=1;  break;
  63   4                              case 6:LS138A=0; LS138B=1; LS138C=1;  break;
  64   4                              case 7:LS138A=1; LS138B=1; LS138C=1;  break;
  65   4                        
  66   4                   }
  67   3                       
  68   3                      delay(150);
  69   3                }
  70   2               
  71   2        }   
  72   1      }       
  73          
  74          /***************************************************************************
  75          *                                                                                                                                                  *
  76          *                                   延时程序                                                           *
  77          ****************************************************************************/
  78          void delay(unsigned int i)
  79          {
  80   1          char j;
  81   1          for(i; i > 0; i--)
  82   1              for(j = 200; j > 0; j--);
  83   1      }
  84          
  85          


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