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

📄 main.lst

📁 51单片机简单频率计
💻 LST
字号:
C51 COMPILER V9.00   MAIN                                                                  03/16/2012 20:59:45 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          typedef unsigned char uchar;
   3          typedef unsigned int uint;
   4          code unsigned char tab[]=
   5                                  {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 
   6                                  //共阴数码管 0-9 
   7          sbit fout=P1^0;
   8          uchar Dis_2;//定义十位
   9          uchar Dis_1; //定义个位
  10          uchar Dis_4;//定义秒十位
  11          uchar Dis_3; //定义秒个位
  12          uchar flag_second;
  13          uchar ToutCount;
  14          uint f;
  15          void delay(uchar cnt)
  16          {
  17   1              while(--cnt);
  18   1      }
  19          void reflash()
  20          {
  21   1              Dis_1=Dis_2=Dis_3=Dis_4=0;
  22   1              if(f<10000)
  23   1              {
  24   2                      Dis_4=0x80;
  25   2              }
  26   1              else
  27   1              {
  28   2                      f/=10;
  29   2                      Dis_3=0x80;
  30   2              }
  31   1              Dis_1|=tab[f%10]; //个位显示处理
  32   1              f/=10;
  33   1              Dis_2|=tab[f%10];//十位显示处理
  34   1              f/=10;
  35   1              Dis_3|=tab[f%10]; //百位显示处理
  36   1              f/=10;
  37   1              Dis_4|=tab[f%10];//千位显示处理
  38   1      }
  39          void display()
  40          {
  41   1              P2=0xfe;
  42   1              P0=Dis_4;//显示秒十位
  43   1              delay(0xff);//短暂延时
  44   1              P2=0xfd;
  45   1              P0=Dis_3; //显示秒个位
  46   1              delay(0xff);
  47   1              P2=0xfb;
  48   1              P0=Dis_2;//显示十位
  49   1              delay(0xff);//短暂延时
  50   1              P2=0xf7;
  51   1              P0=Dis_1; //显示个位
  52   1              delay(0xff);
  53   1              return;
  54   1      }
  55          main()
C51 COMPILER V9.00   MAIN                                                                  03/16/2012 20:59:45 PAGE 2   

  56          {
  57   1              ToutCount=0;
  58   1              TMOD = 0x52; //T1为计数器,方式一,T0为定时器,方式2
  59   1              TH0 = 6;   //定时250us
  60   1              TL0 = 6;
  61   1              TH1=0;
  62   1              TL1=0;
  63   1              TR0=1; //启动定时计数器 
  64   1              TR1=1;
  65   1              ET0 = 1;
  66   1              ET1 = 1;
  67   1              EA = 1;            //开中断
  68   1              flag_second=1;
  69   1              while(1)
  70   1              {
  71   2                      while(flag_second)
  72   2                      {
  73   3                              fout=~fout;
  74   3                              display();
  75   3                      }
  76   2                      reflash();
  77   2                      flag_second=1;
  78   2              }
  79   1      }
  80                             
  81          void timer0() interrupt 1        //定时器0中断服务程序
  82          {
  83   1              static uint count=0;
  84   1              count++;
  85   1              if(count == 4000)
  86   1              {
  87   2                      TR1 = 0;
  88   2                      TR0 = 0;
  89   2                      f=((int)ToutCount<<16)+((int)TH1<<8)+TL1;
  90   2                      TH1=0;TL1=0;
  91   2                      ToutCount=0;
  92   2                      TR1=1;
  93   2                      count = 0;
  94   2                      flag_second = 0;
  95   2                      TR0 = 1;
  96   2              }
  97   1      }
  98          void timer1() interrupt 3  //定时器1中断服务程序
  99          {
 100   1              ToutCount++;
 101   1      }


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