📄 cmdparse.i
字号:
#line 1 "CmdParse.c" /0 #line 1 "E:\WORKHOME\932-DDSF\0003\REG932.H" /0 sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr IEN0 = 0xA8; sfr IP0 = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99; sfr AUXR1 = 0xA2; sfr SADDR = 0xA9; sfr SADEN = 0xB9; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sfr BRGR0 = 0xBE; sfr BRGR1 = 0xBF; sfr BRGCON = 0xBD; sfr CCCRA = 0xEA; sfr CCCRB = 0xEB; sfr CCCRC = 0xEC; sfr CCCRD = 0xED; sfr CMP1 = 0xAC; sfr CMP2 = 0xAD; sfr DEECON = 0xF1; sfr DEEDAT = 0xF2; sfr DEEADR = 0xF3; sfr DIVM = 0x95; sfr I2ADR = 0xDB; sfr I2CON = 0xD8; sfr I2DAT = 0xDA; sfr I2SCLH = 0xDD; sfr I2SCLL = 0xDC; sfr I2STAT = 0xD9; sfr ICRAH = 0xAB; sfr ICRAL = 0xAA; sfr ICRBH = 0xAF; sfr ICRBL = 0xAE; sfr IEN1 = 0xE8; sfr IP1 = 0xF8; sfr IP1H = 0xF7; sfr KBCON = 0x94; sfr KBMASK = 0x86; sfr KBPATN = 0x93; sfr OCRAH = 0xEF; sfr OCRAL = 0xEE; sfr OCRBH = 0xFB; sfr OCRBL = 0xFA; sfr OCRCH = 0xFD; sfr OCRCL = 0xFC; sfr OCRDH = 0xFF; sfr OCRDL = 0xFE; sfr P0M1 = 0x84; sfr P0M2 = 0x85; sfr P1M1 = 0x91; sfr P1M2 = 0x92; sfr P2M1 = 0xA4; sfr P2M2 = 0xA5; sfr P3M1 = 0xB1; sfr P3M2 = 0xB2; sfr PCONA = 0xB5; sfr PT0AD = 0xF6; sfr RSTSRC = 0xDF; sfr RTCCON = 0xD1; sfr RTCH = 0xD2; sfr RTCL = 0xD3; sfr SSTAT = 0xBA; sfr SPCTL = 0xE2; sfr SPSTAT = 0xE1; sfr SPDAT = 0xE3; sfr TAMOD = 0x8F; sfr TCR20 = 0xC8; sfr TCR21 = 0xF9; sfr TICR2 = 0xC9; sfr TIFR2 = 0xE9; sfr TISE2 = 0xDE; sfr TOR2H = 0xCF; sfr TOR2L = 0xCE; sfr TPCR2H = 0xCB; sfr TPCR2L = 0xCA; sfr TRIM = 0x96; sfr WDCON = 0xA7; sfr WDL = 0xC1; sfr WFEED1 = 0xC2; sfr WFEED2 = 0xC3; sfr IP0H = 0xB7; sbit CY = PSW^7; sbit AC = PSW^6; sbit F0 = PSW^5; sbit RS1 = PSW^4; sbit RS0 = PSW^3; sbit OV = PSW^2; sbit F1 = PSW^1; sbit P = PSW^0; sbit TF1 = TCON^7; sbit TR1 = TCON^6; sbit TF0 = TCON^5; sbit TR0 = TCON^4; sbit IE1 = TCON^3; sbit IT1 = TCON^2; sbit IE0 = TCON^1; sbit IT0 = TCON^0; sbit EA = IEN0^7; sbit EWDRT = IEN0^6; sbit EBO = IEN0^5; sbit ES = IEN0^4; sbit ESR = IEN0^4; sbit ET1 = IEN0^3; sbit EX1 = IEN0^2; sbit ET0 = IEN0^1; sbit EX0 = IEN0^0; sbit EIEE = IEN1^7; sbit EST = IEN1^6; sbit ECCU = IEN1^4; sbit ESPI = IEN1^3; sbit EC = IEN1^2; sbit EKBI = IEN1^1; sbit EI2C = IEN1^0; sbit PWDRT = IP0^6; sbit PB0 = IP0^5; sbit PS = IP0^4; sbit PSR = IP0^4; sbit PT1 = IP0^3; sbit PX1 = IP0^2; sbit PT0 = IP0^1; sbit PX0 = IP0^0; sbit SM0 = SCON^7; sbit FE = SCON^7; sbit SM1 = SCON^6; sbit SM2 = SCON^5; sbit REN = SCON^4; sbit TB8 = SCON^3; sbit RB8 = SCON^2; sbit TI = SCON^1; sbit RI = SCON^0; sbit I2EN = I2CON^6; sbit STA = I2CON^5; sbit STO = I2CON^4; sbit SI = I2CON^3; sbit AA = I2CON^2; sbit CRSEL = I2CON^0; sbit HWT = P0^7; sbit LcdCs = P0^6; sbit LcdRd = P0^5; sbit LcdWr = P0^4; sbit LcdData = P0^3; sbit OpenLed = P0^2; sbit PulseDir = P0^1; sbit PulseIn = P0^0; sbit OPEN = P1^7; sbit KEY = P1^6; sbit RST = P1^5; sbit HWR = P1^4; sbit LowTest = P1^3; sbit PWM = P1^2; sbit RxD = P1^1; sbit TxD = P1^0; sbit IIcWP = P2^7; sbit PulseLed = P2^6; sbit GuLed = P2^5; sbit Program = P2^4; sbit FengLed = P2^3; sbit DIR = P2^2; sbit SDA = P2^1; sbit SCL = P2^0; sbit XTAL1= P3^1; sbit XTAL2= P3^0; sbit PLLEN = TCR20^7; sbit HLTRN = TCR20^6; sbit HLTEN = TCR20^5; sbit ALTCD = TCR20^4; sbit ALTAB = TCR20^3; sbit TDIR2 = TCR20^2; sbit TMOD21= TCR20^1; sbit TMOD20= TCR20^0; #line 11 "CmdParse.c" /0 #line 1 "E:\WORKHOME\932-DDSF\0003\DEFINE.H" /0 extern unsigned char data ComTimeA; extern unsigned char data ComTimeB; extern unsigned char data TemperatureTimeA; extern unsigned int data TemperatureTimeB; extern unsigned char idata PulseData; extern unsigned char idata LcdShowTime; extern unsigned char data IIcByteStar; extern unsigned char data MataSt; extern unsigned char idata IIcBuf[16]; extern unsigned char data LcdRunData; extern unsigned char data KeyTemp; extern unsigned char data LcdTime; extern unsigned char data LedTime; extern unsigned char data CkData; extern unsigned char data LcdShowBit[2]; extern unsigned char data ProgramState[3]; extern unsigned char data TimeBuf[3]; extern unsigned char data LcdShowBuf[8]; extern unsigned char idata AddUpPulseData[5]; extern unsigned char idata ReversePulseData[5]; extern unsigned char idata SumPulseData[5]; extern unsigned char idata FengPulseData[5]; extern unsigned char idata GuPulseData[5]; extern unsigned char idata PingPulseData[5]; extern unsigned char idata InceptDataBuf[32]; extern unsigned char idata SendDataBuf[32]; extern unsigned char data InfraredBufDptr; extern unsigned char data SeriesBufDptr; extern bit AddUpPulseDirFg; extern bit ReversePulseDirFg; extern bit PulseDirFg; extern bit LcdShowFg; extern bit CmdParseFg; extern bit TimeSpendFg; extern bit BataMoveFg; extern bit LedFg; extern bit AddUpLedfg; extern bit ReverseLedFg; extern bit DataProtectFg; extern bit TemperatureTimeFg; extern bit LowPowerFg; extern bit ComFg; extern bit ReverseFg; extern bit FengFg; extern bit PingFg; extern bit GuFg; extern void Delay(unsigned int count); extern unsigned char IicByteRead(unsigned char device,unsigned char address); extern void IicMuchByteRead(unsigned char Device,unsigned char Address,unsigned char DataLend); extern void IicByteWrite(unsigned char device,unsigned char address,unsigned char bytedata); extern void IicMuchByteWrite(unsigned char Device,unsigned char Address,unsigned char DataLend); extern unsigned char IicReceiveByte(void); extern bit IicSentByte(unsigned char bytedata); extern void IicStart(void); extern void IicStop(void); extern void IicWait(void); extern void SendAcknowledge(bit ack); extern void LcdStart(void); extern void LcdStop(void); extern void LcdSendId(unsigned char ID); extern void LcdSendAddress(unsigned char Address); extern void LcdSendByte(unsigned char Data); extern void LcdDisplayData(unsigned char DataOne,unsigned char DataTwo,unsigned char DataThree,unsigned char DataFour,unsigned char DataFive,unsigned char DataSix,unsigned char DataSeven); extern void LcdSendCommand(unsigned char Command); extern void SeriesSend(void); extern void DataFill(void); extern unsigned char HexToBcd(unsigned char Bytedata); extern unsigned char BcdToHex(unsigned char Bytedata); extern void DataSave(void); extern void DataPickup(void); extern void SeriesSentByte(unsigned char Byte); extern void InitCpu(void); extern void InitLcd(void); extern void InitRTC(void); extern void InitCmd(void); extern void Temperature(void); extern void TimeSpend(void); extern void CmdParse(void); extern void PulseParse(void); extern void KeyParse(void); extern void LcdParse(void); extern void DataProtect(void); extern void StakeOut(void); extern void PowerAddUp(void); extern void ToDay(unsigned char Day); extern void WDT(void); extern void LowPower(void); #line 12 "CmdParse.c" /0 #line 1 "E:\WORKHOME\932-DDSF\0003\STDIO.H" /0 typedef unsigned int size_t; #pragma SAVE #pragma REGPARMS extern char _getkey (void); extern char getchar (void); extern char ungetchar (char); extern char putchar (char); extern int printf (const char *, ...); extern int sprintf (char *, const char *, ...); extern int vprintf (const char *, char *); extern int vsprintf (char *, const char *, char *); extern char *gets (char *, int n); extern int scanf (const char *, ...); extern int sscanf (char *, const char *, ...); extern int puts (const char *); #pragma RESTORE#line 13 "CmdParse.c" /0 #line 1 "E:\WORKHOME\932-DDSF\0003\INTRINS.H" /0 extern void _nop_ (void); extern bit _testbit_ (bit); extern unsigned char _cror_ (unsigned char, unsigned char); extern unsigned int _iror_ (unsigned int, unsigned char); extern unsigned long _lror_ (unsigned long, unsigned char); extern unsigned char _crol_ (unsigned char, unsigned char); extern unsigned int _irol_ (unsigned int, unsigned char); extern unsigned long _lrol_ (unsigned long, unsigned char); extern unsigned char _chkfloat_(float);#line 14 "CmdParse.c" /0 void CmdPick(unsigned char Device,unsigned char PickupAdd,unsigned char DataLen,bit MoveBit) { unsigned char CheckSum,i,j; DataFill(); CheckSum=0x00; SendDataBuf[8]=0x81; SendDataBuf[9]=DataLen+2; if(MoveBit) { for(i=12;i<DataLen+12;i++) { j=PickupAdd; SendDataBuf[i]=IicByteRead(Device,j<<4); PickupAdd++; } } for(i=12;i<DataLen+12;i++) { SendDataBuf[i]=IicByteRead(Device,PickupAdd); PickupAdd++; } for(i=0;i<(SendDataBuf[9]+11);i++) { CheckSum=CheckSum+SendDataBuf[i]; } SendDataBuf[SendDataBuf[9]+10]=CheckSum; SendDataBuf[SendDataBuf[9]+11]=0x16; SeriesSend(); } void CmdSave(unsigned char Device,unsigned char PickupAdd,unsigned char SaveAdd,unsigned char DataLen,bit MoveBit) { unsigned char data i,j; if(MoveBit) { for(i=0;i<DataLen;i++) { j=SaveAdd; IicByteWrite(Device,j<<4,InceptDataBuf[PickupAdd+i]); SaveAdd++; } } for(i=0;i<DataLen;i++) { IicByteWrite(Device,SaveAdd,InceptDataBuf[PickupAdd+i]); SaveAdd++; } } void CmdParse(void) { unsigned char data CheckSum; unsigned char data i,j,k; unsigned char data IdRight; j=0x80; if(CmdParseFg==1) { if(InceptDataBuf[InceptDataBuf[9]+11]==0x16) { CheckSum=0; for(i=0;i<(InceptDataBuf[9]+10);i++) { CheckSum=CheckSum+InceptDataBuf[i]; } if(CheckSum==InceptDataBuf[InceptDataBuf[9]+10]) { for(i=0;i<6;i++) { k=IicByteRead(0xa0,j); if(InceptDataBuf[1+i]==k) { IdRight=0x55; } else { IdRight=0x00; break; } j++; } if(IdRight==0x55) { switch(InceptDataBuf[8]) { case 0x01 : switch(InceptDataBuf[11]) { case 0x90: switch(InceptDataBuf[10]) { case 0x1f: DataFill(); CheckSum=0x00; SendDataBuf[8]=0x81; SendDataBuf[9]=18; IicMuchByteRead(0xa0,0x00,0x04); for(i=12;i<16;i++) { SendDataBuf[i]=IIcBuf[i-12]; } IicMuchByteRead(0xa0,0x05,0x04); for(i=16;i<20;i++) { SendDataBuf[i]=IIcBuf[i-16]; } IicMuchByteRead(0xa0,0x10,0x04); for(i=20;i<24;i++) { SendDataBuf[i]=IIcBuf[i-20]; } IicMuchByteRead(0xa0,0x15,0x04); for(i=24;i<28;i++) { SendDataBuf[i]=IIcBuf[i-24]; } for(i=0;i<(SendDataBuf[9]+11);i++) { CheckSum=CheckSum+SendDataBuf[i]; } SendDataBuf[SendDataBuf[9]+10]=CheckSum; SendDataBuf[SendDataBuf[9]+11]=0x16; SeriesSend(); break; case 0x20: CmdPick(0xa0,0x60,0x04,0); break; default: break; } break; case 0xb0: switch(InceptDataBuf[10]) { case 0x20: CmdPick(0xa0,0x70,0x04,0); break; case 0x21: CmdPick(0xa0,0x65,0x03,0); break; } break; case 0xb2: switch(InceptDataBuf[10]) { case 0x10: CmdPick(0xa0,0x75,0x04,0); break; case 0x12: CmdPick(0xa0,0xd9,0x02,0); break; default: break; } break; case 0xc0: switch(InceptDataBuf[10]) { case 0x10: SendDataBuf[12]=IicByteRead(0x64,0x00) & 0x7f; SendDataBuf[13]=IicByteRead(0x64,0x10) & 0x7f; SendDataBuf[14]=IicByteRead(0x64,0x20) & 0x3f; CmdPick(0xa0,0x60,0x04,1); break; case 0x11: SendDataBuf[12]=IicByteRead(0x64,0x30) & 0x07; SendDataBuf[13]=IicByteRead(0x64,0x40) & 0x3f; SendDataBuf[14]=IicByteRead(0x64,0x50) & 0x1f; SendDataBuf[15]=IicByteRead(0x64,0x60); CmdPick(0xa0,0x60,0x03,1); break; case 0x20: CmdPick(0xa0,0xc9,0x01,0); break; case 0x30: CmdPick(0xa0,0xe9,0x03,0); break; case 0x32: CmdPick(0xa0,0x90,0x06,0); break; case 0x33: CmdPick(0xa0,0x80,0x06,0); break; default: break; } break; case 0xc1: switch(InceptDataBuf[10]) { case 0x17: CmdPick(0xa0,0xa8,0x02,0); break; } break; case 0xD1: for(i=0x20;i<0x2c;i++) { if(InceptDataBuf[10]==i) { ToDay(InceptDataBuf[10]-19); } } } break; case 0x04: switch(InceptDataBuf[10]) { case 0x10: CmdSave(0x64,15,0x03,4,1); break; case 0x11: CmdSave(0x64,15,0x00,4,1); break; case 0x15: CmdSave(0xa0,15,0xb8,3,0); break; case 0x17: CmdSave(0xa0,15,0xa8,2,0); break; case 0x19: CmdSave(0xa0,15,0x00,4,0); CmdSave(0xa0,15,0x05,4,0); CmdSave(0xa0,15,0x10,4,0); CmdSave(0xa0,15,0x15,4,0); CmdSave(0xa0,15,0x60,4,0); break; case 0x3f: CmdSave(0xa0,15,0xa1,3,0); break; default: break; } break; case 0x08: CmdSave(0x64,15,0x00,3,1); CmdSave(0x64,15,0x04,3,1); break; case 0x0a: CmdSave(0xa0,15,0x80,6,0); break; case 0x0f: CmdSave(0xa0,15,0x86,4,0); break; } } else { IdRight=0; } } else { CmdParseFg=0; } } else { CmdParseFg=0; } } else { CmdParseFg=0; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -