📄 sysdef.inc
字号:
;#################################################################
; FILE NAME: SYSDEF.INC - DEFINE THE SYSTEM CONSTANT
; NAME: SYSDEF.INC
; CALL FUNCTION: NONE
; COMMON DATA USED: NONE
; CHANGE REGISTER: NONE
; RETURN: NONE
;------------------------------------------------------------
;## I/O PORT HARDWARE DEFINIATION
pPORT1 DATA P1
pPORT2 DATA P2
pPORT3 DATA P3
pPORT4 DATA 0C0H ;Port 4
pPORT5 DATA 0C4H ;Port 5
aNULL EQU 04000H ;
aLCD EQU 0C100H ; THE LCD READ & WRITE BYTE DATA
aPSD1 EQU 0A802H ; PSD 1 FRIST I/O PORT ADDRESS
aPSD2 EQU 0B002H ; PSD 2 FRIST I/O PORT ADDRESS
uEXTINT0 EQU 08000H ; FOR EXTERN INTERRUPT 0
uEXTINT1 EQU 08004H ; FOR EXTERN INTERRUPT 1
uTIMER EQU 08008H ; FOR SYSTEM TIMER 1
;## TIME & INTERRUPTER CONTROL REGISTERS
rTMODE EQU 089H ; (TMOD) TIMER MODE SET REGISTER
rT0_H EQU 08CH ; TIMER 0 RIGH BYTE
rT0_L EQU 08AH ; TIMER 0 LOW BYTE
rT1_H EQU 08DH ; TIMER 1 RIGH BYTE
rT1_L EQU 08BH ; TIMER 1 LOW BYTE
rT2_H EQU 0EDH ; (TMH2) TIMER 2 RIGH BYTE
rT2_L EQU 0ECH ; (TML2) TIMER 2 LOW BYTE
rGETCON EQU 0EBH ; (CTCON) T2 GET CONTROL REGISTER
rT2_CON EQU 0EAH ; (TM2CON) T2 TIMER CONTROL REGISTER
rINTPRI0 EQU 0B8H ; INTERRUPT PRIORITY SET REGISTER 0
rINTPRI1 EQU 0F8H ; (IP1) INTERRUPT PRIORITY SET REGISTER 1
rINTEN0 EQU 0A8H ; INTERRUPT ALLOW SET REGISTER 0
rINTEN1 EQU 0E8H ; (IEN1) INTERRUPT ALLOW SET REGISTER 1
rBITSETE EQU 0EEH ; (STE) P4(FOR T2 COMPARATIVE) BIT SET ENABLE REGISTER
rBITRSTE EQU 0EFH ; (RTE) P4(FOR T2 COMPARATIVE) BIT RESET ENABLE REGISTER
rT2INTF EQU 0C8H ; (TM2IR) T2 INTERRUPT MARK REGISTER
rGET0_H EQU 0CCH ; T2 GET 0 HIGH BYTE
rGET1_H EQU 0CDH ; T2 GET 1 HIGH BYTE
rGET2_H EQU 0CEH ; T2 GET 2 HIGH BYTE
rGET3_H EQU 0CFH ; T2 GET 3 HIGH BYTE
rGET0_L EQU 0ACH ; T2 GET 0 LOW BYTE
rGET1_L EQU 0ADH ; T2 GET 1 LOW BYTE
rGET2_L EQU 0AEH ; T2 GET 2 LOW BYTE
rGET3_L EQU 0AFH ; T2 GET 3 LOW BYTE
;## FOR SPAICAL REGISTERS FOR RSBUS, I2C BUS & A/D CONVT.
rPWCON EQU 087H ; POWER CONTROL REGISTER
rRSCON EQU 098H ; RS SERIAL COMMOUNTION CONTROL REGISTER
rI2CADDR EQU 0DBH
rI2CDATA EQU 0DAH
rI2CSTAT EQU 0D9H
rI2CCTRL EQU 0D8H
rADCTRL EQU 0C5H
rADHDATA EQU 0C6H
rPWM0 EQU 0FCH ; (PWM0)
rPWM1 EQU 0FDH ; (PWM1)
rFPWM EQU 0FEH ; (PWMP)
;##- INTERRUPT ENABLE REGISTER - rINTEN0(A8H) BITS DEFINE
B_EX0INT BIT 0A8H ; (EX0) ENABLE EXTERN 0 INTERRUPT
B_ET0INT BIT 0A9H ; (ET0) ENABLE TIMER 0 INTERRUPT
B_EX1INT BIT 0AAH ; (EX1) ENABLE EXTERN 1 INTERRUPT
B_ET1INT BIT 0ABH ; (ET1) ENABLE TIMER 1 INTERRUPT
B_ERSINT BIT 0ACH ; (ES0) ENABLE RS COMMUNICATION INTERRUPTER BIT
B_EI2CINT BIT 0ADH ; (ES1) ENABLE I2C INTERRUPTER BIT
B_EADINT BIT 0AEH ; (EAD) ENABLE A/D CONVERT INTERRUPTER BIT
B_EN_INT BIT 0AFH ; (EA) ENABLE ALL INTERRUPTER BIT
; TIMERS CONTROL REGISTER - TCON(88) BITS DEFINE
B_ETIMR0 BIT 08CH ; (TR0) ENABLE TIMER 0 RUN
B_ETIMR1 BIT 08EH ; (TR1) ENABLE TIMER 1 RUN
;## CONTROL BITS IN I2C BUS COMMUNATION
B_I2CSTP BIT 0DCH ; (STO) THE I2C BUS STOP WORK FLAG BIT
B_I2CSTA BIT 0DDH ; (STA) THE I2C BUS START WORKING FLAG BIT
; CONTROL BITS IN A/D CHANGE
BA_ADES = ACC.5 ;FOR (ADEX) ENABLE EXTENAL START AD MARK
BA_ADCI = ACC.4 ;FOR (ADCI) AD INTERRUPT MARK
BA_ADCS = ACC.3 ;FOR (ADCS) AD START AND STAD MARK
BA_T2BOVR = ACC.4 ;FOR (T2BO) T2 BYTE OVER INTERRUPT MARK
; COMM STATUS REGISTER SCON - rTSCON(98H) Bits DEFINE used in comm.asm
B_ADDONLY = SM2 ; Use in COMM, For receiver address only
B_ADDSEND = TB8 ; Use in COMM, For data/address flag
B_DATA9 = RB8 ; Use in COMM, For MSB bit in received data
B_ITRAN = TI ; COMM TRANSMIT INT FLAG
B_IRECV = RI ; COMM RECEIVE INT FLAG
B_ENRECV = REN ; Use in COMM, For RECEIVE ENABLE
BA_BLKSEND = ACC.7 ; FOR BLOCK DATA SEND FLAG IN FUNCTION CODE
BA_DATARTN = ACC.6 ; FOR DATA RETURN FLAG IN FUNCTION CODE
BA_ERRCOM = ACC.5 ; FOR SEND "ERROR ECHO" DATA TO MASTER
B_HALFAD = pPORT1.4 ; ---FOR A/D EXTERN
B_CTLLCK = pPORT1.5 ; SYSTEM DRIVE LOCK BIT (12V POWER ON/OFF ...)
B_TURNON = pPORT3.2 ; FOR SYSTEM TURN ON LAMP (INT0)
;--B_INT0 = pPORT3.2 ; FOR USER INTERRUPT 0
B_LCDCTL = pPORT3.3 ; FOR LCD LIGHT CONTROL (INT1)
;--B_INT1 = pPORT3.3 ; FOR USER INTERRUPT 1
B_PIC_ON = pPORT3.4 ; FOR PIC CPU DATA READY (T0)
B_LCDADJ = pPORT3.5 ; FOR LCD LIGHT ADJ (T1)
;--B_TIME = pPORT3.5 ; FOR USER TIME COUNTER (T1)
B_RS232 = pPORT4.0 ; SWITCH FOR RS232 or RS485
B_RS_RW = pPORT4.1 ; SWITCH FOR READ or WRITE
B_DEPSD = pPORT4.2 ; DISABLE PSD WORKING
B_OUT_IN = pPORT4.3 ; ---SWITCH FOR "OUT" IN or "IN" IN
B_DADIN = pPORT4.4 ; D/A DATA
B_DACLK = pPORT4.5 ; D/A CLOCK
B_DALDA = pPORT4.6 ; D/A OUTPUT ENABLE
B_DALDD = pPORT4.7 ; D/A LOAD ENABLE
B_CF = PSW.7 ; THE CARRY FLAG BIT, Use in BYT2DIV
bCOMMLCK = 00H ; USE IN COMM FOR LOCK MEASURE
bINCONVT = 01H ; START THE A/D CONVENT
bISCONVT = 02H ; THE A/D CONVENT IS OVER
bSIMULATE = 03H ;(EVT,SYS,SVR,PAG)FOR SIMULATE RUN THE USER PROGRAM
bT2OVERF = 04H ; THE T2 OVER FLAG
;***RS485
;IV_CMD EQU 55H
;ADDR433 EQU 04H
;CMD433 EQU 34H
;CMD4331 EQU 43H
;THREESUM EQU 8DH
;THREESUM1 EQU 9CH
;IV_CMD1 EQU 0AAH
dEXTPART EQU 57H ; THE BACKUP OF EXT. RAM SEGMENT
pEVENTBUFf EQU 58H
pEVENTBUFe EQU 59H
; COMMUNICATION DATA DEFINE
dCOMMODE EQU 5AH ; SEND-RECEIVER MODE
dSTATION EQU 5BH ; THE RAM FOR SAVE I2C SLAVE ADDRESS+W/R
; FOR I2C COMMUNICTION BUFFER
dI2CTBUF EQU 5CH ; 5CH, 5DH, 5EH, 5FH, 60H 5 BYTES
; FOR TIME2 COMPARE DATA SAVE
dT2GETL EQU 61H ; NO ACTIVE UP 8 F/D CHANNEL
dT2GETH EQU 62H ; NO ACTIVE UP 8 F/D CHANNEL
STACKSTART EQU 60H ; -- 62H
;## THE A/D D/A DATA MAP IN RAM OF CHIP
cADSEG EQU 01H ; THE A/D D/A TATA SEGMENT
;cIVSEG EQU 01H
xAD_SET EQU 0100H ; 48 * 3 = 144 (190H)
xAD_BUF EQU 0190H ; 24 * 3 (1D8H)
;xIV_BUF EQU 01B7H ; 1D9H 11 * 3 ***
cSCDRAM EQU 8H ; THE SEGMENT FOR 800H, NO SAVED OF DATA AFTER POWER OFF
;$xDISPBUF EQU 00H ; 80 BYTES
xINPUTBUF EQU 050H
cEVENTBUFf EQU 60H ;-
cEVENTBUFe EQU 6FH ;-
xEVTMSGp EQU 70H ;-
;$xPASSWORD EQU 0880H ; 8 bytes FOR PASSWORD CHECK
;$xDOTBLK EQU 88H ; 40 BYTES for word dot map
;$xGRA_DIS_RATE EQU 0B0H ;*B0H,B1H,B2H
xLCDRIGHT EQU 08BFH ;-
xCOMMBUF EQU 900H ;- 0900H - 9FFH, for communation buffer 64h
;x485SENDBUF EQU 09FCH ;- 09FCH - 09FFH
;x485SENDBUF1 EQU 09F8H ;- 09F8H - 09FBH
;X485REVBUF EQU 09AFH ;- 09AFH - 09F7H
;X485REVBUF1 EQU 09A2H ;- 09A2H - 09AEH
; ------- END OF DATA DEFINE FOR HARD SUPPORT --------
cSELRG0 EQU 000H ; SET PSW FOR SELECT FRIST REG. GROUP - FOR NORMAL
cSELRG1 EQU 008H ; SET THE PSW FOR SELECT SECOND REG. GROUP - FOR TIME, I2C
cSELRG2 EQU 010H ; SET THE PSW FOR SELECT THIRD REG. GROUP - COMM
;cSELRG3 EQU 018H ; SET THE PSW FOR SELECT FORTH REG. GROUP
;## SYSTEM TIME DELAY CHECK DATA DEFINE
cTIM_START_ADDR EQU 038H ; START ADDRESS FOR SYSTEM TIME CHECK USE (=tCHKDELAY)
cTIM_TICK_NUM EQU 6
cTIM_SECOND_NUM EQU 6
cTIM_MINUTE_NUM EQU 3
;## I2C HIGH BYTE OF INTER ADDRESS
cI2C_ADDR_H EQU 1
cI2C_RESET EQU 0C4H ; RESET MASTER IN I2C BUS TO WORKING MODE
cI2C_STOP EQU 0D4H ; RESET MASTER IN I2C BUS TO STOP MODE
cI2C_RESTA EQU 0E4H ; RESET MASTER IN I2C BUS TO RESTART MODE
cI2C_NOACK EQU 0C0H ; RESET MASTER IN I2C BUS TO NO "ACK" MODE
;## COMMUNCTION CONSTANT DATA DEFINE
cCOMMODE1 EQU 1
cCOMMODE2 EQU 2
cCOMMODE3 EQU 3
cCOMMODE4 EQU 4
cCOMMODE5 EQU 5
cCOMMODE6 EQU 6
cCOMMODE7 EQU 7
cCOMMODE8 EQU 8
cCOMMODE9 EQU 9
cCOMMODE10 EQU 10
cCOMMODE11 EQU 11H
cCOMMODE12 EQU 12H
cCOMMODE13 EQU 13H
cCOMMODE14 EQU 14H
cCOMMODE15 EQU 15H
cCOMMODE16 EQU 16H
cCOMMODE17 EQU 17H
cCOMMODE18 EQU 18H
cCOMMODE19 EQU 19H
cCOMMODE20 EQU 20H
cCOM_TURNSYS EQU 3H
cCOM_AUT_LOC EQU 4H
cCOM_SETEVT EQU 5H
cCOM_BITSET EQU 10H
cCOM_BYTESET EQU 11H
cCOM_WORDSET EQU 12H
cCOM_TWORDSET EQU 13H
cCOM_FLOATSET EQU 18H
cCOM_RETURN EQU 20H
cCOM_RESET EQU 21H
cCOM_BITRST EQU 30H
cCOM_BYTERST EQU 31H
cCOM_WORDRST EQU 32H
cCOM_TWORDRST EQU 33H
cCOM_FLOATRST EQU 38H
cCOM_RETDATA EQU 40H ; It's for return block data pointer by main cpu
cCOM_STAT1RST EQU 41H
cCOM_STAT2RST EQU 42H
cCOM_FLOATSRST EQU 51H
cCOM_FLTSTSRST EQU 52H
cCOM_MARKSETRST EQU 53H
cCOM_BLOCK EQU 7FH
cCOM_RETBLOCK EQU 080H
cCOM_STAT1SND EQU 081H ;
cCOM_STAT2SND EQU 082H ;
cCOM_SETFLTSTS EQU 091H
cCOM_SETFLOATS EQU 092H
cCOM_SETMARKS EQU 093H
cCOM_FLDSTR EQU 0A1H
cCOM_DOTBLK EQU 0A2H
cCOM_INTINIT EQU 0A3H
cOKECHO EQU 3FH ; THE OK ECHO IN COMMUNITION
cERRECHO EQU 07FH ; THE ERROR ECHO IN COMMUNTION
cCOMDATARTN EQU 40H ; THE FLAG FOR DATA RETURN COMMAND
cCOMSNDBLK EQU 80H ; THE FLAG FOR BLOCK DATA SEND COMMAND
cCOMSYNC EQU 0DAH ; THE SYNC CODE FOR EVERY SEND
cCOMRESET EQU 0D5H ; THE COMMUNCTION RESET command
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -