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

📄 main.lst

📁 我写的旋转编码器的程序
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  11/11/2007 23:03:45 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //-------------------------------------------------------
   2          //             编码电位器检测程序 
   3          //                作者:cacliu
   4          //                                    2007.11.1
   5          //A接P3.1,B接P3.2,C接地,并且A,B端均要接一个104的电容到地                 
   6          //否则检测过程中将会产生很多的误码 
   7          //-------------------------------------------------------
   8          
   9          #include <reg51.h>
  10          #include "1602.h"
  11          
  12          /*=====================码表========================*/
  13          code char tab[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
  14                            0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
  15          unsigned int counter=0,n=0; 
  16          unsigned char DD[2];
  17          void main(void)
  18          { 
  19   1       LcdReset();
  20   1       IT0 = 1;                                                
  21   1       EX0 = 1;                                           
  22   1       EA  = 1;
  23   1       Putstr(3,0,"cac cs3310");
  24   1       Putstr(3,1,"volume:");
  25   1       while(1)
  26   1       {
  27   2       switch (n)
  28   2       {
  29   3       case 0:  Putstr(10,1,"mute");   break;
  30   3       case 63: Putstr(10,1,"max ");   break;
  31   3       default :
  32   3                              DD[2]=n/100;
  33   3                              DD[0]=n-10*DD[1];                                         
  34   3                      DD[1]=(n-100*DD[2])/10;
  35   3                      DispOneChar(10,1,' ');
  36   3                      DispOneChar(13,1,' ');
  37   3               // if (DD[1]==0)
  38   3              //      {
  39   3               //   DispOneChar(11,1,' ');
  40   3              //       DispOneChar(12,1,tab[DD[0]]);
  41   3              //       }
  42   3               //  else
  43   3               // {
  44   3                      DispOneChar(11,1,tab[DD[1]]);
  45   3                              DispOneChar(12,1,tab[DD[0]]);
  46   3              //              }
  47   3        }                                        
  48   2      }
  49   1      }
  50          void delay(unsigned char dly)
  51          {
  52   1        unsigned int x;
  53   1        while(dly--)
  54   1        {                                                                                                              
  55   2          x = 50;
C51 COMPILER V8.08   MAIN                                                                  11/11/2007 23:03:45 PAGE 2   

  56   2          while(x--);
  57   2        }
  58   1      }
  59          void ISR0()  interrupt 0
  60          {
  61   1          if((P3&0x06) == 0x02)
  62   1         {
  63   2           delay(1); 
  64   2           if((P3&0x06) == 0x02)
  65   2             if(counter==63)
  66   2                 {
  67   3                                      counter=63;
  68   3              }
  69   2                      else
  70   2                      {
  71   3                         counter++;
  72   3                       }
  73   2                      n=counter;
  74   2         }                                                                                                                                                                                      
  75   1         else
  76   1         {
  77   2           delay(1); 
  78   2           if((P3&0x06) == 0x00)
  79   2          if(counter==0)
  80   2                 {
  81   3                              counter=0;
  82   3                      }
  83   2                      else
  84   2                      {
  85   3                         counter--;
  86   3                       }
  87   2                      n=counter;
  88   2         } 
  89   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    574    ----
   CONSTANT SIZE    =     45    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       9
   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 + -