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

📄 square_wave_generator.lst

📁 基于51的单片机设计的电容计的完整源代码
💻 LST
字号:
C51 COMPILER V7.06   SQUARE_WAVE_GENERATOR                                                 03/02/2006 23:49:41 PAGE 1   


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

stmt level    source

   1          /******************************************************************
   2             本程序只供学习使用,未经作者许可,不得用于其它任何用途
   3                我的邮箱:computer-lov@tom.com
   4                  欢迎访问我的blog:  http://computer00.21ic.org
   5          
   6          square_wave_generator.c文件 频率测量 
   7          
   8          Created by Computer-lov
   9          Date: 2004.11.13
  10          
  11          Edit date:2006.3.2
  12          
  13          Version V1.1
  14          Copyright(C) Computer-lov 2004-2014
  15          All rigths reserved      
  16          *******************************************************************/
  17          
  18          #include "square_wave_generator.h"
  19          #include "hardware.h"
  20          #include "main.h"
  21          #include "LCD1602.H"
  22          #include "isr.h"
  23          
  24          unsigned char code wave_table[][2]=
  25                                             {
  26                                              0x3C,0xB6,  //20Hz
  27                                              0x7D,0xD0,  //30Hz
  28                                              0x9E,0x5E,  //40Hz
  29                                              0xB1,0xE6,  //50Hz
  30                                              0xBE,0xEB,  //60Hz
  31                                              0xC8,0x3A,  //70Hz
  32                                              0xCF,0x32,  //80Hz
  33                                              0xD4,0x9E,  //90Hz
  34                                              0xD8,0xF6,  //100Hz
  35                                              0xEC,0x7E,  //200Hz
  36                                              0xF3,0x00,  //300Hz
  37                                              0xF6,0x42,  //400Hz
  38                                              0xF8,0x36,  //500Hz
  39                                              0xF9,0x83,  //600Hz
  40                                              0xFA,0x71,  //700Hz
  41                                              0xFB,0x24,  //800Hz
  42                                              0xFB,0xAE,  //900Hz
  43                                              0xFC,0x1E,  //1KHz
  44                                              0xFE,0x12,  //2KHz
  45                                              0xFE,0xB8,  //3KHz
  46                                              0xFF,0x0C,  //4KHz
  47                                              0xFF,0x3E,  //5KHz
  48                                              0xFF,0x5F,  //6KHz
  49                                              0xFF,0x77,  //7KHz
  50                                              0xFF,0x89,  //8KHz
  51                                              0xFF,0x96,  //9KHz
  52                                              0xFF,0xA2,  //10KHz
  53                                              0xFF,0xAB,  //11KHz
  54                                              0xFF,0xB2,  //12KHz
  55                                              0xFF,0xB9,  //13KHz
C51 COMPILER V7.06   SQUARE_WAVE_GENERATOR                                                 03/02/2006 23:49:41 PAGE 2   

  56                                              0xFF,0xBE,  //14KHz
  57                                              0xFF,0xC3,  //15KHz
  58                                              0xFF,0xC7,  //16KHz
  59                                              0xFF,0xCB,  //17KHz
  60                                              0xFF,0xCE,  //18KHz
  61                                              0xFF,0xD1,  //19KHz
  62                                              0xFF,0xD4,  //20KHz
  63                                             };
  64          unsigned char th1,tl1;
  65          unsigned char wave_value;
  66          
  67          void display_wave_frequency(void)
  68          {
  69   1       LCD_set_position(40);
  70   1       switch(wave_value)
  71   1        {
  72   2         case 1: LCD_prints("        20Hz    ");break;
  73   2         case 2: LCD_prints("        30Hz    ");break;
  74   2         case 3: LCD_prints("        40Hz    ");break;
  75   2         case 4: LCD_prints("        50Hz    ");break;
  76   2         case 5: LCD_prints("        60Hz    ");break;
  77   2         case 6: LCD_prints("        70Hz    ");break;
  78   2         case 7: LCD_prints("        80Hz    ");break;
  79   2         case 8: LCD_prints("        90Hz    ");break;
  80   2         case 9: LCD_prints("       100Hz    ");break;
  81   2         case 10:LCD_prints("       200Hz    ");break;
  82   2         case 11:LCD_prints("       300Hz    ");break;
  83   2         case 12:LCD_prints("       400Hz    ");break;
  84   2         case 13:LCD_prints("       500Hz    ");break;
  85   2         case 14:LCD_prints("       600Hz    ");break;
  86   2         case 15:LCD_prints("       700Hz    ");break;
  87   2         case 16:LCD_prints("       800Hz    ");break;
  88   2         case 17:LCD_prints("       900Hz    ");break;
  89   2         case 18:LCD_prints("        1KHz    ");break;
  90   2         case 19:LCD_prints("        2KHz    ");break;
  91   2         case 20:LCD_prints("        3KHz    ");break;
  92   2         case 21:LCD_prints("        4KHz    ");break;
  93   2         case 22:LCD_prints("        5KHz    ");break;
  94   2         case 23:LCD_prints("        6KHz    ");break;
  95   2         case 24:LCD_prints("        7KHz    ");break;
  96   2         case 25:LCD_prints("        8KHz    ");break;
  97   2         case 26:LCD_prints("        9KHz    ");break;
  98   2         case 27:LCD_prints("       10KHz    ");break;
  99   2         case 28:LCD_prints("       11KHz    ");break;
 100   2         case 29:LCD_prints("       12KHz    ");break;
 101   2         case 30:LCD_prints("       13KHz    ");break;
 102   2         case 31:LCD_prints("       14KHz    ");break;
 103   2         case 32:LCD_prints("       15KHz    ");break;
 104   2         case 33:LCD_prints("       16KHz    ");break;
 105   2         case 34:LCD_prints("       17KHz    ");break;
 106   2         case 35:LCD_prints("       18KHz    ");break;
 107   2         case 36:LCD_prints("       19KHz    ");break;
 108   2         case 37:LCD_prints("       20KHz    ");break;
 109   2         default: wave_value=18;Write_a_EEPROM_data(EEPROM_Addr,0x04,wave_value);LCD_prints("        1KHz    ");
             -break;
 110   2       }
 111   1      }
 112          
 113          void Square_wave_generator(void)
 114          {
 115   1       LCD_cls();
 116   1       LCD_prints("SQUARE WAVE:");
C51 COMPILER V7.06   SQUARE_WAVE_GENERATOR                                                 03/02/2006 23:49:41 PAGE 3   

 117   1       display_wave_frequency();
 118   1       th1=wave_table[wave_value-1][0];
 119   1       tl1=wave_table[wave_value-1][1];
 120   1       TR1=1;
 121   1       ET1=1;
 122   1       while(status==SQUARE_WAVE_GENERATOR)
 123   1        {   
 124   2         while(!key);
 125   2         if(key==KEY_MENU){TR1=0;ET1=0;status=MAIN_MENU;Write_a_EEPROM_data(EEPROM_Addr,0x01,status);key=0;break
             -;}
 126   2         if(key==KEY_ENTER)Write_a_EEPROM_data(EEPROM_Addr,0x04,wave_value);
 127   2         if(key==KEY_UP)
 128   2          {
 129   3           if(wave_value<37)
 130   3            {
 131   4             TR1=0;
 132   4             wave_value++;
 133   4             display_wave_frequency();
 134   4             th1=wave_table[wave_value-1][0];
 135   4             tl1=wave_table[wave_value-1][1];
 136   4             TH1=th1;
 137   4             TL1=tl1;
 138   4             TR1=1;
 139   4            }
 140   3          }
 141   2         if(key==KEY_DOWN)
 142   2          {
 143   3           if(wave_value>1)
 144   3            {
 145   4             TR1=0;
 146   4             wave_value--;
 147   4             display_wave_frequency();
 148   4             th1=wave_table[wave_value-1][0];
 149   4             tl1=wave_table[wave_value-1][1];
 150   4             TH1=th1;
 151   4             TL1=tl1;
 152   4             TR1=1;
 153   4            }
 154   3          }
 155   2         key=0;
 156   2        }
 157   1      }
 158          


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