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

📄 7.lst

📁 51单片机控制4位7段数码管显示
💻 LST
字号:
C51 COMPILER V8.02   7                                                                     05/28/2009 21:34:18 PAGE 1   


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

line level    source

   1          #include <reg51.h>   
   2            
   3          #define uchar unsigned char   
   4            
   5          void delay_ms(uchar ms);  // 延时毫秒@12M,ms最大值255   
   6          void display();           // 显示子程序   
   7            
   8          uchar code dis_code[10] = {0xc0,0xf9,0xa4,0xb0,0x99,  //段码表   
   9                                    // 0    1    2    3    4      对应内容   
  10                                     0x92,0x82,0xf8,0x80,0x90};   
  11                                    // 5    6    7    8    9   
  12            
  13          uchar data dis_0 = 0;     // 个位值   
  14          uchar data dis_1 = 0;     // 十位值   
  15          uchar data dis_2 = 0;     // 百位值   
  16          uchar data dis_3 = 0;     // 千位值   
  17            
  18          void main()   
  19          {   
  20   1          P2 = 0x00;           // 关所有数码管   
  21   1        
  22   1          while(1)   
  23   1          {   
  24   2              display();       // 调用显示子程序   
  25   2                 
  26   2              dis_0++;         // 个位值加1   
  27   2              if(dis_0 != 10)  // 个位未到10则结束此次循环   
  28   2                  continue;   
  29   2        
  30   2              dis_0 = 0;       // 个位到10清零           
  31   2              dis_1++;         // 十位值加1(个位到10的进位)   
  32   2              if(dis_1 != 10)  // 十位未到10则结束此次循环   
  33   2                  continue;   
  34   2        
  35   2              dis_1 = 0;       // 十位到10清零           
  36   2              dis_2++;         // 百位值加1(十位到10的进位)   
  37   2              if(dis_2 != 10)  // 百位未到10则结束此次循环   
  38   2                  continue;   
  39   2        
  40   2              dis_2 = 0;       // 百位到10清零           
  41   2              dis_3++;         // 千位值加1(百位到10的进位)   
  42   2              if(dis_3 != 10)  // 千位未到10则结束此次循环   
  43   2                  continue;   
  44   2        
  45   2              dis_3 = 0;       // 千位到10清零  
  46   2          }   
  47   1      }   
  48          void display()                // 显示子程序   
  49          {   
  50   1          uchar data i = 50;        // 用于延长每四位数的显示时间   
  51   1          while(i--)                // 直到i减为0   
  52   1          {   
  53   2              P0 = dis_code[dis_0]; // 取个位的段码   
  54   2              P2 = 0xf8;            // 开个位显示(P2.7口控制个位数码管)   
  55   2              delay_ms(1);          // 延时1ms使四位数码管动态显示时能看清   
C51 COMPILER V8.02   7                                                                     05/28/2009 21:34:18 PAGE 2   

  56   2              P2 = 0x00;   
  57   2              P0 = dis_code[dis_1]; // 取十位的段码   
  58   2              P2 = 0xf4;            // 开十位显示(P2.6口控制十位数码管)   
  59   2              delay_ms(1);          // 延时1ms作用同上   
  60   2              P2 = 0x00;   
  61   2              P0 = dis_code[dis_2]; // 取百位的段码   
  62   2              P2 = 0xf2;            // 开百位显示(P2.5口控制十位数码管)   
  63   2              delay_ms(1);          // 延时1ms作用同上   
  64   2               P2 = 0x00;  
  65   2              P0 = dis_code[dis_3]; // 取千位的段码   
  66   2              P2 = 0xf1;            // 开千位显示(P2.4口控制十位数码管)   
  67   2              delay_ms(1);
  68   2                      P2 = 0x00;          // 延时1ms作用同上   
  69   2          }   
  70   1      }   
  71          void delay_ms(uchar ms)       // 延时毫秒@12M,ms最大值255   
  72          {   
  73   1          uchar i;   
  74   1          while(ms--)   
  75   1              for(i = 0; i < 124; i++);   
  76   1      }   


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