📄 stccoinbox.lst
字号:
281 1 }
282 /*
283 //接收一个字符
284 unsigned char PGetChar()
285 {
286 ET0=0;
287 #ifdef MODE_QUICK
288
289 TIMER1_ENABLE;
290 F_TM=0;
291 while(!F_TM); //等过起始位
292 ACC0=BT_REC;
293
294 TL1=TH1;
295 F_TM=0;
296 while(!F_TM);
297 ACC1=BT_REC;
298
299 F_TM=0;
300 while(!F_TM);
301 ACC2=BT_REC;
302
303 F_TM=0;
C51 COMPILER V7.06 STCCOINBOX 11/10/2007 10:37:46 PAGE 6
304 while(!F_TM);
305 ACC3=BT_REC;
306
307 F_TM=0;
308 while(!F_TM);
309 ACC4=BT_REC;
310 F_TM=0;
311 while(!F_TM);
312 ACC5=BT_REC;
313
314 F_TM=0;
315 while(!F_TM);
316 ACC6=BT_REC;
317
318 F_TM=0;
319 while(!F_TM);
320 ACC7=BT_REC;
321
322 F_TM=0;
323
324 while(!F_TM)
325 {
326 if(BT_REC)
327 {
328 break;
329 }
330 }
331 TIMER1_DISABLE; //停止timer
332 ET0=1;
333 TR0=1;
334 return ACC;
335 #else
336 unsigned char rch,nCnt;
337 TIMER1_ENABLE;
338 F_TM=0;
339 nCnt=0;
340 rch=0;
341 while(!F_TM); //等过起始位
342
343 while(nCnt<8)
344 {
345 rch>>=1;
346 if(BT_REC)
347 {
348 rch|=0x80;
349 }
350 nCnt++;
351 F_TM=0;
352 while(!F_TM);
353
354 }
355 F_TM=0;
356 while(!F_TM)
357 {
358 if(BT_REC)
359 {
360 break;
361 }
362
363 }
364 TIMER1_DISABLE; //停止timer
365 return rch;
C51 COMPILER V7.06 STCCOINBOX 11/10/2007 10:37:46 PAGE 7
366
367 #endif
368 ET0=1;
369 }
370 //检查是不是有起始位
371 bit StartBitOn()
372 {
373 return (BT_REC==0);
374
375 }
376 */
377 /////////////模拟串口定义////////////////////
378 //xt
379 //xt
380 bit bOneSecond,bTotalCoinCheck,bTxd0_SendPermit,bERR;
381 uchar keydata1,keydata;
382 uchar nKeyHighLevelCounter,nKeyLowLevelCounter,nKeyProcessStep;
383 uchar nTimeSetIndex,nTimeSetIndex,nCoinSetValue,nTimeCoinSetValue,nKeyProcessStep2;
384 uchar nSearchIndex,nCoinSetIndex,nKeyLowLevel2Counter;
385 unsigned int nTimeSetValue,nTimeSet,nKeyHighLevel2Counter;
386 //uchar idata Tempvalue[2],nSetMenuStatustime[1];
387 uchar idata dispdata;
388 uchar idata SetMenuStatus[6];
389 unsigned int Cointime;
390 //unsigned int Movtime;
391 //unsigned int Movtime;
392 unsigned int GsmDelayTime=0;
393 //unsigned int Delay160mSTime=0;
394 //unsigned int Delay1STime=0;
395 unsigned int PassWordDelay=0;
396 unsigned int Delay_ms=0;
397 uchar idata nDisCount;
398 uchar idata Lcddis[12];
399 uchar nLcdDisplay1,nLcdDisplay2;
400 bit bSendBit,bShowLED,bShowMoneyTotalPermit;
401 bit bLcdDisplayChange ,bRest,bKeyCoin;
402 uchar idata Rxd0_DataLength;
403 /////////////////////////////////////
404 ////////////////////////////////////////
405 bit bPermit_Transmit=0,bTransmit_Delay=1;
406 bit bDelay20mS=0;
407 //bit bDelay160mS=0;
408 //bit bDelay1S=0;
409 //bit bDelay3S=0;
410 bit bStartGsm=1;
411 bit bCloseTC35iPermit=0;
412 bit ack_flag;
413 bit bdisp,bstring;
414 unsigned int idata ReceiveTime;
415 uchar timesum,coinsum,string,keystatus;
416 //uchar nTotalCointimeA[3];
417 /////////////////////////////////////////
418 //part A
419 uchar nHigh_CheckCoinCounter,nLow_CheckCoinCounter,nCheckLevelStep,nScanCount;
420 uchar nSpareMoney;//Lcddis[7],Lcddis[6],nLedValueA2,nLedValueA3,
421 uchar nHigh_CheckCoinCounter,nLow_CheckCoinCounter,nCheckLevelStep;
422 uchar idata nTotalCoins[6];
423 uchar idata nTotalCoinNumber[3]={0x01,0x02,0x03};
424 uchar idata TimeCoin1[2],TimeCoin2[2];
425 unsigned long nRunTime;//nRunTimeB;
426 unsigned int nCountValue,nTimeCounter,SendTime;
427 unsigned int idata Totaltime;
C51 COMPILER V7.06 STCCOINBOX 11/10/2007 10:37:46 PAGE 8
428 bit bRun,bDotShow,bClearScreenPermit,bShowTotalcoinsumPermit;
429 bit bEtime;
430 unsigned long TotalCoinTime;
431 uchar Transmit_Point;Senddata1,Senddata2;
432 unsigned int TimeMoney,TimeMoneyValue;
433 uchar R_Status,T_Status;
434
435 uchar xdata Rxd0_RecBuffer[26];// _at_ 220;// idata
436 bit bRunB,bKeyPermit,bGetCommand,bAckCommand,bSetState,bSendCommand;
437 bit bRtc_ChangePermit=0;
438 uchar code LcdSeg[] = {0xeb,0x60,0xc7,0xe5,0x6c,0xad,0xaf,0xe0,0xef,0xed};///*0-9适用于左边正常显示*/
439 uchar code Rtc_Seg[5]={0x26,0x6d,0x27,0x2e,0x8e};//年月日时分
440 uchar code TimeSet[] = {1,2,3,4,5,6,7,8,9,10,12,15,18,20,25,30};
441 unsigned int code TimeSetValue[] = {60,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900} ;
442 uchar code backtime[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x61,0x62,0x63,0x64,0x65,0x66
-};
443 //xt
444 uchar code SmsSend_Time[5]={0x07,0x10,0x31,0x17,0x30}; //
445 //uchar code tel_str1[15]="13524392560"; //Receive 手机
446 //uchar code tel_str2[15]="013818288474"; //Transmit 手机
447 uchar xdata SmsMangerCenterCode[15]="13524392560\r"; //Receive 手机13818288474
448 uchar code SmsCoinBoxCode[15]="013585727419"; //Transmit 手机
449 /*******************************************************************/
450 //uchar code EventCode[5]={0x01,0x02,0x03,0x04,0x05};
451 uchar code EventCode=0x05;
452 //01:Power off;02:Moneyfull;03:Bill Acceptor;
453 //04:Action of taking money;05:Working Record of Massage chair
454 /*****************************************************************/
455 uchar Init_CoinValue;//起始币值设定
456 uchar Init_TimeValue;//运行时间
457 char nMoneyFullValue=0;//MoneyFull设定个、十、百、千数值;纸币张数基准值设定
458 uchar Init_BackTime;//躺卧时间设定
459 uchar MinMoneyValue;//
460 uchar xdata SmsSendTime[5];//_at_ 250;//SMS发送时刻设定
461 char SmsSendTimeValue=0;//SMS发送时刻设定数值
462 char Rtc_WriteTimeValue=0;//RTC调整设定数值
463 uchar Rtc_WriteTimePosition=0;//指示年月日时分的设定位置
464 uchar SmsSetSendTimePosition=0;//指示年月日时分的设定位置
465 uchar MoneyFullPosition=0;//MoneyFull设定个、十、百、千位置
466
467 uchar xdata RTC_Time[5];//_at_ 270;//年月日时分设定
468
469 //uchar xdata g8563_Store[5]; /*时间交换区,全局变量声明*/
470 // uchar code c8563_Store[9]={0x00,0x16,0x04,0x01,0x0a,0x07,0x07}; /*写入时间初值:星期一 07:59:00*/
471 uchar code Command_At[3] = {'A','T','\r'};//"AT\r";
472 /*41 54 0d 回传:41 54 0D 0D 0A 4F 4B 0D 0A
473 AT
474 OK
475 */
476 uchar code Command_Csq[7] = "AT+CSQ\r";//Signal quality test
477 //发送41 54 2B 43 53 51 0d
478 /*接收到41 54 2B 43 53 51 0D 0D 0A 2B 43 53 51 3A 20 31 36 2C 39 39 0D 0A 0D 0A 4F 4B 0D 0A
479 对应字符
480 AT+CSQ
481 +CSQ: 16,99
482
483 OK
484 */
485
486 uchar code Command_Cmgf[10] = "AT+CMGF=1\r";//text 模式
487 /*
488 发送41 54 2B 43 4D 47 46 3D 30 0D
C51 COMPILER V7.06 STCCOINBOX 11/10/2007 10:37:46 PAGE 9
489 接收:
490 41 54 2B 43 4D 47 46 3D 30 0D 0D 0A 4F 4B 0D 0A
491 AT+CMGF=0
492 OK
493 */
494 uchar code Command_cops[10] = "AT+COPS=0\r";//MAIN network operator is to be selected automatically
495 uchar code Command_ateo[5] = "ATE0\r";
496 uchar code Command_cmee[10] = "AT+CMEE=2\r";
497 uchar code Command_Cmgs[8] = "AT+CMGS=";
498 uchar xdata Command_Enter[2] = {0x1a,0x0d};
499 /*
500 发送41 54 2B 43 4D 47 53 3D 30 32 37 0D
501 41 54 2B 43 4D 47 53 3D 30 32 37 0D 0D 0A 45 52 52 4F 52 0D 0A
502 对应字符:AT+CMGS=027
503 */
504 /*
505 发送41 54 2B 43 4D 47 53 3D 30 32 37 0D
506 对应字符:AT+CMGS=027
507 41 54 2B 43 4D 47 53 3D 30 32 37 0D 0D 0A 3E 20
508 */
509
510 /*
511 发送
512 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
513 接收:
514 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
515 0D 0A 2B 43 4D 47 53 3A 20 39 0D 0A 0D 0A 4F 4B 0D 0A
516 对应字符:
517 AT+CMGS=027
518 > 0011000D91683118003138f60008010C62115DF27ECF52308FBE3002
519 +CMGS: 10
520 OK
521 */
522
523 uchar code GSMhead[12]="0011000D9168";
524 uchar code Center_number[12]="3118003238f6";
525 uchar code GSM_set[6]="000801";
526 uchar code GSM_sms[26]="0C62115DF27ECF52308FBE3002"; //短消息内容:我已经到达。
527
528 uchar code Command_Cnmi[18] = "AT+CNMI=1,1,0,0,1\r";//"AT+CNMI=1,1,0,0,1\r"
529 uchar code Command_Cmgr[8]="AT+CMGR=";
530 uchar code Command_Cmgd[8]="AT+CMGD=";//删除一条保存在SIM卡内的短信息
531 uchar code Command_Csca[23]="AT+CSCA=+8613800731500\r";//设置短信息服务中心地址
532 //uchar code Command_Cmgf[8]="AT+CMGF=";//择短信息格式:0为PDU方式:1为文本方式
533 //uchar code SmsCoinBoxCode[15] ={"013818288474"};//短信平台号码设定
534 // uchar code SmsMangerCenterCode[15]={"13524392560"};//管理中心号码设定
535 // uchar xdata SmsCoinBoxCode[15] _at_ 300;//={"013818288474"};//短信平台号码设定
536 //uchar xdata SmsMangerCenterCode[15] _at_ 330;//={"13524392560"};//管理中心号码设定
537 //uchar xdata User_PassWord[4];//用户级别密码设定
538 uchar xdata Supervisor_PassWord[4]; //管理员级别密码设置
539 uchar xdata User_PassWord[4];// _at_ 360;//={0xd0,0xd0,0xd0,0xd0};//用户级别密码设定
540 // uchar code User_PassWord[4]={0xd0,0xd0,0xd0,0xd0};//用户级别密码设定
541 // uchar code Supervisor_PassWord[4]={0x01,0x02,0x03,0x04}; //管理员级别密码设置
542 uchar xdata MoneyFull[4];// _at_ 380;//纸币张数基准值设定
543 uchar xdata CMDBuf[20];// _at_ 390;//
544 //_at_ 415; // at_ 820; //存储通讯的手机号码长度
545 char Init_MangerCenterCodeValue=0;//管理中心号码设定数值
546 uchar nMangerCenterCodePosition=0;//
547 uchar nPasswordstatus=0;
548 bit bPassWordPermit=1;
C51 COMPILER V7.06 STCCOINBOX 11/10/2007 10:37:46 PAGE 10
549 bit bPassWordErro=0;
550 bit bUser_PassWordPermit=0;
551 bit bSupervisor_PassWordPermit=0;
552 //uchar xdata tel_buf[50];
553 void lcd(void);
554 void Key_Process(void);
555 void Totalcoinsum(void);
556 void Disp_Process(void);
557 void Beep(void);
558 void Movdisp (void);
559 void LcdSendData(uchar nAddress,uchar nData);
560 void RTCreadtime();
561 void RTCWritetime();
562 void PassWord_Process(void);
563 uchar start_GSM(void);
564 /******************与IIC通信相关子程序************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -