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

📄 119.lst

📁 用AT89S52单片机模拟警报声
💻 LST
字号:
C51 COMPILER V8.05a   119                                                                  08/28/2008 21:05:17 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 119
OBJECT MODULE PLACED IN 119.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE 119.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*
   2          扫频声音程序(晶振11.0592Mhz)
   3          frq=255;delay(10)时为消防车警报声
   4          frq=255;delay(1)时为警车警报声
   5          frq=110;频率增加时delay(5);减小时delay(2);为婴儿啼哭声!
   6          
   7          */
   8          #include<reg52.h>
   9          #include<intrins.h>
  10          
  11          sbit SPK=P3^7;
  12          sbit K1=P1^4;   
  13          unsigned char frq;
  14          
  15          void delay(unsigned char ms)
  16          {unsigned char i;
  17   1       while(ms--)
  18   1           {for(i=0;i<60;i++);
  19   2               }
  20   1      }
  21          
  22          void delay1(unsigned char ms)
  23          {unsigned char i;
  24   1       while(ms--)
  25   1           {for(i=0;i<15;i++);
  26   2               }
  27   1      }
  28          
  29          main()
  30          {unsigned char t1,t2,fh,fl,m,k=0;
  31   1       m=0;
  32   1       TMOD=0x01;
  33   1       frq=0x00;
  34   1       TH0=0x00;
  35   1       TL0=0xFF;
  36   1       TR0=1;
  37   1       IE=0x82;
  38   1      
  39   1       while(1)
  40   1        {frq=0;
  41   2         if(K1==0)
  42   2                {delay(200);
  43   3                 if(K1==0)
  44   3                    m++;
  45   3                 }
  46   2         if(m>6) m=0;
  47   2         switch(m)
  48   2           {case 0:  fh=255;t1=20;t2=20;break;
  49   3            case 1:  fh=255;t1=1;t2=1; break;
  50   3            case 2:  fh=110;t1=8;t2=3;break;
  51   3                case 3:  fh=255;t1=1;t2=0;break;
  52   3                case 4:  fh=255;t1=0;t2=1;break; 
  53   3                case 5:  fh=120;fl=0;t1=t2=8;break;
  54   3            case 6:  fh=255;t1=1;break;  
  55   3           }                                                                           
C51 COMPILER V8.05a   119                                                                  08/28/2008 21:05:17 PAGE 2   

  56   2         while(m<5)
  57   2           {if(frq==fh)
  58   3            k=1;
  59   3            if(frq==0)
  60   3             {k=0;
  61   4                 }      
  62   3            if(k==0)    
  63   3                  {frq++;
  64   4               delay(t1);
  65   4                   }
  66   3            if(k==1)
  67   3                  {frq--;
  68   4                   delay(t2);
  69   4                   }
  70   3                if(K1==0)
  71   3                   break;
  72   3            }
  73   2         while(m==5)
  74   2                {if(k<128)
  75   3                 frq=fh;
  76   3                 else
  77   3                     frq=fl;
  78   3                 delay(t1);
  79   3                 k++; 
  80   3                 if(K1==0)
  81   3                    break;
  82   3                }
  83   2         while(m==6)
  84   2                {k=6;
  85   3                 while(k>0)
  86   3                  {frq--;
  87   4                   delay1(2);
  88   4                       if(frq==0)
  89   4                          k--;
  90   4                       }
  91   3                       TR0=0;
  92   3                       delay(255);
  93   3                       delay(255);
  94   3                       TR0=1;
  95   3                       if(K1==0)
  96   3                      break;
  97   3                }
  98   2        }
  99   1      }
 100          
 101          void timer0() interrupt 1 
 102          {TH0=0xFE;
 103   1       TL0=frq;
 104   1       SPK=~SPK;
 105   1      
 106   1      
 107   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    294    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V8.05a   119                                                                  08/28/2008 21:05:17 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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