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

📄 cymometer.lst

📁 单片机控制FPGA的程序,包括AD转换,频率输出,测试程序
💻 LST
字号:
C51 COMPILER V8.02   CYMOMETER                                                             08/26/2002 21:45:31 PAGE 1   


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

line level    source

   1          #include"includes.h"
   2          extern unsigned long freq_L,freq_H;
   3          extern unsigned int tim_num;
   4          extern unsigned long freq_plus;
   5          extern double freq;
   6          
   7          
   8          
   9          void read_fpg()                                   //读取数据
  10          {
  11   1         
  12   1          unsigned int i;
  13   1              
  14   1              recont=1;
  15   1      //      for(i=0;i<100;i++);
  16   1              dclk=0;
  17   1      //      for(i=0;i<100;i++);
  18   1              dclk=1;
  19   1      //      for(i=0;i<100;i++);
  20   1              dclk=0;
  21   1      //      for(i=0;i<100;i++);
  22   1              recont=0;
  23   1              freq_L=freq_H=0;                
  24   1              for(i=0;i<32;i++)
  25   1              {
  26   2                 dclk=0;
  27   2      //         for(j=0;j<100;j++);
  28   2                 dclk=1;
  29   2      //         for(j=0;j<100;j++);
  30   2                 dclk=0;
  31   2      //         for(j=0;j<100;j++);
  32   2                 ccda = 1;
  33   2                 freq_L=freq_L>>1;
  34   2                 if(ccda)
  35   2                 {            
  36   3                        freq_L|=0x80000000; 
  37   3                   
  38   3                 }
  39   2                
  40   2              }
  41   1      
  42   1              for(i=0;i<32;i++)
  43   1          {
  44   2                 dclk=0;
  45   2      //         for(j=0;j<100;j++);
  46   2                 dclk=1;
  47   2      //         for(j=0;j<100;j++);
  48   2                 dclk=0;
  49   2      //         for(j=0;j<100;j++);
  50   2                 ccda = 1;
  51   2                 freq_H=freq_H>>1;
  52   2                 if(ccda)  
  53   2                 { 
  54   3                    
  55   3                        freq_H|=0x80000000; 
C51 COMPILER V8.02   CYMOMETER                                                             08/26/2002 21:45:31 PAGE 2   

  56   3                   
  57   3                 }
  58   2              }
  59   1              dclk = 0;
  60   1              recont=1;
  61   1              freq=((double)freq_L/(double)freq_H)*32768.0;
  62   1      
  63   1      }
  64          void delay_1msb(void)
  65          {
  66   1           unsigned int i;
  67   1               for(i=0;i<1950;i++);
  68   1               
  69   1      }
  70          
  71          void delay_nms(unsigned int num)        //延时nms子程序
  72          {
  73   1              unsigned int i;
  74   1              for(i=0;i<num;i++)
  75   1              {
  76   2                 delay_1msb();
  77   2               }
  78   1              
  79   1      } 
  80          void set_tim()         //设定测量时间
  81          {
  82   1          freq_plus=0;
  83   1              freq_plus=(freq_L*1000)/tim_num;
  84   1      
  85   1          if(freq_plus>=100000)
  86   1              tim_num=1;
  87   1              else if(freq_plus>=10000&&freq_plus<100000)
  88   1              tim_num=5;
  89   1              else if(freq_plus>=1000&&freq_plus<10000)
  90   1              tim_num=20;
  91   1              else if(freq_plus>=10&&freq_plus<1000)
  92   1              tim_num=2000;
  93   1              else if(freq_plus>=0&&freq_plus<10)
  94   1              tim_num=4000;
  95   1              tim=1;
  96   1              delay_nms(1000);
  97   1              tim=0;
  98   1      
  99   1      
 100   1      }
 101          
 102          
 103          
 104          /*void set_freq(unsigned char num) //设定分频系数
 105          {
 106          
 107                  P0=num;
 108          
 109          }*/
 110          
 111          void set_clr()                              //清零
 112          {
 113   1      //   unsigned int i;
 114   1          cclr=1;
 115   1      //      for(i=0;i<5;i++);
 116   1              dclk=0;
 117   1      //      for(i=0;i<5;i++);
C51 COMPILER V8.02   CYMOMETER                                                             08/26/2002 21:45:31 PAGE 3   

 118   1              dclk=1;
 119   1      //      for(i=0;i<5;i++);
 120   1              dclk=0;
 121   1      //      for(i=0;i<5;i++);
 122   1              cclr=0;
 123   1      }
 124          
 125          void count_freq()                         //计算实际频率
 126          {
 127   1      
 128   1              freq=((double)freq_L/(double)freq_H)*32768.0;
 129   1      
 130   1      
 131   1      
 132   1      }
*** WARNING C316 IN LINE 132 OF cymometer.c: unterminated conditionals


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    722    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -