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

📄 main.lst

📁 这个系统是我根据常州拨云拨号器的硬体写的应用系统,完全兼容拨云拨号器的硬件和全功能实现,能实现自动拨接语音ip接入号,设定十组,各种号码路由权限设定!反极侦察产生!
💻 LST
字号:
C51 COMPILER V7.10   MAIN                                                                  09/29/2005 20:22:10 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL\C51\BIN\C51.EXE main.c ROM(SMALL) OPTIMIZE(5,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg2051.h>
   2          #include "Dialer_program.h"
   3          
   4          unsigned char data p[16];
   5          unsigned char keybuf[20];
   6          unsigned char data nkey;
   7          unsigned char data timetype0;
   8          unsigned char data count;
   9          unsigned char data systime1;
  10          unsigned char data timetype1;
  11          unsigned char data audiocount;
  12          bit section;
  13          bit play_bit;
  14          bit timeup;
  15          bit dialbit;
  16          
  17          
  18          void sysinit (void){
  19   1      unsigned char i;
  20   1      //      IE = 0X97;
  21   1              PT0 = 1;                                                //设定定时0优先
  22   1      //      ET1 = 1;                                                //开定时中断1
  23   1              ET0 = 1;
  24   1              PCON |= 0x00;                                   //10000000开smod
  25   1              SCON  = 0x50;
  26   1              TMOD= 0x21;                                             //0001,0001     定时器1模式0,定时器0模式0
  27   1      
  28   1              TH1 = 0XFC;                                             //3.57_2330
  29   1              TL1 = 0XFC;
  30   1      //      TH1 = 0XFC;                                             //11.0592_9600
  31   1      //      TL1 = 0XFE;
  32   1          TR1 = 1;
  33   1      //      REN = 1;                                                //Serial接受允许
  34   1      //      ES = 1; 
  35   1              EX0 = 1;                                                //开中断0
  36   1              EA = 1; 
  37   1      
  38   1              nkey = 0;
  39   1              dialbit=0;
  40   1      
  41   1      for (i=0;i<17;i++)p[i] = 0x00;
  42   1      for (i=0;i<21;i++)keybuf[i] = 0x00;
  43   1      
  44   1      EEReadPage(&p[0],0x00,0x00,16);  //读出IP号码
  45   1      EEReadPage(&p[0],0x00,0x00,16);  //读出IP号码
  46   1      EEReadPage(&p[0],0x00,0x00,16);  //读出IP号码
  47   1      
  48   1      }
  49          void play (unsigned char ch){
  50   1              timetype0 = ch; 
  51   1              TR0 = 1;
  52   1      }
  53          void clrbuf(void){
  54   1              setbit = 0;                             //key标志
  55   1              count  = 0;                             //dialkey count
C51 COMPILER V7.10   MAIN                                                                  09/29/2005 20:22:10 PAGE 2   

  56   1              play_bit = 1;
  57   1      }
  58          void main(void){
  59   1      
  60   1              Polarity = 1;
  61   1              still = 0;                         //0  Still SOUND;1  Enable SOUND
  62   1              audiopin = 0;
  63   1              led = 1;
  64   1              delay(0x50);
  65   1              sysinit();
  66   1      
  67   1              while (!dialbit);
  68   1              dial ("17968\0");
  69   1              delay(0x90);
  70   1              dial (0x3c);
  71   1              delay(0x90);
  72   1              dial (0x3c);
  73   1              delay(0x90);
  74   1              dial (&keybuf[0]);
  75   1      //      still = 1;
  76   1      //      putbuf(0x70);
  77   1      //      polarity_detect();
  78   1              Polaridy_audio_HZ();
  79   1              while (1);
  80   1      
  81   1      }
  82          //**************************************************************************拨号函数
  83          void dial(unsigned char *str){
  84   1              while (*str){
  85   2                      senddtmf(*str - 0x30);
  86   2                      delay(0x15);
  87   2                      senddtmf(0xff);
  88   2                      delay(0x5);
  89   2                      str ++;
  90   2              }
  91   1      }
  92          //**************************************************************************
  93          void time0 (void) interrupt 1  { 
  94   1      static unsigned char i=0,j=0,k=0,m=0;           //i 450HZ count ;j 0Hz count; k audio count;
  95   1              timeup = 0;
  96   1      //              led = ~led;
  97   1      
  98   1              if ((audiocount > 40)&&(audiocount < 50)){                 //450hz
  99   2                      i ++ ;
 100   2                      j = 0;
 101   2                      k = 0;
 102   2                      if (i == 4){
 103   3                              m++;
 104   3                              audiopin = 0;
 105   3                      }
 106   2              }
 107   1              else if (audiocount < 5){                                                  //0hz
 108   2                      i = 0;
 109   2                      j ++ ;
 110   2                      k = 0;
 111   2              }
 112   1              else {                                                                                     //audio hz
 113   2      //              led = ~led;
 114   2      
 115   2                      i = 0;
 116   2                      j = 0;
 117   2                      k ++ ;
C51 COMPILER V7.10   MAIN                                                                  09/29/2005 20:22:10 PAGE 3   

 118   2              }
 119   1              TR0 = 0;
 120   1              if (m > 0){
 121   2                      led = 0;
 122   2                      if(k>1){
 123   3                              led = 1;
 124   3                              still = 1;                         //0  Still SOUND;1  Enable SOUND
 125   3                              Polarity  = 0;
 126   3                              while (1);
 127   3                      }
 128   2              }
 129   1      }
 130          
 131          /*
 132          void time1 (void) interrupt 3 {
 133                  TF1 = 0;
 134          
 135                  switch(timetype1){
 136                          case polaritytime:
 137          //                      if (systime1 == 0x00){
 138                                          timeup = 1;
 139                                          TR1 = 0;
 140          //                      }
 141          //                      else systime1 --;
 142                          break;
 143                  }
 144          } */
 145          //**************************************************************************
 146          void polarity_detect(void){
 147   1      /*      unsigned char i=0,j=0,k=0,L=0;                                          //i计音频个数,J计450的计数,k计非450的计数
 148   1              bit STATUS_AUDIO=0;                                     
 149   1      
 150   1      while(1){       
 151   1              timetype0 = polaritytime;
 152   1      //              systime1 = 0x01;
 153   1                      TH0     = 0x8c;
 154   1                      TL0 = 0x00;
 155   1                      TR0 = 1;                                                                                //启动定时器2-100毫秒检测
 156   1      
 157   1                      timeup = 0;
 158   1                      while (!timeup){
 159   1                              if(!audio_detect){ 
 160   1                                      while (!audio_detect);
 161   1                                      i++;
 162   1                              }
 163   1                      }
 164   1      
 165   1                      if ((i < 0x3f) && (i > 0x26)){
 166   1                              j++;
 167   1                              k=0;
 168   1                              i=0;
 169   1                              L=0;
 170   1                              led = 1;
 171   1                              if ( j==5 )STATUS_AUDIO = 1;
 172   1                      }
 173   1                      else if (i>40){
 174   1      //              putbuf(i);
 175   1                              k=0;
 176   1                              i=0;
 177   1                              L++;
 178   1                              led = 0;
 179   1                      }
C51 COMPILER V7.10   MAIN                                                                  09/29/2005 20:22:10 PAGE 4   

 180   1              }*/
 181   1      }
 182          
 183          void Polaridy_audio_HZ (void ){
 184   1      unsigned char i;
 185   1              timetype0 = polaritytime;
 186   1              i = 100;
 187   1              while (1){
 188   2              TH0     = 0x8c;
 189   2              TL0 = 0x00;
 190   2                      timeup = 1;
 191   2                      audiocount=0;
 192   2                      TR0 = 1;
 193   2                      while (timeup){
 194   3                              if (!audio_detecy){
 195   4                                      while (!audio_detecy & timeup );
 196   4                                      audiocount++;
 197   4                              }
 198   3                      }
 199   2              }                       
 200   1      }
 201          
 202          void putbuf(unsigned char ch){
 203   1              TI = 0;
 204   1              SBUF = ch;
 205   1              while (!TI);    
 206   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    359    ----
   CONSTANT SIZE    =      7    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     46       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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