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

📄 366c.lst

📁 该程序可作为386的接警程序使用
💻 LST
📖 第 1 页 / 共 2 页
字号:
 260   3               J_LineToPhone=1;  //模拟挂机 
 261   3               goto SERIAL;                   //通过串口发送给上位机         
 262   3              }
 263   2           else
 264   2              {
 265   3               if(Number_Key==11)//收到自己发送的握手信号'*'
 266   3               {JISHU=25000;goto ReadStatus;}  //丢弃误读的366自己发的握手信号'*',并跳回继续监听
 267   3               NUMBER[Number_Note-1]=Number_Key;  //把键值写入数组
 268   3               Number_Note=Number_Note+1;
 269   3               JISHU=3800;           
 270   3               goto ReadStatus;                                    
 271   3              } 
 272   2         }
 273   1        else    //没有生成键值时
 274   1         {   
 275   2             MT8880_CP2=0; //停动8880总线 
 276   2             MT8880_CS=1;  //停动8880总线
 277   2             JISHU=JISHU-1;      
 278   2            if(JISHU!=0)  
 279   2              {
 280   3               goto ReadStatus;
 281   3              }
 282   2            else 
 283   2              {
 284   3               J_LineToPhone=1;  //模拟挂机
 285   3               return;
 286   3              }
 287   2         }//读键值过程结束
 288   1      
 289   1      SERIAL:
 290   1                  TCLK=0;   //T2CON中的位 表示发送器波特率由定时器1决定
 291   1                  RCLK=0;   //T2CON中的位 表示接收器波特率由定时器1决定     
 292   1                  //SCON=80;  //串行控制 0101,0000,SM0,SM1,SM2,REN,TB8,RB8,TI,RI  工作于串行方式1(8位异步)
 293   1                  SCON=0x88; //1000,1000,串口方式2,禁止接收,9位固定频率,TB8=1,即第9位为1,f/64
 294   1                  //TMOD=32;  //定时器1工作于方式2,自动重装
 295   1                  PCON=0;  //使SMOD=0
 296   1                  IE=0;    //禁止中断
 297   1                      
 298   1                  SBUF=170; //发送握手信息 1010,1010
C51 COMPILER V6.10  366C                                                                   03/06/2006 15:21:19 PAGE 6   

 299   1                  JISHU=4000;
 300   1      check_serial_send:
 301   1                  if(TI!=1)
 302   1                  {
 303   2                   JISHU=JISHU-1;
 304   2                   if(JISHU!=0)
 305   2                   {
 306   3                    _nop_();_nop_();
 307   3                    goto check_serial_send;
 308   3                   }
 309   2                   else
 310   2                   {
 311   3                     _nop_(); _nop_(); 
 312   3                     return;       
 313   3                   }
 314   2                  }
 315   1                  TI=0;     //清发送完成兼中断标志
 316   1                           
 317   1                  REN=1;   //启动一次接收过程
 318   1                  JISHU=4000;
 319   1      check_serial_receive:
 320   1                  if(RI!=1)   //如果SBUF中没有接收到数据,等待
 321   1                  {
 322   2                   JISHU=JISHU-1;
 323   2                   if(JISHU!=0)
 324   2                    {
 325   3                     _nop_();_nop_();                 
 326   3                     goto check_serial_receive;  
 327   3                    }
 328   2                   else
 329   2                    {
 330   3                     _nop_(); _nop_(); 
 331   3                     return;       
 332   3                    }           
 333   2                  } 
 334   1                  RI=0;
 335   1                  REN=0;
 336   1                 // if(SBUF!=0xaa)
 337   1                 // goto begin_serial; 
 338   1                  for(i=0;i<6;i++)  //发送6字节信息
 339   1                  {             
 340   2                   SBUF=NUMBER[i];
 341   2                   JISHU=4000;
 342   2       check_serial_sendmessage:
 343   2                   if(TI!=1)
 344   2                   {
 345   3                    JISHU=JISHU-1;
 346   3                    if(JISHU!=0)
 347   3                     {
 348   4                      _nop_();_nop_();                 
 349   4                      goto check_serial_sendmessage;  
 350   4                     }
 351   3                    else
 352   3                     {
 353   4                      _nop_(); _nop_(); 
 354   4                      return;       
 355   4                     }           
 356   3                   }            
 357   2                   TI=0;     //清发送完成兼中断标志  
 358   2                  }  
 359   1                     
 360   1            //发送数据到上位机结束  
C51 COMPILER V6.10  366C                                                                   03/06/2006 15:21:19 PAGE 7   

 361   1      }
 362          //-------------处理在一次下位机发送报警信息来过程中的读取 ,存储void READ_MESSAGE()子程序结束-------------
             ----//
 363          
 364          //--------------------------------------主程序开始--------------------------------------//
 365          
 366          void main(void) 
 367          {
 368   1        P2=0xff;  
 369   1        P0=0xff;
 370   1        P1=0xff;  
 371   1        P3=0xff;  
 372   1       
 373   1        MT8880_ControlRegister_Initialize();
 374   1        DELAY_50ms();DELAY_50ms();DELAY_50ms();
 375   1        while(1)
 376   1        {   
 377   2         if(ToneTest==0)  //检测到铃流脉冲低周期,23脚    
 378   2            {  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); //每行0.2ms
 379   3               _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_();         
 380   3                   
 381   3               if(ToneTest==0)
 382   3              { 
 383   4                 _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); //每行0.2ms
 384   4                 _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); //每行0.2ms
 385   4       
 386   4                 if(ToneTest==0)
 387   4                 {                
 388   5                  J_LineToPhone=0;  //模拟摘机 ,24脚                      
 389   5                  DELAY_50ms();DELAY_50ms();DELAY_50ms();DELAY_50ms();DELAY_50ms();DELAY_50ms();    //摘机之后等
             -待电路稳定 
 390   5                  MT8880_ControlRegister_Write();  //令8880处于输出,BURST,双音状态
 391   5                  MT8880_WriteOne(11);  //发送握手信号'*'   
 392   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); 
 393   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); 
 394   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); 
 395   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); 
 396   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_();  
 397   5                  MT8880_WriteOne(11);  //再次发送握手信号'*'
 398   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); 
 399   5                  _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_();            
 400   5                  READ_MESSAGE();            
 401   5                 }              
 402   4              }    
 403   3            } // if(ToneTest==0) 结束
 404   2        }//while(1)的反括号 
 405   1      }
 406            
C51 COMPILER V6.10  366C                                                                   03/06/2006 15:21:19 PAGE 8   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
C51 COMPILER V6.10  366C                                                                   03/06/2006 15:21:19 PAGE 9   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
MT8880_D0. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
MT8880_D1. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
MT8880_D2. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
MT8880_D3. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
MT8880_RW. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
MT8880_CP2 . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
MT8880_CS. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
MT8880_RS0 . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
ToneTest . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A2H  1
J_LineToPhone. . . . . . . . . . . . .  ABSBIT   -----  BIT      00A3H  1
JISHU. . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0000H  2
i. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
Number . . . . . . . . . . . . . . . .  TYPEDEF  -----  ARRAY    -----  10
DELAY_50ms . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  wait . . . . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
MT8880_StatusRegister_READ . . . . . .  PUBLIC   CODE   PROC     0000H  -----
MT8880_DataRegister_READ . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
MT8880_ControlRegister_Initializ . . .  PUBLIC   CODE   PROC     0000H  -----
MT8880_ControlRegister_Write . . . . .  PUBLIC   CODE   PROC     0000H  -----
_MT8880_WriteOne . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  SendData . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
READ_MESSAGE . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  Number_Note. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  Number_Key . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  NUMBER . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0002H  10
  ReadStatus . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
  SERIAL . . . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
  check_serial_send. . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
  check_serial_receive . . . . . . . .  LABEL    CODE   LABEL    -----  -----
  check_serial_sendmessage . . . . . .  LABEL    CODE   LABEL    -----  -----
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----


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