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

📄 dis_wave.lst

📁 基于高速51单片机的,带示波器功能的频率计原码,还能分析PWM红外编码.液晶显示.
💻 LST
字号:
C51 COMPILER V8.05a   DIS_WAVE                                                             08/21/2007 12:58:00 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE DIS_WAVE
OBJECT MODULE PLACED IN dis_wave.OBJ
COMPILER INVOKED BY: C:\Keil\MCU\C51\BIN\C51.EXE dis_wave.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //模块:Dis_Wave.C
   2          //功能:示波器模块
   3          //晶振:24.000MHz
   4          //芯片: STC12C5412AD
   5          //版本:V1.0.0
   6          //设计:魏广寅
   7          //日期:2007.4.10
   8          #include "lcd12864_driver_new.h"
   9          #define uchar unsigned char                       
  10          #define uint unsigned int
  11          extern void d0(void);
  12          extern uchar keyfuncindex;
  13          extern void d1(void);
  14          extern void AD_init(uchar AD_port_sel );
  15          extern uint GET_AD_Result();//启动AD转换并返回转换值 
  16          extern void delay_1(uchar time);
  17          uint xdata record[128];
  18          sbit key1=P3^0;
  19          sbit key2=P3^1;
  20          //--------------------------------------------------------------------
  21          void delay(uint time)
  22          {
  23   1              uchar jj,hh;
  24   1              while(--time!=0)
  25   1              {
  26   2                      for(jj==0;jj<255;jj++)
  27   2                      {
  28   3                              for(hh==0;hh<255;hh++);
  29   3                      }
  30   2                      
  31   2              }
  32   1      }
  33          //--------------------------------------------------------------------
  34          void wave()     
  35          {
  36   1      
  37   1              uchar mod=1;
  38   1              uchar data k;
  39   1              float x2;
  40   1              lcd_init();
  41   1              AD_init(7);
  42   1              while(1)
  43   1              {
  44   2              
  45   2                              for(k=0;k<128;k++)
  46   2                              {
  47   3                                      record[k]=GET_AD_Result();
  48   3                              
  49   3                              }
  50   2      
  51   2                      switch(mod)
  52   2                      {
  53   3                              case 0: 
  54   3                              {
  55   4                                      if(record[k]==512)
C51 COMPILER V8.05a   DIS_WAVE                                                             08/21/2007 12:58:00 PAGE 2   

  56   4                                      {       
  57   5                                              dis_cls();
  58   5                                              for(k=0;k<128;k++)
  59   5                                              {
  60   6                                                      x2=record[k]/16;
  61   6                                                      dis_point(64-x2,k);
  62   6                                              }
  63   5                                              for(k=127;k>0;k--)
  64   5                                              {
  65   6                                                      x2=record[k]/16;
  66   6                                                      dis_point(64-x2,k);
  67   6                                              }
  68   5                                      }
  69   4                               }
  70   3                               break;
  71   3      
  72   3                               case 1:
  73   3                              {
  74   4                                      dis_cls();
  75   4                                      for(k=0;k<128;k++)
  76   4                                      {
  77   5                                              x2=record[k]/16;
  78   5                                              dis_point(64-x2,k);
  79   5                                      }
  80   4                                      for(k=127;k>0;k--)
  81   4                                      {
  82   5                                              x2=record[k]/16;
  83   5                                              dis_point(64-x2,k);
  84   5                                      }
  85   4                                      delay(30000);
  86   4                              }
  87   3                              break;
  88   3                      }
  89   2      
  90   2                               key2=1;
  91   2                               if(key2==0)
  92   2                               {
  93   3                                      mod=!mod;
  94   3                                      delay_1(5);
  95   3                                      }
  96   2      
  97   2                               key1=1;
  98   2                               if(key1==0)
  99   2                               {
 100   3                                delay_1(5);
 101   3                                goto exit;
 102   3                               }
 103   2               }
 104   1      exit:   keyfuncindex=1;
 105   1                      d1();   
 106   1                      delay(1);
 107   1      }
 108          //--------------------------------------------------------------------


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    757    ----
   CONSTANT SIZE    =   1536    ----
   XDATA SIZE       =    256    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      13
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.05a   DIS_WAVE                                                             08/21/2007 12:58:00 PAGE 3   

   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 + -