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

📄 stccoinboxnew.lst

📁 投币按摩椅驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 570          */
 571          
 572          /*
 573          发送
 574          30 30 31 31 30 30 30 44 39 31 36 38 33 31 31 38 30 30 33 32 33 38 66 36 30 30 30 38 30 31 30 43 36 32 31 3
             -1 35 44 46 32 37 45 43 46 35 32 33 30 38 46 42 45 33 30 30 32 1A
 575          接收:
 576          30 30 31 31 30 30 30 44 39 31 36 38 33 31 31 38 30 30 33 31 33 38 66 36 30 30 30 38 30 31 30 43 36 32 31 3
             -1 35 44 46 32 37 45 43 46 35 32 33 30 38 46 42 45 33 30 30 32 1A 
 577          0D 0A 2B 43 4D 47 53 3A 20 39 0D 0A 0D 0A 4F 4B 0D 0A
 578          对应字符:
 579          AT+CMGS=027
 580          > 0011000D91683118003138f60008010C62115DF27ECF52308FBE3002
 581          +CMGS: 10
 582          OK
 583          */
 584          
 585          uchar code GSMhead[12]="0011000D9168";
 586          uchar code Center_number[12]="3118003238f6";
 587          uchar code      GSM_set[6]="000801";
 588          uchar code      GSM_sms[26]="0C62115DF27ECF52308FBE3002";                       //短消息内容:我已经到达。
 589          
 590          uchar code Command_Cnmi[18] = "AT+CNMI=1,1,0,0,1\r";//"AT+CNMI=1,1,0,0,1\r"
 591          uchar code Command_Cmgr[8]="AT+CMGR=";
 592          uchar code Command_Cmgd[8]="AT+CMGD=";//删除一条保存在SIM卡内的短信息
 593          uchar code Command_Csca[23]="AT+CSCA=+8613800731500\r";//设置短信息服务中心地址
 594          //uchar code Command_Cmgf[8]="AT+CMGF=";//择短信息格式:0为PDU方式:1为文本方式
 595            //uchar code SmsCenterCode[15] ={"013818288474"};//短信平台号码设定
 596          //  uchar code SmsMangerCenterCode[15]={"13524392560"};//管理中心号码设定
 597           // uchar xdata SmsCenterCode[15] _at_ 300;//={"013818288474"};//短信平台号码设定
 598            //uchar xdata SmsMangerCenterCode[15] _at_ 330;//={"13524392560"};//管理中心号码设定
 599            //uchar xdata User_PassWord[4];//用户级别密码设定
 600            uchar xdata Supervisor_PassWord[4];   //管理员级别密码设置
 601            uchar xdata User_PassWord[4];// _at_ 360;//={0xd0,0xd0,0xd0,0xd0};//用户级别密码设定
 602            uchar xdata PassWord[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};// _at_ 360;//={0xd0,0xd0,0xd0,0xd0};/
             -/用户级别密码设定
 603           // uchar code User_PassWord[4]={0xd0,0xd0,0xd0,0xd0};//用户级别密码设定
 604          //  uchar code Supervisor_PassWord[4]={0x01,0x02,0x03,0x04};    //管理员级别密码设置
C51 COMPILER V8.05a   STCCOINBOXNEW                                                        01/26/2008 08:39:50 PAGE 11  

 605             uchar xdata MoneyFull[6];// _at_ 380;//纸币张数基准值设定
 606             uchar xdata CMDBuf[20];// _at_ 390;//
 607             //_at_ 415; //  at_ 820;  //存储通讯的手机号码长度
 608            char  Init_MangerCenterCodeValue=0;//管理中心号码设定数值
 609             char  Init_SmsCenterCodeValue=0;//管理中心号码设定数值
 610            char  nMangerCenterCodePosition=0;//
 611             char  nSmsCenterCodePosition=0;//
 612             
 613            uchar   nPasswordstatus=0;
 614            uchar  PassWordPosition=0;
 615            uchar  nPassWordErroTime=0;
 616            uchar nKeyTimes=0;
 617            bit bPassWordPermit=0;
 618             bit bSetPassWordPermit=0;
 619            bit bFirstKey_Test=0;
 620            bit bPassWordErro=0;
 621            bit bUser_PassWordPermit=0;
 622            bit bSupervisor_PassWordPermit=0;
 623          //uchar xdata tel_buf[50];
 624          void lcd(void);
 625          void Key_Process(void);
 626          void Totalcoinsum(void); 
 627          void Disp_Process(void); 
 628          void Beep(void);
 629          void Movdisp (void);
 630          void LcdSendData(uchar nAddress,uchar nData);
 631          void RTCreadtime();
 632          void RTCWritetime();
 633          void PassWord_Process(void);
 634          void start_GSM(void);
 635          void WDR(void);
 636          void Buzzer(void);
 637          void Buzzer1(void);
 638          /******************与IIC通信相关子程序************************/
 639          void Buzzer(void)
 640          {
 641   1      bSpeak=1;
 642   1      bBuzzDelayPermit=1;     
 643   1      }
 644          
 645          void Buzzer1(void)
 646          {
 647   1      bSpeak=1;
 648   1      bBuzzDelayPermit=1;     
 649   1      }
 650          
 651          void Delay()
 652          {
 653   1         // {P10=1;_nop_();P10=0;}
 654   1          Nop;
 655   1          Nop; /*根据晶振频率制定延时时间*/
 656   1      }
 657          /*
 658          void DelaymS(uint time)
 659          {
 660                  Delay_ms=time;
 661                  while(Delay_ms);
 662          }
 663          */
 664          
 665          void delay_20ms()    //20ms
 666          {
C51 COMPILER V8.05a   STCCOINBOXNEW                                                        01/26/2008 08:39:50 PAGE 12  

 667   1      bDelay20mS=1;
 668   1      while(bDelay20mS);
 669   1      }
 670          
 671          /*
 672          void delay_160ms()    //160ms
 673          {uchar nCnt;
 674          for(nCnt=0;nCnt<8;nCnt++)       
 675          {
 676          bDelay20mS=1;
 677          while(bDelay20mS);
 678          }
 679          }
 680          */
 681          /*
 682          //延时500ms秒
 683          
 684          void delay_500ms()
 685          {
 686            uchar  nCnt;
 687            for(nCnt=0;nCnt<2;nCnt++)
 688              delay_160ms();
 689          }
 690          */
 691          //延时1S
 692          /*
 693          void delay_1s()     //1s
 694          {
 695          bDelay1S=1;
 696          }
 697          */
 698          //延时1S
 699          void Start(void)
 700          {
 701   1              bScl = 1;
 702   1              bSda = 1;
 703   1              Delay();
 704   1              bSda = 0;
 705   1              Delay();
 706   1              bScl =0;
 707   1      }
 708          void Stop(void)
 709          {
 710   1              bSda = 0;
 711   1              bScl = 1;
 712   1              Delay();
 713   1              bSda = 1;
 714   1              Delay(); 
 715   1              //EA=1;
 716   1      }
 717          bit CheckAck()
 718          {
 719   1              bit bEepromAck ;
 720   1              Delay();
 721   1              bScl = 1 ;
 722   1              Delay();
 723   1              bEepromAck = bSda ;
 724   1              Delay();
 725   1              bScl = 0 ;
 726   1              Delay();
 727   1              return bEepromAck ;
 728   1      }
C51 COMPILER V8.05a   STCCOINBOXNEW                                                        01/26/2008 08:39:50 PAGE 13  

 729          void Ack(void)
 730          {
 731   1              bSda = 0;
 732   1              Delay();
 733   1              bScl = 1;   //clock:falling edge
 734   1              Delay();
 735   1              bScl = 0;
 736   1              Delay();
 737   1      }
 738          void NoAck(void)
 739          {
 740   1              bSda =1;
 741   1              Delay();
 742   1              bScl = 1;
 743   1              Delay();
 744   1              bScl = 0;
 745   1              Delay();
 746   1      }
 747          
 748          /*******************************************************/
 749          uchar ReadOneByte()
 750          {
 751   1              bit bReadBit ;
 752   1              uchar nCnt,nTemp ;
 753   1              nTemp = 0x00 ;
 754   1              for(nCnt=0;nCnt<8;nCnt++)
 755   1              {
 756   2                      nTemp = nTemp<< 1 ;
 757   2                      Delay();
 758   2                      bScl = 1;       //high level continue for a while ,then read a bit 
 759   2                      Delay();
 760   2                      bReadBit = bSda;
 761   2                      bScl = 0;
 762   2                      if(bReadBit)
 763   2                      {
 764   3                              nTemp = nTemp | 0x01 ;
 765   3                      } 
 766   2                      else 
 767   2                      {
 768   3                          nTemp = nTemp & 0xfe ;
 769   3                      }
 770   2              }
 771   1              return nTemp ;
 772   1      }
 773          /*******************************************************/
 774          void WriteOneByte(uchar nData)
 775          {
 776   1              uchar nCnt ;
 777   1              for(nCnt=0;nCnt<8;nCnt++)
 778   1              {
 779   2                      if((nData & 0x80) == 0x80)
 780   2                      {
 781   3                              bSda = 1 ;
 782   3                      }
 783   2                      else
 784   2                      {
 785   3                              bSda = 0 ;
 786   3                      }
 787   2                      Delay();
 788   2                      bScl = 1;
 789   2                      Delay();
 790   2                      bScl = 0;
C51 COMPILER V8.05a   STCCOINBOXNEW                                                        01/26/2008 08:39:50 PAGE 14  

 791   2                      Delay();
 792   2                      nData = nData << 1 ;
 793   2              }
 794   1      }
 795          /*******************************************************/
 796          bit WaitWriteEnd()
 797          {
 798   1              bit bEepromAck;
 799   1              unsigned int nCounter;
 800   1              nCounter = 0;
 801   1              while(1)
 802   1              {
 803   2                      Start();
 804   2                      WriteOneByte(ReadCommand);
 805   2                      bSda = 1;
 806   2                      bEepromAck = CheckAck();
 807   2                      if(bEepromAck ==0) 
 808   2                      {
 809   3                              ReadOneByte();
 810   3                              NoAck();
 811   3                              return TRUE;
 812   3                      }
 813   2                      nCounter++;
 814   2                      if(nCounter>=0xfff)
 815   2                      {
 816   3                              return FALSE;
 817   3                      }
 818   2              }
 819   1      }         
 820          /*******************************************************/
 821          
 822          bit ReadFromRom(uchar * nData,uchar nAddress,uchar nNum)
 823          {
 824   1              bit bEepromAck ;
 825   1              uchar nCnt;
 826   1              EA=0;
 827   1              Start();
 828   1              //WP=0;
 829   1              WriteOneByte(WriteCommand);
 830   1              //WP=1;
 831   1              bSda = 1 ;
 832   1              bEepromAck = CheckAck();
 833   1              if(bEepromAck==1) return FALSE ; 
 834   1              //WP=0;
 835   1              WriteOneByte(nAddress);
 836   1              //WP=1;
 837   1              bSda = 1 ;
 838   1              bEepromAck = CheckAck();
 839   1              if(bEepromAck==1) return FALSE ;
 840   1              Start();
 841   1              //WP=0;
 842   1              WriteOneByte(ReadCommand);
 843   1              //WP=1;
 844   1              bSda = 1 ;
 845   1              bEepromAck = CheckAck();
 846   1              if(bEepromAck==1) return FALSE ;
 847   1              for(nCnt=0;nCnt<nNum;nCnt++)
 848   1              {
 849   2                      nData[nCnt] = ReadOneByte();
 850   2                      if(nCnt!=(nNum-1))
 851   2                      {
 852   3                              Ack();
C51 COMPILER V8.05a   STCCOINBOXNEW                                                        01/26/2008 08:39:50 PAGE 15  

 853   3                              bSda = 1 ;
 854   3                      }
 855   2                      else
 856   2                      {
 857   3                              NoAck(); 

⌨️ 快捷键说明

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