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

📄 yinyue.lst

📁 51单片机开发与应用技术详解(珍藏版)PPT及源码
💻 LST
字号:
C51 COMPILER V8.08   YINYUE                                                                04/15/2008 10:58:30 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE YINYUE
OBJECT MODULE PLACED IN yinyue.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE yinyue.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          #include <reg51.h>
   2          
   3          sbit Y=P1^3;                    //播放按键
   4          
   5          sbit Speaker=P3^7;         //扬声器
   6          static unsigned char bdata StateREG;
   7          sbit m=StateREG^0;
   8          unsigned char code * data Mymusic;
   9          unsigned char data l;
  10          
  11          void delay(void);         //延时函数声明
  12          
  13          unsigned char code music[30]=
  14          {0xFF,0xFF,0xFB,0x90,0xFC,0x0C,0xFC,0x44,0xFC,0xAC,0xFD,0x09,0xFD,0x34,0xFD,0x82,0xFD,0xC8,0xFE,0x06,0xFE,
             -0x22,0xFA,0X15,0XFB,0x04,0xFA,0x67,0xFE,0x85};
  15          
  16          unsigned char code Mmusic[]=
  17          {
  18          0x35,0x31,0x34,0x34,0x24,0x35,0x32,0x32,0x24,0x38,
  19          0x44,0x58,0x48,0x34,0x31,0x34,0x34,0x24,0x38,0x34,
  20          0x7F,0x32,0x34,0x32,0x34,0x24,0x38,0x34,0x24,0x38,
  21          0x43,0x58,0x48,0x34,0x32,0x34,0x38,0x24,0x38,0x34,
  22          0x7F,0x16,0x4C,0x74,0x78,0x64,0x54,0x48,0x54,0x64,
  23          0x58,0x44,0x34,0x24,0x38,0x24,0x14,0x12,0x21,0x14,
  24          0x78,0x68,0x3F,0x4C,0x74,0x78,0x64,0x52,0x42,0x48,
  25          0x53,0x64,0x58,0x44,0x34,0x24,0x38,0x24,0x24,0x38,
  26          0x44,0x58,0x48,0x3C,0xFF
  27          };
  28          
  29          
  30          //主程序
  31          void main()
  32          {
  33   1              unsigned int data j;
  34   1              unsigned char data i;
  35   1              unsigned char data k;
  36   1              unsigned char data p11;
  37   1              unsigned char data p33;
  38   1          TMOD=0x01;                                                  //初始化
  39   1          IE=0x82;
  40   1              while(1)
  41   1              {
  42   2              j=0;
  43   2              m=0;
  44   2              while(Y==1)
  45   2              {
  46   3              for(i=0;i<5;i++)
  47   3              {
  48   4                delay();                                                              //延时
  49   4              }
  50   3          p11=P1;
  51   3              p33=P3;
  52   3          while(*(Mmusic+j)!=0xFF)
  53   3          { 
  54   4                 k=*(Mmusic+j)&0x0F;
C51 COMPILER V8.08   YINYUE                                                                04/15/2008 10:58:30 PAGE 2   

  55   4                 l=*(Mmusic+j)>>4;
  56   4             if((p11!=P1)||((p33&0x0f)!=(P3&0x0f)))
  57   4                    {
  58   5                          goto Next;
  59   5                }
  60   4                 TH0=music[2*l];
  61   4             TL0=music[2*l+1];
  62   4                 TR0=1;
  63   4                 if ((music[2*l]==0xff)&&(music[2*l+1]==0xff)) 
  64   4                 {
  65   5                             TR0=0;
  66   5                              }
  67   4             for(i=k;i>0;--i)
  68   4                     {
  69   5                             delay();
  70   5                     } 
  71   4                 TR0=0;
  72   4             j++;
  73   4          }
  74   3      Next: ;
  75   3              }
  76   2              }
  77   1      }
  78          
  79          /*单个音符的发声*/
  80          void timer0() interrupt 1 using 1 
  81          { 
  82   1           TH0=music[2*l];
  83   1           TL0=music[2*l+1];
  84   1           Speaker = !Speaker; 
  85   1      }
  86          
  87          /*汇编语句进行精确延时,延时1/4拍时间即187ms*/
  88          void delay(void)
  89          {
  90   1          #pragma ASM
*** ERROR C272 IN LINE 90 OF YINYUE.C: 'asm/endasm' requires src-control to be active
  91   1                      MOV R3,#02H
  92   1                  D1: MOV R2,#7DH
  93   1                      D2: MOV R1,#0F8H
  94   1                          DJNZ R1,$
  95   1                              DJNZ R2,D2
  96   1                              DJNZ R3,D1
  97   1          #pragma ENDASM
*** ERROR C272 IN LINE 97 OF YINYUE.C: 'asm/endasm' requires src-control to be active
  98   1      }
  99                                  

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

⌨️ 快捷键说明

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