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

📄 zbb.lst

📁 在keil C下开发的频率监测程序
💻 LST
字号:
C51 COMPILER V7.06   ZBB                                                                   11/14/2007 14:09:26 PAGE 1   


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

stmt level    source

   1          
   2          #include "AT892051.H"
   3          
   4          #define B0    P1_7
   5          #define B1    P1_6
   6          #define B2    P1_5
   7          #define B3    P1_4
   8          #define B4    P1_3
   9          #define B5    P1_2
  10          #define B6    P1_1
  11          #define B7    P1_0
  12          
  13          #define DOG   P3_0
  14          
  15          #define W1    P3_3
  16          #define W2    P3_4
  17          #define W3    P3_5
  18          #define W4    P3_1
  19           
  20          #define RUN   P3_7
  21          
  22          #define uchar  unsigned char 
  23          #define uint   unsigned int
  24          /****************************/
  25          uint  data timeCount=0;
  26          uchar data sampCount=0;   //采集计数
  27          
  28          uchar data countFlag=0x55;   //计数起始标志  
  29          long  data zjData=0;      //频率计算中间变量
  30          
  31          uint  data tempData=0;  
  32          long  data endData=0;     //最终显示数据//频率计算结果
  33          uchar data disbuffer[4]={5,0,0,0};
  34          uint  data feqBuf[20];   //20个采样数据取平均值
  35          uchar data allCount=0;
  36          //uint  data allBuf[3]; //3次平均值
  37          uchar data ShowFlag;
  38          //LED显示字符编码,按照0~9的顺序。
  39          uchar data ledNo[10]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};
  40          void init();
  41          
  42          //========================================
  43          void Int0(void) interrupt 0 using 1        
  44          {  
  45   1              if(ShowFlag == 0x55)
  46   1              {
  47   2                      countFlag=~countFlag;
  48   2                      if(countFlag == 0xaa)
  49   2                      {
  50   3                              TL0=0x00;
  51   3                              TH0=0x00;
  52   3                      }
  53   2                      else
  54   2                      {
  55   3                              tempData=TH0;
C51 COMPILER V7.06   ZBB                                                                   11/14/2007 14:09:26 PAGE 2   

  56   3                              tempData=(tempData<<8)+TL0;
  57   3                              ShowFlag=0x66;
  58   3                      }
  59   2              }       
  60   1      }
  61                  
  62          //========================================
  63            /***********************************
  64                  定时器0
  65                  1ms
  66          ************************************/           
  67          /*void TIME_0(void) interrupt 1 using 1
  68          {
  69              TL0=0X66;
  70                  TH0=0XFC;
  71                  timeCount++;
  72          }*/
  73          
  74          void main()
  75          {
  76   1          uint iii;
  77   1              uchar i=0;
  78   1              init();
  79   1      
  80   1          ShowFlag=0x55;
  81   1      
  82   1              while(1)
  83   1              { 
  84   2                      DOG=!DOG;
  85   2                      if(ShowFlag == 0x66)
  86   2                      {
  87   3                              if ((tempData <= 30000) && (tempData >= 15400))
  88   3                              {
  89   4                                      zjData=100000000/tempData;
  90   4                                      allCount++;
  91   4                                      feqBuf[sampCount]=zjData;
  92   4                                      sampCount++;
  93   4                                      ShowFlag=0x55;
  94   4                                      if (sampCount >= 20)
  95   4                                      {
  96   5                                              sampCount=0;
  97   5                                              endData=0;
  98   5                                              for (iii=0;iii<20;iii++)
  99   5                                              {
 100   6                                                      endData+=feqBuf[iii];
 101   6                                              }
 102   5                                              endData=endData/20+3;
 103   5                                              if (allCount >= 150)
 104   5                                              {
 105   6                                                      allCount=0;
 106   6                                                      disbuffer[0]=endData/1000;
 107   6                                                      endData=endData%1000;
 108   6                                                      disbuffer[1]=endData/100;
 109   6                                                      endData=endData%100;
 110   6                                                      disbuffer[2]=endData/10;
 111   6                                                      disbuffer[3]=endData%10;
 112   6                                              }
 113   5                                      }
 114   4                              }
 115   3                              else
 116   3                              {
 117   4                                      ShowFlag=0x55;
C51 COMPILER V7.06   ZBB                                                                   11/14/2007 14:09:26 PAGE 3   

 118   4                                      countFlag=0x55;
 119   4                              }
 120   3                      }
 121   2      
 122   2                      if (timeCount >= 100)
 123   2                      {
 124   3                              timeCount = 0;
 125   3                              RUN=!RUN;
 126   3                      }
 127   2                      P1=0x0;
 128   2                      W1=1;
 129   2                      W2=0;
 130   2                      W3=0;
 131   2                      W4=0;   
 132   2                      P1=ledNo[disbuffer[0]];
 133   2                      for (iii=0;iii<400;iii++);
 134   2                      
 135   2                      P1=0x0;
 136   2                      W1=0;
 137   2                      W2=1;
 138   2                      W3=0;
 139   2                      W4=0; 
 140   2                      P1=ledNo[disbuffer[1]]&0xfe;
 141   2                      for (iii=0;iii<400;iii++);
 142   2                      
 143   2                      P1=0x0;
 144   2                      W1=0;
 145   2                      W2=0;
 146   2                      W3=1;
 147   2                      W4=0; 
 148   2                      P1=ledNo[disbuffer[2]];
 149   2                      for (iii=0;iii<400;iii++);
 150   2                      
 151   2                      P1=0x0;
 152   2                      W1=0;
 153   2                      W2=0;
 154   2                      W3=0;
 155   2                      W4=1;
 156   2                      P1=ledNo[disbuffer[3]];
 157   2                      for (iii=0;iii<400;iii++);
 158   2                      W1=0;
 159   2                      W2=0;
 160   2                      W3=0;
 161   2                      W4=0;
 162   2                      if ((ShowFlag != 0x55) && (ShowFlag != 0x66))
 163   2                      {
 164   3                              ShowFlag=0x55;
 165   3                      }
 166   2                      if ((countFlag != 0x55) && (countFlag != 0xaa))
 167   2                      {
 168   3                              countFlag=0x55;
 169   3                      }
 170   2                      timeCount++;
 171   2              }
 172   1      }
 173          /*******************************************************************************************/
 174          //接收读卡数据
 175          /*******************************************************************************************/
 176          
 177          /*******************************************************************************************/
 178          //读卡
 179          /*******************************************************************************************/
C51 COMPILER V7.06   ZBB                                                                   11/14/2007 14:09:26 PAGE 4   

 180          
 181          
 182          /*******************************************************************************************/
 183          //单片机初始化
 184          /*******************************************************************************************/
 185          void init()
 186          {       
 187   1              EA  = 0;    
 188   1              TMOD= 0x11;                 //T0 定时器方式1
 189   1      
 190   1          //TH0 = 0xfc;
 191   1              //TL0 = 0x66;                   //1毫秒定时*/
 192   1          //TH0 = 0x0;
 193   1              //TL0 = 0x0;                    //定时*/
 194   1              
 195   1              ET0 = 1;                            //定时器0中断允许
 196   1              TR0 = 1;                                // 设定时器0开始计数
 197   1              //ET1 = 1;                          //定时器1中断允许
 198   1              //TR1 = 1;                              // 设定时器1开始计数
 199   1      
 200   1              IT0 = 1;                                //外部中断0下降沿触发
 201   1              EX0 = 1;                                //外部中断0允许
 202   1      
 203   1              //ES  = 1;
 204   1              EA  = 1;
 205   1      }
 206          
 207          //===========================


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