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

📄 plj_zuizhongcx.lst

📁 利用8051的定时器用来计数作为频率计的基础。测频范围是1--10000HZ
💻 LST
字号:
C51 COMPILER V7.06   PLJ_ZUIZHONGCX                                                        05/18/2008 20:32:56 PAGE 1   


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

stmt level    source

   1           #include<reg51.h> 
   2          unsigned char code dispbit[]={0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10};//       weixuantong
   3          unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80, 0x90}; 
   4          static unsigned char dispbuf[6]={0,0,0,0,0,0};
   5          static unsigned char temp[6]={0,0,0,0,0,0}; 
   6          static unsigned int timecount=0;
   7          //unsigned int T0count;
   8          
   9          unsigned int x=0; 
  10          unsigned long m=0; 
  11          unsigned int n=0; 
  12          unsigned int t=0;
  13          
  14          
  15          void main(void) 
  16          {
  17   1        unsigned char i=0;
  18   1        n=0;
  19   1        TMOD=0x15; 
  20   1        TH0=0;                      //T0jishu
  21   1        TL0=0; 
  22   1        TH1=0x3C; 
  23   1        TL1=0xAF;
  24   1        TR1=1; 
  25   1        TR0=1;
  26   1          
  27   1        ET0=1; 
  28   1        ET1=1;  
  29   1        EA=1;
  30   1        while(1) 
  31   1       { 
  32   2         for(i=0;i<6;i++)
  33   2         {
  34   3              temp[i]=m%10; 
  35   3          dispbuf[i]=temp[i];
  36   3          P2=dispbit[i];           //数码管显示
  37   3          P0=dispcode[dispbuf[i]]; //数码管显示
  38   3          m=m/10;
  39   3         }
  40   2         m=x+65536*t;
  41   2        
  42   2       }
  43   1      }
  44          
  45          void t1(void) interrupt 3 using 0 
  46          { 
  47   1        TH1=0x3C; 
  48   1        TL1=0xAF;
  49   1        timecount++;
  50   1        if(timecount==20) //中断250次后从0开始,即满1秒后就显示输出
  51   1          { 
  52   2            TR0=0; 
  53   2                TR1=0;
  54   2                t=n;
  55   2                x=0;
C51 COMPILER V7.06   PLJ_ZUIZHONGCX                                                        05/18/2008 20:32:56 PAGE 2   

  56   2                x=TH0*256+TL0;
  57   2            m=0;
  58   2            m=x+65535*t;
  59   2                TH1=0x3C; 
  60   2            TL1=0xAF;
  61   2                TH0=0;
  62   2                TL0=0;
  63   2                n=0;
  64   2            timecount=0; 
  65   2                TR0=1;
  66   2                TR1=1;
  67   2          }
  68   1      }
  69          void timer0() interrupt 1
  70          {
  71   1        TH0=0; 
  72   1        TL0=0;
  73   1        n++;
  74   1      }


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