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

📄 digitallight.lst

📁 共有四个例子
💻 LST
字号:
C51 COMPILER V7.02a   DIGITALLIGHT                                                         03/09/2009 21:56:55 PAGE 1   


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

stmt level    source

   1          //从小到大计数
   2          #include "reg51.h"
   3          
   4          //管脚定义 74HC138(3-8)译码器输入控制信号线
   5          sbit p10 = P1^0;
   6          sbit p11 = P1^1;
   7          sbit p12 = P1^2;
   8          
   9          unsigned char table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 表
  10          
  11          void delay(unsigned int n);
  12          void display_one_digit(unsigned int num,unsigned int pos,unsigned int delay_time);
  13          void display_integer(unsigned int n,unsigned int delay_time);
  14          
  15          void main(void)
  16          {
  17   1              int i;
  18   1              for(i=0;i<10000;i++)
  19   1                      display_integer(i,20);
  20   1      }
  21          
  22          void display_integer(unsigned int n,unsigned int delay_time)
  23          {
  24   1              int pos,num,res,i,j;
  25   1              unsigned int ary[8];
  26   1      
  27   1              pos = 0;
  28   1              num = n;
  29   1              do
  30   1              {
  31   2                      res = num%10;
  32   2                      num = num/10;
  33   2                      ary[pos++] = res;
  34   2              }
  35   1              while(num>0);
  36   1      
  37   1              for(j=0;j<delay_time/pos;j++)
  38   1              {
  39   2                      for(i=0;i<pos;i++)
  40   2                              display_one_digit(ary[i],i,1);
  41   2              }
  42   1      }
  43          
  44          /**
  45           * pos: 0-7 显示位数(个十百千...)
  46           * num: num 显示数字(0-9)
  47          */
  48          void display_one_digit(unsigned int num,unsigned int pos,unsigned int delay_time)
  49          {
  50   1              pos = ~pos;
  51   1              p10 = pos&0x01;
  52   1              p11 = (pos&0x02)>>1;
  53   1              p12 = (pos&0x04)>>2;
  54   1              P2 = table[num];
  55   1              delay(delay_time);
C51 COMPILER V7.02a   DIGITALLIGHT                                                         03/09/2009 21:56:55 PAGE 2   

  56   1              P2 = 0;
  57   1      }
  58          
  59          void delay(unsigned int n)
  60          {
  61   1              unsigned int i,j;
  62   1              i=n;
  63   1              while(i--){             
  64   2                      j=255;
  65   2                      while(j--); 
  66   2              }       
  67   1      }


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