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

📄 main.lst

📁 一个完整的用用AVR单片机开发的电话交换机程序 希望对想学习AVR开发人有帮助
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  11/15/2007 09:02:21 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(2,SIZE) BROWSE NOAREGS DEBUG OBJECTEXTEND

stmt level    source

   1          #include <switch.h>
   2          
   3          void    SystemInit();
   4          bit             TimeTickFlag;
   5          
   6          main()
   7          {
   8   1              idata UCHAR time=1;
   9   1              
  10   1              SystemInit();
  11   1              Rs232Init();
  12   1              TelOperateInit();
  13   1              SoundInTelInit();
  14   1              CommunicationInit();
  15   1              
  16   1              rs232write(0xAA);
  17   1              rs232write(0x55);
  18   1              rs232write(0x00);
  19   1              rs232write(0xFF);
  20   1              rs232write(0x88);
  21   1              
  22   1              EA=1;
  23   1              while(1)
  24   1                      {       
  25   2                              rs232loop();
  26   2                              DecordDTMF();
  27   2                              if(TimeTickFlag)
  28   2                                      {
  29   3                                              TimeTickFlag=0;
  30   3                                                      //添加时间片处理函数;                                          
  31   3                                              TelOperateLoop();
  32   3                                              DealHintSound();
  33   3                                              time++;
  34   3                                      }
  35   2                              //if((time%10)==0){MessageDeal();}      //消息处理
  36   2                              if(time>=100)   //0.2秒 计时
  37   2                                      {                                                                       
  38   3                                              ResResume();    //系统资源归原          
  39   3                                              MessageDeal();  //消息处理              
  40   3                                              ExtTimeDeal();  //分机时间处理
  41   3                                              SoundWayLoop();
  42   3                                              time=0;
  43   3                                      }
  44   2                      }
  45   1      }
  46          
  47          void    SystemInit()
  48          {       
  49   1              //8816 初始状态
  50   1              idata int i;
  51   1              for(i=0;i<1000;i++){;}
  52   1              SoundSwitchStorbe=0;
  53   1              PORT=0;
  54   1              
  55   1              //quiet all extension tel
C51 COMPILER V7.06   MAIN                                                                  11/15/2007 09:02:21 PAGE 2   

  56   1              PORT=0;                         //分机振铃控制
  57   1              EnRingPort=0;
  58   1              EnRingPort=1;
  59   1              EnRingPort=0;
  60   1              
  61   1              PORT=0;                         //外部取线控制
  62   1              EnTakeLine=0;
  63   1              EnTakeLine=1;
  64   1              EnTakeLine=0;
  65   1              
  66   1              EnDetectHold=1;//检测分机摘、挂机状态
  67   1              
  68   1              EnDetectRing=1;//检测外线振铃状态
  69   1              
  70   1              EnDTMFDecordOut1=0;     
  71   1              EnDTMFDecordOut2=0;
  72   1              
  73   1              EnDTMFCreate=1; //DTMF产生许可
  74   1              EnableE2ROM=0;
  75   1              
  76   1              PORT=0xff;
  77   1      
  78   1              SCONF=SCONF|ExtRamEnable;
  79   1              
  80   1              //用于系统时间,定时3ms 
  81   1              TMOD=TMOD|0x01;         
  82   1              TH0=SystemTimeConst>>8;
  83   1              TL0=SystemTimeConst;
  84   1              TR0=1;
  85   1              ET0=1;  //开定时器0中断
  86   1              
  87   1              TimeTickFlag=0;         //时间片处理函数
  88   1              
  89   1              //系统软件初始化
  90   1              WriteSYSTEM(sp_TakeLineAtHome,c_TakeLineAtHome);        //在家铃声设置
  91   1              WriteSYSTEM(sp_TakeLineOutside,c_TakeLineOutside);      //离家铃声设置
  92   1              WriteSYSTEM(sp_SystemState,c_SS_none);          //系统状态
  93   1      }
  94          
  95          void    SystemTimeTick() interrupt 1
  96          {
  97   1              //时间常数重载
  98   1              TR0=0;                                  
  99   1              TH0=(SystemTimeConst+8)>>8;
 100   1              TL0=(SystemTimeConst+8);
 101   1              TR0=1;
 102   1              
 103   1              TimeTickFlag=1;
 104   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    225    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----       3
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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