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

📄 fangdao.lst

📁 本代码是用C51开发的
💻 LST
📖 第 1 页 / 共 3 页
字号:
 601   1          TMOD=0x20;
 602   1          TMOD = (TMOD & 0xf0) | 1;//MODE 1
 603   1          //TH1=0xe8;              //波特率为9600
 604   1         // TL1=0xe8;
 605   1          TH1=0xfd;              //波特率为9600
 606   1          TL1=0xfd;
 607   1          PCON=0x00;            //倍频0x80
 608   1      
 609   1          IE = 0xb0;          // EA XX ET2 ES ET0 EX0 ET1 EX1
 610   1          TR1=1;              //enable TIMER1
C51 COMPILER V7.50   FANGDAO                                                               05/02/2007 00:52:35 PAGE 11  

 611   1          //TF0=0;
 612   1          //PT0=1; //Set Timer0 interrupt as highest priority level'
 613   1         // PT0=1; //Set Timer0 interrupt as highest priority level
 614   1          ES=1;
 615   1          TR0=1;
 616   1          ET0=1;
 617   1          ET1=0;
 618   1          EA=1;
 619   1          P0=0xC3;
 620   1          P1=0xFE;
 621   1          P2=0xFF;
 622   1          P3=0xFF;
 623   1         // P4=0xff;
 624   1          timer_1S_cnt=0;
 625   1          receive_count=0;
 626   1          send_count=0xff;            //表示禁止发送,可以接收
 627   1         sync_count=0;
 628   1         int_case=0;
 629   1         ring_pin_flag=1;
 630   1         IO_OUT=1;
 631   1         //INT_TMP1=0;
 632   1         //INT_TMP2=0;
 633   1      
 634   1      
 635   1      }
 636          
 637          
 638          
 639          uchar  Send_AT_Command( uchar type)
 640          //拨号时号码放在phone.number
 641          //其他用para_temp
 642          {
 643   1              AT_Command_Type=type;
 644   1              send_count=0;
 645   1          switch(type)
 646   1          {
 647   2      
 648   2              case VOICE_DIAL:        //语音拨号
 649   2              strcpy(uart_buff,"ATD");
 650   2              strcat(uart_buff,para_temp);
 651   2            // strcpy(uart_buff,"ATD10086;");
 652   2             //strcat(uart_buff,";");
 653   2      
 654   2              break;
 655   2           // case RESET_TC35:                //复位TC35
 656   2           //         strcpy(uart_buff,"AT+CFUN=1,1");
 657   2           //         break;
 658   2            case CHECK_PIN:           //检查当前是否要输入PIN码
 659   2              strcpy(uart_buff,"AT+CPIN?");
 660   2              break;
 661   2      
 662   2            case TC35_INIT:           //TC35初始化命令
 663   2              strcpy(uart_buff,"ATE0V0");
 664   2              break;
 665   2            case TC35_SBC:      //检查信号
 666   2               strcpy(uart_buff,"AT^SBC?");
 667   2              break;
 668   2      
 669   2            case VOICE_HANDSET:       //手柄方式
 670   2              strcpy(uart_buff,"AT^SNFS=4^SNFO=2,8000,14000,20000,26000,32700,0,512^SNFI=5,10000");
 671   2              break;
 672   2            case SIM_CARD_CHECK://查询是否有插入SIM卡 ^SCKS: 0,1
C51 COMPILER V7.50   FANGDAO                                                               05/02/2007 00:52:35 PAGE 12  

 673   2              strcpy(uart_buff,"ate0v0^scks?");
 674   2              break;
 675   2      
 676   2            case SIM_ID:
 677   2                strcpy(uart_buff,"AT+CMGF=1");
 678   2              break;
 679   2              case SMSS_ID:
 680   2                strcpy(uart_buff,"AT^SSMSS=1");
 681   2              break;
 682   2            case HOOKOFF:                     //挂机,停止通话
 683   2              strcpy(uart_buff,"AT+CHUP");
 684   2              break;
 685   2            case SMS_CNMI:    //SMS 接收方式,
 686   2              strcpy(uart_buff,"AT+CNMI=1,1");
 687   2              break;
 688   2            case  TC35_VERSION:   //读取TC35的版本号
 689   2              strcpy(uart_buff,"AT+GMR");
 690   2              break;
 691   2      
 692   2            case PHONE_WRITE:         //存电话号码
 693   2              strcpy(uart_buff,"AT+CPBW=");
 694   2              strcat(uart_buff,para_temp);
 695   2              break;
 696   2           case PHONE_SET:
 697   2              strcpy(uart_buff,"AT+CPBW=");
 698   2              strcat(uart_buff,para_temp);
 699   2              break;
 700   2            case PHONE_READ:          //读电话本
 701   2              strcpy(uart_buff,"AT+CPBR=");
 702   2              strcat(uart_buff,&read_tmp);
 703   2              uart_buff[9]=0x0d; uart_buff[10]=0x0a;
 704   2              uart_buff[11]=0x00;   uart_buff[12]=0x00;
 705   2              break;
 706   2            case SMS_CMGR:            //读一个短信
 707   2              strcpy(uart_buff,"AT+CMGR=");
 708   2              strcat(uart_buff,para_temp);
 709   2              break;
 710   2             case SMS_CMGS:           //写一个短信
 711   2              strcpy(uart_buff,"AT+CMGS=");
 712   2              strcat(uart_buff,para_temp);
 713   2      
 714   2              break;
 715   2             case SMS_CMGD:           //删除一个短信
 716   2              strcpy(uart_buff,"AT+CMGD=");
 717   2              strcat(uart_buff,para_temp);
 718   2              break;
 719   2            // case  CMGS_MUB:    //发报警短信内容
 720   2             // strcpy(uart_buff,para_temp);
 721   2             //  break;
 722   2      
 723   2            case AT_COMMAND:
 724   2              break;
 725   2            default:
 726   2              receive_count=0;
 727   2              return(TRUE);
 728   2          }
 729   1          ES=1;
 730   1          strcat(uart_buff,"\x0d\x00");//在命令后加入CR
 731   1          send_count=0;                       //设置发送指针
 732   1          receive_count=0;
 733   1          AT_Command_Status=COMMAND_WAIT;     //设置接收成功标志
 734   1      
C51 COMPILER V7.50   FANGDAO                                                               05/02/2007 00:52:35 PAGE 13  

 735   1          txd_rxd_bit=0;
 736   1           at_send_bit=0;
 737   1          TI=1;                                       //开始发送数据
 738   1          RI=0;                                       //清除接收标志
 739   1      
 740   1      
 741   1        if((type==SMS_CMGR)||(type==MONITOR_ID))
 742   1          {
 743   2              while (timer_200S_cnt<15)
 744   2                      {
 745   3      
 746   3                      if (AT_Command_Status!=COMMAND_WAIT||txd_rxd_bit==1)
 747   3                      return(TRUE);
 748   3              }
 749   2          }
 750   1         else if(type==SMS_CMGS)
 751   1         {      while (timer_200S_cnt<5)
 752   2                      {
 753   3                      if (AT_Command_Status!=COMMAND_WAIT||txd_rxd_bit==1)
 754   3                      return(TRUE);
 755   3              }
 756   2      
 757   2              }
 758   1          else
 759   1          {
 760   2               while (timer_200S_cnt<15)
 761   2                      {
 762   3                      system_sleep;
 763   3                      if (AT_Command_Status!=COMMAND_WAIT||txd_rxd_bit==1)
 764   3                      return(TRUE);
 765   3              }
 766   2          }
 767   1          return(FALSE);
 768   1      }
 769          
 770          
 771          
 772          void main(void)
 773          {
 774   1              Initialize_Model();
 775   1      
 776   1              system_server=SYS_SMSR;
 777   1              receive_count=0;
 778   1               sms_tmp=0;
 779   1               system_tep=1;
 780   1      
 781   1              while(1)
 782   1              {
 783   2                      //-----------查询1到20条中的短信,只要有短信就处理------------------------------------------
 784   2                      if(system_server==SYS_SMSR)                     //读1-20条短信
 785   2                              {
 786   3                                      read_sms();                     //timer_200S_cnt=0;
 787   3                     P0=0x00;
 788   3                  }
 789   2                      //----------------一些短信的发送---------------------------------------------------
 790   2                      else if(system_server==SYS_SMSS)       //发送小区信息
 791   2                              {  LED_INT3=0;
 792   3                                      send_sms();
 793   3                                 system_server=SYS_SMSR;
 794   3                                 LED_INT3=1;
 795   3                         }
 796   2                      //---===============外部中断进行 报警状态===============================================================
C51 COMPILER V7.50   FANGDAO                                                               05/02/2007 00:52:35 PAGE 14  

             -==
 797   2                      else if(system_server==SYS_RING)        //设备被盗功能开启
 798   2                  {  LED_INT4=0;
 799   3                       system_server=SYS_SMSR;
 800   3                      pickup_pin_flag=1;   ring_pin_flag=1;
 801   3                      if(system_tep)
 802   3                      {  sms_tmp= smss_alarm;
 803   4                                              send_sms();
 804   4                                  }
 805   3                                      system_server=SYS_SMSR;
 806   3                     LED_INT4=1;
 807   3                              }
 808   2                              //===================设置报警时的延时时长==================================================
 809   2                      else if(system_server==SYS_ALARM)
 810   2                              {
 811   3                                      sms_tmp=smss_tel;
 812   3                                      system_server=SYS_SMSS;
 813   3                              }
 814   2      
 815   2                        else if(system_server==SYS_START)
 816   2                        {
 817   3                      LED_INT5=0;
 818   3                                      sms_tmp=smss_atart;
 819   3                                      send_sms();
 820   3      
 821   3                                      system_server=SYS_SMSR;
 822   3                      LED_INT5=1;
 823   3      
 824   3      
 825   3                        }
 826   2      
 827   2                              //========================用短信进行设备参数检查=======================================================
             -======
 828   2                       else if(system_server==SYS_PARA)          //设备参数查询
 829   2                              {
 830   3                                      sms_tmp=smss_para;
 831   3                                      system_server=SYS_SMSS;
 832   3                              }
 833   2                      //==========================进行报警时的电话号码和手机号的设置==========================================
             -=================
 834   2                        else if(system_server==SYS_TEL)  //防盗电话号码设置
 835   2                        {                          //存储位于SIM卡的4,5,6三个位置
 836   3                                      sms_tmp=smss_tel;
 837   3                                      system_server=SYS_SMSS;
 838   3      
 839   3                    }
 840   2                      //==================//电池电量不充报警=================================================================
 841   2                      else if(system_server==SYS_SBC)          //电池电量不充报警
 842   2                      {    sms_tmp=smss_sbc;
 843   3                               system_server=SYS_SMSS;
 844   3      
 845   3                      }
 846   2      
 847   2              }
 848   1      
 849   1      
 850   1      }
 851          
 852          
 853          
 854          
 855          
C51 COMPILER V7.50   FANGDAO                                                               05/02/2007 00:52:35 PAGE 15  

 856          
 857          
 858          
 859          
 860          
 861          
 862          
 863          
 864          
 865          
 866          
 867          
 868          
 869          
 870          
 871          
 872          
 873          
 874          
 875          
 876          
 877          
 878          
 879          
 880          
 881          
 882          
 883          
 884          
 885          
 886          
 887          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3035    ----
   CONSTANT SIZE    =    257    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19      12
   IDATA SIZE       =    192    ----
   BIT SIZE         =      7    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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