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

📄 dianzhiqin.lst

📁 开发环境
💻 LST
字号:
C51 COMPILER V8.09   DIANZHIQIN                                                            11/30/2007 19:19:04 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE DIANZHIQIN
OBJECT MODULE PLACED IN C:\DOCUME~1\ADMINI~1\桌面\电子琴\DIANZHIQIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C:\DOCUME~1\ADMINI~1\桌面\电子琴\DIANZHIQIN.C DB SB OE

line level    source

   1          #include <reg52.h>
   2          sbit P2_0=P2^0;
   3          sbit q3=P3^3;
   4          unsigned char i,j,m;
   5          void delay()
   6          {
   7   1         for(i=0;i<255;i++)
   8   1         {
   9   2            for(j=0;j<255;j++);
  10   2      
  11   2         }
  12   1      }
  13          
  14          void delay1()
  15          {
  16   1         for(i=0;i<255;i++);
  17   1      
  18   1      }
  19          int delayfayin(int t)
  20          {
  21   1           int i1,j1;
  22   1           for(i1=0;i1<t;i1++)
  23   1            for(j1=0;j1<200;j1++);
  24   1      }
  25          //各个音符的方波的计数初值
  26          void fangbof(int y)
  27          {
  28   1      switch(y)
  29   1      {
  30   2             case 0:       //停止
  31   2                  P2_0=1 ;
  32   2                  break;
  33   2             case 1:       //1
  34   2                  TH0=0x4d;
  35   2                  TL0=0xf7;
  36   2                  break;
  37   2             case 2:      //2
  38   2                  TH0=0x24;
  39   2                  TL0=0xf8;
  40   2                  break;
  41   2            case 3:
  42   2                  TH0=0xfa;
  43   2                  TL0=0x12;
  44   2                   break;
  45   2            case 4:
  46   2                    TH0=0xfa;
  47   2                    TL0=0x67;
  48   2                    break;
  49   2            case 5:
  50   2                    TH0=0xfb;
  51   2                    TL0=0x03;
  52   2                     break;
  53   2            case 6:
  54   2                    TH0=0xfb;
  55   2                    TL0=0x8f;
C51 COMPILER V8.09   DIANZHIQIN                                                            11/30/2007 19:19:04 PAGE 2   

  56   2                     break;
  57   2            case 7:
  58   2                      TH0=0xfc;
  59   2                      TL0=0x0b;
  60   2                       break;
  61   2            }
  62   1      }
  63          void dyf(int x)
  64          {
  65   1            int m;
  66   1            fangbof(x);
  67   1            switch(x)
  68   1             {
  69   2                case 0:
  70   2                TR0=0;  //0停止计数
  71   2                break;
  72   2                default:
  73   2                     TR0=1;        //否则计数
  74   2                     break;
  75   2             }
  76   1             m=1;
  77   1           while(m)
  78   1           {
  79   2              delayfayin(100);
  80   2               m=0;
  81   2            }
  82   1           TR0=0;
  83   1           P2_0=1;
  84   1      }
  85          main()
  86          {
  87   1      TMOD=0x01;
  88   1      EA=1;ET0=1;
  89   1      while(1)
  90   1      {
  91   2             P1=0xFF;
  92   2             P2=0xFF;
  93   2             q3=0;
  94   2             while(P2==0xFF);
  95   2             m=P2&0xFC;
  96   2             if(m==0x7C)      //按一键 显示一
  97   2             {
  98   3                  delay1();      //短时沿去抖动
  99   3                  if(m==0x7C)
 100   3                  {
 101   4                     P2=0x7F;
 102   4                     P0=0xF9;
 103   4                     dyf(1);
 104   4                     delay();
 105   4                     
 106   4                     P2=0xFF;
 107   4                     P0=0xFF;
 108   4                  }
 109   3             }
 110   2             if(m==0xBC)        //按二键 显示二
 111   2             {
 112   3                  delay1();      //短时沿去抖动
 113   3                  if(m==0xBC)
 114   3                  {
 115   4                     P2=0xBF;
 116   4                     P0=0xA4;
 117   4                     dyf(2);
C51 COMPILER V8.09   DIANZHIQIN                                                            11/30/2007 19:19:04 PAGE 3   

 118   4                     delay();
 119   4                     P2=0xFF;
 120   4                     P0=0xFF;
 121   4                  }
 122   3             }
 123   2             if(m==0xDC)          //按三键 显示三
 124   2             {
 125   3                  delay1();      //短时沿去抖动
 126   3                  if(m==0xDC)
 127   3                  {
 128   4                     P2=0xDF;
 129   4                     P0=0xB0;
 130   4                     dyf(3);
 131   4                     delay();
 132   4                     P2=0xFF;
 133   4                     P0=0xFF;
 134   4                  }
 135   3             }
 136   2             if(m==0xEC)          //按四键 显示四
 137   2             {
 138   3                  delay1();      //短时沿去抖动
 139   3                  if(m==0xEC)
 140   3                  {
 141   4                     P2=0xEF;
 142   4                     P0=0x99;
 143   4                     dyf(4);
 144   4                     delay();
 145   4                     P2=0xFF;
 146   4                     P0=0xFF;
 147   4                  }
 148   3             }
 149   2             if(m==0xF4)         //按五键 显示五
 150   2             {
 151   3                  delay1();      //短时沿去抖动
 152   3                  if(m==0xF4)
 153   3                  {
 154   4                     P2=0xF7;
 155   4                     P0=0x92;
 156   4                     dyf(5);
 157   4                     delay();
 158   4                     P2=0xFF;
 159   4                     P0=0xFF;
 160   4                  }
 161   3             }
 162   2             if(m==0xF8)      //按六键 显示六
 163   2             {
 164   3                  delay1();      //短时沿去抖动
 165   3                  if(m==0xF8)
 166   3                  {
 167   4                     P2=0xFB;
 168   4                     P0=0x82;
 169   4                     dyf(6);
 170   4                     delay();
 171   4                     P2=0xFF;
 172   4                     P0=0xFF;
 173   4                  }
 174   3             }
 175   2                
 176   2        
 177   2      }
 178   1      }
 179          void mop(void) interrupt 1
C51 COMPILER V8.09   DIANZHIQIN                                                            11/30/2007 19:19:04 PAGE 4   

 180          {
 181   1           P2_0=~P2_0;
 182   1          
 183   1      }
C51 COMPILER V8.09   DIANZHIQIN                                                            11/30/2007 19:19:04 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
delay. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0005H  -----
P2_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
q3 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_delayfayin. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  t. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
  i1 . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
  j1 . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0002H  2
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
delay1 . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_dyf . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  x. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
  m. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
mop. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
_fangbof . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  y. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
i. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
j. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
m. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    432    ----
   CONSTANT SIZE    =   ----    ----
   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 + -