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

📄 beeplight.lst

📁 一个很好用的直流蜂鸣器单片机前台控制程序
💻 LST
字号:
C51 COMPILER V7.50   BEEPLIGHT                                                             01/14/2002 12:53:04 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE BEEPLIGHT
OBJECT MODULE PLACED IN BeepLight.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE BeepLight.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"AT87F51RC.H"
   2          #include"BeepLight.H"
   3          #include<absacc.h>
   4          unsigned char CsOutPortV;
   5          unsigned char InchiFlag;
   6          unsigned char BeepStatus;
   7          unsigned int  BeepOnTime,BeepOffTime,BeepOnTimeTemp,BeepOffTimeTemp;
   8          unsigned char BeepAllTimes;
   9          /*
  10          void BeepTimer0Initial(void)
  11          {
  12              TMOD=0x01;
  13              TH0=0xfc;
  14              TL0=0x18;
  15                  ET0=1;
  16                  EA=1;
  17              TR0=1;
  18          }
  19          */
  20          /*
  21          void Beep(unsigned char times,unsigned char SLFlag)
  22          {
  23              BeepAllTimes=times;
  24                  BeepStatus=BeepRun;
  25                  switch(SLFlag)
  26                  {
  27                  case ShortTime:  
  28                      BeepOnTime=ShortBeepOnTime;
  29                      BeepOffTime=ShortBeepOffTime;
  30                      break;    
  31                  case LongTime:
  32                      BeepOnTime=LongBeepOnTime;
  33                      BeepOffTime=LongBeepOffTime;
  34                      break;
  35                  case Simple:
  36                      BeepOnTime=SimpleBeepOnTime;
  37                      BeepOffTime=SimpleBeepOffTime;
  38                      break;
  39              } 
  40                  
  41          
  42              TMOD=0x01;
  43              TH0=0xfc;
  44              TL0=0x18;
  45                  ET0=1;
  46                  EA=1;
  47              TR0=1;
  48          }
  49          void BeepTimer(void)interrupt 1 using 1
  50          {   
  51          
  52              switch(BeepStatus)
  53              {
  54                      case BeepRun:
  55                          BeepGo;
C51 COMPILER V7.50   BEEPLIGHT                                                             01/14/2002 12:53:04 PAGE 2   

  56                          BeepOnTime--;
  57                          if(BeepOnTime==0)
  58                          { 
  59                              BeepStatus=BeepStop;
  60                              BeepOff;
  61                          } 
  62                          break;
  63                      case BeepStop:
  64                          BeepOffTime--;
  65                          if(BeepOffTime==0)
  66                          { 
  67                             BeepAllTimes--;
  68                             if(BeepAllTimes=0)
  69                             ET0=0;
  70                             TR0=0;
  71                          }
  72                          break;
  73              }
  74          }
  75          */
  76          
  77          //当times=0时,不断蜂鸣。
  78          void Beep(unsigned char times,unsigned char BeepTime,unsigned char StopTime)
  79          {
  80   1          BeepAllTimes=times;
  81   1          BeepOnTime=BeepTime;
  82   1              BeepOnTimeTemp=BeepTime;
  83   1          BeepOffTime=StopTime;
  84   1          BeepOffTimeTemp=StopTime; 
  85   1          TMOD=0x01;
  86   1          TH0=0x12;
  87   1          TL0=0x66;
  88   1              ET0=1;
  89   1              EA=1;
  90   1          TR0=1;
  91   1              BeepOn;
  92   1      }
  93          
  94          void StopBeep(void)
  95          {
  96   1         BeepOff;
  97   1         ET0=0;
  98   1         TR0=0;
  99   1      }
 100          
 101          void BeepTimer(void)interrupt 1 using 1
 102          {   
 103   1       if(BeepAllTimes!=0) 
 104   1       {  
 105   2         if(BeepOnTime!=0)
 106   2                  BeepOnTime--;
 107   2              else
 108   2              {   
 109   3                  BeepOff;
 110   3              BeepOffTime--;
 111   3                      if(BeepOffTime==0)
 112   3                      {
 113   4                              
 114   4                              BeepAllTimes--;
 115   4                              if(BeepAllTimes!=0)
 116   4                              {
 117   5                              BeepOn;
C51 COMPILER V7.50   BEEPLIGHT                                                             01/14/2002 12:53:04 PAGE 3   

 118   5                      BeepOnTime=BeepOnTimeTemp;
 119   5                                  BeepOffTime=BeepOffTimeTemp;
 120   5                              }
 121   4                              else
 122   4                  {
 123   5                                  TR0=0;
 124   5                                      ET0=0;
 125   5                  }
 126   4                                  
 127   4                              
 128   4                      }
 129   3      
 130   3          }
 131   2       }
 132   1       else
 133   1       {
 134   2         if(BeepOnTime!=0)
 135   2                  BeepOnTime--;
 136   2              else
 137   2              {   
 138   3                  BeepOff;
 139   3              BeepOffTime--;
 140   3                      if(BeepOffTime==0)
 141   3                      {
 142   4                              
 143   4                              BeepAllTimes--;
 144   4                              if(BeepAllTimes!=0)
 145   4                              {
 146   5                              BeepOn;
 147   5                      BeepOnTime=BeepOnTimeTemp;
 148   5                                  BeepOffTime=BeepOffTimeTemp;
 149   5                              }
 150   4                       }
 151   3               }
 152   2       }
 153   1      
 154   1      }
 155          
 156          void delayBL(unsigned int times)
 157          {  
 158   1          unsigned char a;
 159   1          unsigned int i;
 160   1              unsigned char j;
 161   1              for(i=0;i<times;i++)
 162   1                  for(j=0;j<55;j++)
 163   1                         a=CsInPort;
 164   1      }
 165          void main(void)
 166          {
 167   1          unsigned char a;  
 168   1         Beep(0,10,10);
 169   1      
 170   1          while(1)
 171   1              {  // BeepOn;
 172   2              RedLightOff;GreenLightOn;
 173   2                  delayBL(16000);
 174   2                      //BeepOff;
 175   2                  GreenLightOff;RedLightOn;
 176   2                  delayBL(1000);
 177   2                      StopBeep();
 178   2          }
 179   1              CsOutPortV|=0x10;CsOutPort=CsOutPortV;
C51 COMPILER V7.50   BEEPLIGHT                                                             01/14/2002 12:53:04 PAGE 4   

 180   1          while(1)a=CsInPort;
 181   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    282    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12       2
   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 + -