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

📄 keyled.lst

📁 通用C51单片机正弦波立产生程序
💻 LST
字号:
C51 COMPILER V6.23a  KEYLED                                                                11/11/2005 12:17:01 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE KEYLED
OBJECT MODULE PLACED IN keyled.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyled.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include < AT89X52.H >
   2          #include " define.h "
   3          bit keyflag  = 1 ;
   4          bit keystatu = 1 ;
   5          
   6          void ledvalue (void)
   7             {
   8   1                      unsigned char i ;
   9   1                      unsigned int  div=1000 ;
  10   1                      unsigned int fre ;
  11   1                      fre = frequency ;
  12   1                      for (i=0;i<4;i++)
  13   1                              {
  14   2                                      unsigned char a;
  15   2                                      a=fre/div;
  16   2                                      leddat[i]=a;
  17   2                                      fre%=div;
  18   2                                      div/=10;
  19   2                              }
  20   1              } 
  21          //功能:检查按键
  22          void keypress ( void )
  23                  {       
  24   1                      if ( keyflag == 1 )      
  25   1                              {  
  26   2                                      KADD = 1 ; KMIN = 1 ;
  27   2                                      if (KMIN == 0 || KADD == 0 )
  28   2                                                      keyflag = 0;
  29   2                   }
  30   1              else
  31   1                   {  
  32   2                                      KADD = 1 ; KMIN = 1 ;
  33   2                                      if ( KADD == 0 ) 
  34   2                                              {
  35   3                                                      frequency += 10 ;
  36   3                                                      keystatu = 0 ;
  37   3                                                      keyflag  = 1 ;
  38   3                                                      if( frequency == 410 ) frequency = 10;
  39   3                                                      thl=5000000/(frequency*109);
  40   3                                                  ledvalue();
  41   3                                              }
  42   2                                      else if ( KMIN == 0 ) 
  43   2                                              {
  44   3                                                      frequency -= 10 ;
  45   3                                                      thl=5000000/(frequency*109);
  46   3                                                      ledvalue();
  47   3                                                      if( frequency == 10 ) frequency = 410;
  48   3                                                      keystatu = 0 ;
  49   3                                                      keyflag  = 1 ;
  50   3                          }                 
  51   2                    }  
  52   1      }
  53          //功能:检查松键
  54          void keyfree (void) 
  55                  {   
C51 COMPILER V6.23a  KEYLED                                                                11/11/2005 12:17:01 PAGE 2   

  56   1                      if ( keyflag == 1 )      
  57   1                                      {  
  58   2                                              KADD = 1 ; KMIN = 1 ;
  59   2                                              if ( (KADD == 1)&& (KMIN == 1)) 
  60   2                                                      keyflag = 0 ;
  61   2                       }
  62   1                      else 
  63   1                      {  
  64   2                                              KADD = 1 ; KMIN = 1 ;
  65   2                                              if ( (KADD == 1)&& (KMIN == 1)) 
  66   2                                           {
  67   3                                                      keystatu = 1 ;
  68   3                              keyflag  = 1 ;                 
  69   3                           }
  70   2                      }
  71   1              }
  72          
  73          void kbhit ( void )
  74                  {
  75   1                      if ( keystatu == 1 ) keypress();
  76   1                      if ( keystatu == 0 ) keyfree ();
  77   1              }
  78          //功能:LED显示控制程序
  79          void ledwork ( void )
  80                  { 
  81   1                      static unsigned char t = 0;    //static表示静态变量,指变量的赋值只在第一次定义的时候赋
  82   1                      P2 |= 0x0f ;
  83   1                      P0 = ledcode[ leddat[t] ] ;
  84   1      
  85   1                      switch( t )                 //选择数据送到哪个管子
  86   1                              {
  87   2                                      case 0: S1 = 0 ;  break;
  88   2                                      case 1: S2 = 0 ;  break;
  89   2                                      case 2: S3 = 0 ;  break;
  90   2                                      case 3: S4 = 0 ;  break;
  91   2                              }
  92   1                      if (++t>=4)    t = 0;         //判断四位数是否都已经送完
  93   1           }
  94          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    327    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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