?? xspmain.src
字號(hào):
; SOURCE LINE # 457
CLR UartEnd
; HelloOk=0;
; SOURCE LINE # 458
CLR HelloOk
; BaoZhaBit=0;
; SOURCE LINE # 459
CLR BaoZhaBit
; GuanMenBit=1;
; SOURCE LINE # 460
SETB GuanMenBit
; UsartRecv_rp=0;
; SOURCE LINE # 461
MOV UsartRecv_rp,A
MOV UsartRecv_rp+01H,A
; UartStep++;
; SOURCE LINE # 462
INC UartStep
; }
; SOURCE LINE # 463
LJMP ?C0054
?C0059:
; else if(!strcmp(UartCommand,"BZ")) {
; SOURCE LINE # 464
MOV R0,#LOW (UartCommand)
MOV R4,#HIGH (UartCommand)
MOV R5,#00H
MOV R3,#0FFH
MOV R2,#HIGH (?SC_6)
MOV R1,#LOW (?SC_6)
LCALL ?C?STRCMP
MOV A,R7
JNZ ?C0061
; UartEnd=0;
; SOURCE LINE # 465
CLR UartEnd
; HelloOk=0;
; SOURCE LINE # 466
CLR HelloOk
; BaoZhaBit=1;
; SOURCE LINE # 467
SETB BaoZhaBit
; UsartRecv_rp=0;
; SOURCE LINE # 468
MOV UsartRecv_rp,A
MOV UsartRecv_rp+01H,A
; UartStep++;
; SOURCE LINE # 469
INC UartStep
; }
; SOURCE LINE # 470
LJMP ?C0054
?C0061:
; else if(!strcmp(UartCommand,"GM")) {
; SOURCE LINE # 471
MOV R0,#LOW (UartCommand)
MOV R4,#HIGH (UartCommand)
MOV R5,#00H
MOV R3,#0FFH
MOV R2,#HIGH (?SC_9)
MOV R1,#LOW (?SC_9)
LCALL ?C?STRCMP
MOV A,R7
JNZ ?C0063
; UartEnd=0;
; SOURCE LINE # 472
CLR UartEnd
; HelloOk=0;
; SOURCE LINE # 473
CLR HelloOk
; GuanMenBit=0;
; SOURCE LINE # 474
CLR GuanMenBit
; UsartRecv_rp=0;
; SOURCE LINE # 475
MOV UsartRecv_rp,A
MOV UsartRecv_rp+01H,A
; UartStep++;
; SOURCE LINE # 476
INC UartStep
; }
; SOURCE LINE # 477
LJMP ?C0054
?C0063:
; else if(!strcmp(UartCommand,"RT")) {
; SOURCE LINE # 478
MOV R0,#LOW (UartCommand)
MOV R4,#HIGH (UartCommand)
MOV R5,#00H
MOV R3,#0FFH
MOV R2,#HIGH (?SC_12)
MOV R1,#LOW (?SC_12)
LCALL ?C?STRCMP
MOV A,R7
JNZ ?C0065
; ResetBit=1;
; SOURCE LINE # 479
SETB ResetBit
; HelloOk=0;
; SOURCE LINE # 480
CLR HelloOk
; BaoZhaBit=0;
; SOURCE LINE # 481
CLR BaoZhaBit
; GuanMenBit=0;
; SOURCE LINE # 482
CLR GuanMenBit
; UartStep=0;
; SOURCE LINE # 483
MOV UartStep,A
; UartEnd=1;
; SOURCE LINE # 484
SETB UartEnd
; UartStart=0;
; SOURCE LINE # 485
CLR UartStart
; }
; SOURCE LINE # 486
SJMP ?C0054
?C0065:
; else{
; SOURCE LINE # 487
; UartStep=0;
; SOURCE LINE # 488
MOV UartStep,#00H
; }
; SOURCE LINE # 489
; break;
; SOURCE LINE # 490
SJMP ?C0054
; case 2:
; SOURCE LINE # 491
?C0067:
; if(BaoZhaBit){
; SOURCE LINE # 492
JNB BaoZhaBit,?C0068
; UsartRecvBzFifo[UsartRecv_rp++] = SBUF;
; SOURCE LINE # 493
INC UsartRecv_rp+01H
MOV A,UsartRecv_rp+01H
MOV R6,UsartRecv_rp
JNZ ?C0140
INC UsartRecv_rp
?C0140:
DEC A
ADD A,#LOW (UsartRecvBzFifo)
MOV DPL,A
MOV A,#HIGH (UsartRecvBzFifo)
ADDC A,R6
MOV DPH,A
MOV A,SBUF
MOVX @DPTR,A
; if (SBUF=='\0'){
; SOURCE LINE # 494
MOV A,SBUF
JNZ ?C0070
; // UsartRecvBzFifo[UsartRecv_rp-1] = 0xa1;
; // UsartRecvBzFifo[UsartRecv_rp++] = 0xa1;
; // UsartRecvBzFifo[UsartRecv_rp++] = 0x00;
; UartEnd=1;
; SOURCE LINE # 498
SETB UartEnd
; UartStep=0;
; SOURCE LINE # 499
MOV UartStep,A
; UartStart=0;
; SOURCE LINE # 500
CLR UartStart
; }
; SOURCE LINE # 501
; }
; SOURCE LINE # 502
SJMP ?C0070
?C0068:
; else{
; SOURCE LINE # 503
;
; UsartRecvFifo[UsartRecv_rp++] = SBUF;
; SOURCE LINE # 505
INC UsartRecv_rp+01H
MOV A,UsartRecv_rp+01H
MOV R6,UsartRecv_rp
JNZ ?C0141
INC UsartRecv_rp
?C0141:
DEC A
ADD A,#LOW (UsartRecvFifo)
MOV DPL,A
MOV A,#HIGH (UsartRecvFifo)
ADDC A,R6
MOV DPH,A
MOV A,SBUF
MOVX @DPTR,A
; if (SBUF=='\0'){
; SOURCE LINE # 506
MOV A,SBUF
JNZ ?C0070
; // UsartRecvFifo[UsartRecv_rp-1] = 0xa1;
; // UsartRecvFifo[UsartRecv_rp++] = 0xa1;
; // UsartRecvFifo[UsartRecv_rp++] = 0x00;
; UartEnd=1;
; SOURCE LINE # 510
SETB UartEnd
; UartStep=0;
; SOURCE LINE # 511
MOV UartStep,A
; UartStart=0;
; SOURCE LINE # 512
CLR UartStart
; }
; SOURCE LINE # 513
; }
; SOURCE LINE # 514
?C0070:
;
; if (SBUF < 0x80) UartStep=0;
; SOURCE LINE # 516
MOV A,SBUF
CLR C
SUBB A,#080H
JNC ?C0072
MOV UartStep,#00H
?C0072:
; if (UsartRecv_rp >= USART_RECV_FIFO_SIZE) UsartRecv_rp = 0;
; SOURCE LINE # 517
CLR C
MOV A,UsartRecv_rp+01H
SUBB A,#0F4H
MOV A,UsartRecv_rp
SUBB A,#01H
JC ?C0054
MOV UsartRecv_rp,#00H
MOV UsartRecv_rp+01H,#00H
; break;
; SOURCE LINE # 518
; }
; SOURCE LINE # 519
?C0054:
; RI=0;
; SOURCE LINE # 520
CLR RI
; pCE=pCEtemp; //片選保護(hù)
; SOURCE LINE # 521
MOV C,pCEtemp?758
MOV pCE,C
; }
; SOURCE LINE # 522
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
; END OF UartInt
;
; /**************************************************************/
; void ClrPing(unsigned char *p){
RSEG ?PR?_ClrPing?XSPMAIN
_ClrPing:
USING 0
; SOURCE LINE # 525
MOV DPTR,#p?859
MOV A,R3
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
; data unsigned int i;
; for (i = 0; i < HANGSHU*LIEBYTE; i++) p[i]=0;
; SOURCE LINE # 527
CLR A
MOV i?860,A
MOV i?860+01H,A
?C0075:
MOV DPTR,#p?859
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPL,i?860+01H
MOV DPH,i?860
CLR A
LCALL ?C?CSTOPTR
INC i?860+01H
MOV A,i?860+01H
JNZ ?C0142
INC i?860
?C0142:
XRL A,#020H
JNZ ?C0143
MOV A,i?860
XRL A,#01H
?C0143:
JNZ ?C0075
; }
; SOURCE LINE # 528
?C0078:
RET
; END OF _ClrPing
;
; /***************************************************************/
; /*****讀5045數(shù)據(jù)***********************************************/
;
;
; #define WREN 0x06
; #define WRDI 0x04
; #define RSDR 0x05
; #define WRSR 0x01
; #define READ 0x03 //5165--0x03 5045---0x0B
; #define WRITE 0x02 //5165--0x02 5045---0x0A
;
; #define X5045 1
; //#define X5165 1
;
; #define IICADDR 0x00
;
;
; /****************************************/
; void WDT_RESET(){
RSEG ?PR?WDT_RESET?XSPMAIN
WDT_RESET:
; SOURCE LINE # 548
; p5045CS=0;
; SOURCE LINE # 549
CLR p5045CS
; p5045CS=1;
; SOURCE LINE # 550
SETB p5045CS
; }
; SOURCE LINE # 551
RET
; END OF WDT_RESET
; /**********************************************/
; //x5045初始化
; void InitX5045(){
RSEG ?PR?InitX5045?XSPMAIN
InitX5045:
; SOURCE LINE # 554
; EA=0;
; SOURCE LINE # 555
CLR EA
; pOE=1;
; SOURCE LINE # 556
SETB pOE
; P3Bak=P3;
; SOURCE LINE # 557
MOV P3Bak,P3
; p5045CS= 1;
; SOURCE LINE # 558
SETB p5045CS
; p5045SCK= 0; //4腳
; SOURCE LINE # 559
CLR p5045SCK
; p5045SI= 1; //16腳
; SOURCE LINE # 560
SETB p5045SI
; p5045SO= 1;
; SOURCE LINE # 561
SETB p5045SO
; }
; SOURCE LINE # 562
RET
; END OF InitX5045
; /************************************************/
; /*----------------------------------------------*/
; #define CNT_ATTEMP 0x1
; /*----------------------------------------------*/
; /* Title : Wait until SCL high */
; /* Action : */
; /* Return : SUCCESS/ERROR */
; /*----------------------------------------------*/
;
; void IicWaitSclHigh()
RSEG ?PR?IicWaitSclHigh?XSPMAIN
IicWaitSclHigh:
; SOURCE LINE # 572
; {
; SOURCE LINE # 573
; data unsigned char AttempCount=0;
; SOURCE LINE # 574
CLR A
MOV AttempCount?1161,A
; p5045SCK=1;
; SOURCE LINE # 575
SETB p5045SCK
; for (AttempCount=0;AttempCount<CNT_ATTEMP;AttempCount++);
; SOURCE LINE # 576
MOV AttempCount?1161,A
?C0081:
INC AttempCount?1161
MOV A,AttempCount?1161
CJNE A,#01H,?C0081
; }
; SOURCE LINE # 577
?C0084:
RET
; END OF IicWaitSclHigh
;
; void IicSendByte(unsigned char ByteData)
RSEG ?PR?_IicSendByte?XSPMAIN
_IicSendByte:
USING 0
; SOURCE LINE # 579
;---- Variable 'ByteData?1262' assigned to Register 'R7' ----
; {
; SOURCE LINE # 580
; data unsigned char i;
; for (i=0;i<8;i++)
; SOURCE LINE # 582
CLR A
MOV i?1263,A
?C0085:
; {
; SOURCE LINE # 583
; p5045SI=ByteData>>7; // MSB send first
; SOURCE LINE # 584
MOV A,R7
SWAP A
RRC A
RRC A
RRC A
ANL A,#01H
ADD A,#0FFH
MOV p5045SI,C
; IicWaitSclHigh();
; SOURCE LINE # 585
LCALL IicWaitSclHigh
; p5045SCK=0;
; SOURCE LINE # 586
CLR p5045SCK
; ByteData<<=1;
; SOURCE LINE # 587
MOV A,R7
ADD A,ACC
MOV R7,A
; }
; SOURCE LINE # 588
INC i?1263
MOV A,i?1263
CLR C
SUBB A,#08H
JC ?C0085
;
; }
; SOURCE LINE # 590
?C0088:
RET
; END OF _IicSendByte
;
; unsigned char IicReadByte()
RSEG ?PR?IicReadByte?XSPMAIN
IicReadByte:
USING 0
; SOURCE LINE # 592
; {
; SOURCE LINE # 593
; data unsigned char i;
; data unsigned char j;
; data unsigned char ByteData=0;
; SOURCE LINE # 596
CLR A
MOV ByteData?1366,A
; for (i=0;i<8;i++) {
; SOURCE LINE # 597
MOV i?1364,A
?C0089:
; IicWaitSclHigh();
; SOURCE LINE # 598
LCALL IicWaitSclHigh
; ByteData<<=1;
; SOURCE LINE # 599
MOV A,ByteData?1366
ADD A,ACC
MOV ByteData?1366,A
; ByteData|=p5045SO; // MSB send first
; SOURCE LINE # 600
MOV C,p5045SO
CLR A
RLC A
ORL ByteData?1366,A
; p5045SCK=0;
; SOURCE LINE # 601
CLR p5045SCK
; for (j=0;j<10;j++);
; SOURCE LINE # 602
CLR A
MOV j?1365,A
?C0092:
INC j?1365
MOV A,j?1365
CJNE A,#0AH,?C0092
; }
; SOURCE LINE # 603
?C0091:
INC i?1364
MOV A,i?1364
CLR C
SUBB A,#08H
JC ?C0089
?C0090:
; return ByteData;
; SOURCE LINE # 604
MOV R7,ByteData?1366
; }
; SOURCE LINE # 605
?C0095:
RET
; END OF IicReadByte
;
; bit IicReadData(unsigned char *str)
RSEG ?PR?_IicReadData?XSPMAIN
_IicReadData:
USING 0
; SOURCE LINE # 607
MOV DPTR,#str?1467
MOV A,R3
MOVX @DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
; {
; SOURCE LINE # 608
; data unsigned int i=0;
; SOURCE LINE # 609
CLR A
MOV i?1468,A
MOV i?1468+01H,A
; data unsigned int j=0;
; SOURCE LINE # 610
MOV j?1469,A
MOV j?1469+01H,A
; data unsigned char ByteData;
; data unsigned char Temp[3]="";
; SOURCE LINE # 612
MOV R0,#LOW (Temp?1471)
MOV R4,#HIGH (Temp?1471)
MOV R5,A
MOV R3,#0FFH
MOV R2,#HIGH (_?ix1000)
MOV R1,#LOW (_?ix1000)
MOV R6,A
MOV R7,#03H
LCALL ?C?COPY
; data unsigned int AddrData=IICADDR;
; SOURCE LINE # 613
CLR A
MOV AddrData?1472,A
MOV AddrData?1472+01H,A
; InitX5045();
; SOURCE LINE # 614
LCALL InitX5045
; for (j=0;j<1000;j++);
; SOURCE LINE # 615
MOV j?1469,A
MOV j?1469+01H,A
?C0096:
INC j?1469+01H
MOV A,j?1469+01H
JNZ ?C0144
INC j?1469
?C0144:
XRL A,#0E8H
JNZ ?C0145
MOV A,j?1469
XRL A,#03H
?C0145:
JNZ ?C0096
?C0097:
; p5045CS=0;
; SOURCE LINE # 616
CLR p5045CS
; IicSendByte(READ);
; SOURCE LINE # 617
MOV R7,#03H
LCALL _IicSendByte
; IicSendByte(IICADDR);
; SOURCE LINE # 618
CLR A
MOV R7,A
LCALL _IicSendByte
; Temp[0] = IicReadByte();
; SOURCE LINE # 619
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -