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

📄 dis_wave.lst

📁 此程序可以显示输入波形
💻 LST
字号:
C51 COMPILER V7.50   DIS_WAVE                                                              03/13/2008 13:49:20 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DIS_WAVE
OBJECT MODULE PLACED IN Dis_Wave.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Dis_Wave.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //--------------------------------------------------------------------
   2          
   3          
   4          
   5          //模块:Dis_Wave.C
   6          
   7          //功能:示波器模块
   8          
   9          //晶振:24.000MHz
  10          
  11          //#include"STC12c5412AD.h"
  12          
  13          #ifndef  lcd12864_driver_new
  14          #include "lcd12864_driver_new.h"
  15          #endif
  16          #define uchar unsigned char                  
  17          
  18          #define uint unsigned int
  19          
  20          extern void d0(void);
  21          
  22          extern uchar keyfuncindex;
  23          
  24          extern void d1(void);
  25          
  26          extern void AD_init(uchar AD_port_sel );
  27          
  28          extern uint GET_AD_Result();//启动AD转换并返回转换值 
  29          
  30          extern void delay_1(uchar time);
  31          
  32          uint xdata record[128];
  33          
  34          sbit key1  =P3^0;
  35          
  36          sbit key2 =P3^1;
  37          
  38          //--------------------------------------------------------------------
  39          
  40          void delay(uint time)
  41          
  42          {
  43   1      
  44   1            uchar jj,hh;
  45   1      
  46   1            while(--time!=0)
  47   1      
  48   1            {
  49   2      
  50   2                    for(jj==0;jj<255;jj++)
  51   2      
  52   2                    {
  53   3      
  54   3                          for(hh==0;hh<255;hh++);
  55   3      
C51 COMPILER V7.50   DIS_WAVE                                                              03/13/2008 13:49:20 PAGE 2   

  56   3                    }
  57   2      
  58   2                    
  59   2      
  60   2            }
  61   1      
  62   1      }
  63          
  64          //--------------------------------------------------------------------
  65          
  66          void wave()    
  67          
  68          {
  69   1      
  70   1      
  71   1      
  72   1            uchar mod=1;
  73   1      
  74   1            uchar data k;
  75   1      
  76   1            float x2;
  77   1      
  78   1            lcd_init();
  79   1      
  80   1            AD_init(7);
  81   1      
  82   1            while(1)
  83   1      
  84   1            {
  85   2      
  86   2            
  87   2      
  88   2                          for(k=0;k<128;k++)
  89   2      
  90   2                          {
  91   3      
  92   3                                  record[k]=GET_AD_Result();
  93   3      
  94   3                          
  95   3      
  96   3                          }
  97   2      
  98   2      
  99   2      
 100   2                    switch(mod)
 101   2      
 102   2                    {
 103   3      
 104   3                          case 0:    
 105   3      
 106   3                          {
 107   4      
 108   4                                  if(record[k]==512)
 109   4      
 110   4                                  {    
 111   5      
 112   5                                        dis_cls();
 113   5      
 114   5                                        for(k=0;k<128;k++)
 115   5      
 116   5                                        {
 117   6      
C51 COMPILER V7.50   DIS_WAVE                                                              03/13/2008 13:49:20 PAGE 3   

 118   6                                                x2=record[k]/16;
 119   6      
 120   6                                                dis_point(64-x2,k);
 121   6      
 122   6                                        }
 123   5      
 124   5                                        for(k=127;k>0;k--)
 125   5      
 126   5                                        {
 127   6      
 128   6                                                x2=record[k]/16;
 129   6      
 130   6                                                dis_point(64-x2,k);
 131   6      
 132   6                                        }
 133   5      
 134   5                                  }
 135   4      
 136   4                            }
 137   3      
 138   3                            break;
 139   3      
 140   3      
 141   3      
 142   3                            case 1:
 143   3      
 144   3                          {
 145   4      
 146   4                                  dis_cls();
 147   4      
 148   4                                  for(k=0;k<128;k++)
 149   4      
 150   4                                  {
 151   5      
 152   5                                        x2=record[k]/16;
 153   5      
 154   5                                        dis_point(64-x2,k);
 155   5      
 156   5                                  }
 157   4      
 158   4                                  for(k=127;k>0;k--)
 159   4      
 160   4                                  {
 161   5      
 162   5                                        x2=record[k]/16;
 163   5      
 164   5                                        dis_point(64-x2,k);
 165   5      
 166   5                                  }
 167   4      
 168   4                                  delay(30000);
 169   4      
 170   4                          }
 171   3      
 172   3                          break;
 173   3      
 174   3                    }
 175   2      
 176   2      
 177   2      
 178   2                            key2=1;
 179   2      
C51 COMPILER V7.50   DIS_WAVE                                                              03/13/2008 13:49:20 PAGE 4   

 180   2                            if(key2==0)
 181   2      
 182   2                            {
 183   3      
 184   3                                mod=!mod;
 185   3      
 186   3                                delay_1(5);
 187   3      
 188   3                                  }
 189   2      
 190   2      
 191   2      
 192   2                            key1=1;
 193   2      
 194   2                            if(key1==0)
 195   2      
 196   2                            {
 197   3      
 198   3                            delay_1(5);
 199   3      
 200   3                            goto exit;
 201   3      
 202   3                            }
 203   2      
 204   2            }
 205   1      
 206   1      exit: keyfuncindex=1;
 207   1      
 208   1                    d1();      
 209   1      
 210   1                    delay(1);
 211   1      
 212   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    757    ----
   CONSTANT SIZE    =   1536    ----
   XDATA SIZE       =    256    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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