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

📄 sysdef.inc

📁 一个功能完善的大型制冷设备控制程序
💻 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 + -