📄 80c196nu.inc
字号:
SP_BAUD_7D EQU 0FCH:WORD
SP_CON_7D EQU 0FBH:BYTE
SP_STATUS_7D EQU 0F9H:BYTE
SBUF_TX_7D EQU 0FAH:BYTE
SBUF_RX_7D EQU 0F8H:BYTE
PWM0_CON_7D EQU 0F0H:BYTE
PWM1_CON_7D EQU 0F2H:BYTE
PWM2_CON_7D EQU 0F4H:BYTE
CON_REG0_7D EQU 0F6H:BYTE
EPA_MASK_7C EQU 0FCH:BYTE
EPA_STAT_7C EQU 0FEH:BYTE
EPA3_TIME_7C EQU 0EEH:WORD
EPA3_CON_7C EQU 0ECH:WORD
EPA2_TIME_7C EQU 0EAH:WORD
EPA2_CON_7C EQU 0E8H:WORD
EPA1_TIME_7C EQU 0E6H:WORD
EPA1_CON_7C EQU 0E4H:WORD
EPA0_TIME_7C EQU 0E2H:WORD
EPA0_CON_7C EQU 0E0H:BYTE
ADDRCOM0_7A EQU 0E0H:WORD
ADDRMSK0_7A EQU 0E2H:WORD
BUSCON0_7A EQU 0E4H:BYTE
ADDRCOM1_7A EQU 0E8H:WORD
ADDRMSK1_7A EQU 0EAH:WORD
BUSCON1_7A EQU 0ECH:BYTE
ADDRCOM2_7A EQU 0F0H:WORD
ADDRMSK2_7A EQU 0F2H:WORD
BUSCON2_7A EQU 0F4H:BYTE
ADDRCOM3_7A EQU 0F8H:WORD
ADDRMSK3_7A EQU 0FAH:WORD
BUSCON3_7A EQU 0FCH:BYTE
ADDRCOM4_7B EQU 0E0H:WORD
ADDRMSK4_7B EQU 0E2H:WORD
BUSCON4_7B EQU 0E4H:BYTE
ADDRCOM5_7B EQU 0E8H:WORD
ADDRMSK5_7B EQU 0EAH:WORD
BUSCON5_7B EQU 0ECH:BYTE
;*****************************************************************************
;
; 64-BYTE Window SFR's using WSR1
;
;*****************************************************************************
P1_PIN_WSR1_3F EQU 56H:BYTE
P1_REG_WSR1_3F EQU 54H:BYTE
P1_DIR_WSR1_3F EQU 52H:BYTE
P1_MODE_WSR1_3F EQU 50H:BYTE
P2_PIN_WSR1_3F EQU 57H:BYTE
P2_REG_WSR1_3F EQU 55H:BYTE
P2_DIR_WSR1_3F EQU 53H:BYTE
P2_MODE_WSR1_3F EQU 51H:BYTE
P3_PIN_WSR1_3F EQU 5EH:BYTE
P3_REG_WSR1_3F EQU 5CH:BYTE
P3_DIR_WSR1_3F EQU 5AH:BYTE
P3_MODE_WSR1_3F EQU 58H:BYTE
P4_PIN_WSR1_3F EQU 5FH:BYTE
P4_REG_WSR1_3F EQU 5DH:BYTE
P4_DIR_WSR1_3F EQU 5BH:BYTE
P4_MODE_WSR1_3F EQU 59H:BYTE
TIMER1_WSR1_3E EQU 52H:WORD
TIMER2_WSR1_3E EQU 56H:WORD
T1CONTROL_WSR1_3E EQU 50H:BYTE
T2CONTROL_WSR1_3E EQU 54H:BYTE
SP_BD_COUNT_WSR1_3E EQU 7EH:WORD
SP_BAUD_WSR1_3E EQU 7CH:WORD
SP_CON_WSR1_3E EQU 7BH:BYTE
SP_STATUS_WSR1_3E EQU 79H:BYTE
SBUF_TX_WSR1_3E EQU 7AH:BYTE
SBUF_RX_WSR1_3E EQU 78H:BYTE
PWM0_CON_WSR1_3E EQU 70H:BYTE
PWM1_CON_WSR1_3E EQU 72H:BYTE
PWM2_CON_WSR1_3E EQU 74H:BYTE
CON_REG0_WSR1_3E EQU 76H:BYTE
EPA_MASK_WSR1_3E EQU 5CH:BYTE
EPA_STAT_WSR1_3E EQU 5EH:BYTE
EPA3_TIME_WSR1_3E EQU 4EH:WORD
EPA3_CON_WSR1_3E EQU 4CH:WORD
EPA2_TIME_WSR1_3E EQU 4AH:WORD
EPA2_CON_WSR1_3E EQU 48H:BYTE
EPA1_TIME_WSR1_3E EQU 46H:WORD
EPA1_CON_WSR1_3E EQU 44H:WORD
EPA0_TIME_WSR1_3E EQU 42H:WORD
EPA0_CON_WSR1_3E EQU 40H:BYTE
ADDRCOM0_WSR1_3D EQU 40H:WORD
ADDRMSK0_WSR1_3D EQU 42H:WORD
BUSCON0_WSR1_3D EQU 44H:BYTE
ADDRCOM1_WSR1_3D EQU 48H:WORD
ADDRMSK1_WSR1_3D EQU 4AH:WORD
BUSCON1_WSR1_3D EQU 4CH:BYTE
ADDRCOM2_WSR1_3D EQU 50H:WORD
ADDRMSK2_WSR1_3D EQU 52H:WORD
BUSCON2_WSR1_3D EQU 54H:BYTE
ADDRCOM3_WSR1_3D EQU 58H:WORD
ADDRMSK3_WSR1_3D EQU 5AH:WORD
BUSCON3_WSR1_3D EQU 5CH:BYTE
ADDRCOM4_WSR1_3D EQU 60H:WORD
ADDRMSK4_WSR1_3D EQU 62H:WORD
BUSCON4_WSR1_3D EQU 64H:BYTE
ADDRCOM5_WSR1_3D EQU 68H:WORD
ADDRMSK5_WSR1_3D EQU 6AH:WORD
BUSCON5_WSR1_3D EQU 6CH:BYTE
;*****************************************************************************
;
; 32-BYTE Window SFR's using WSR1
;
;*****************************************************************************
P1_PIN_WSR1_7E EQU 76H:BYTE
P1_REG_WSR1_7E EQU 74H:BYTE
P1_DIR_WSR1_7E EQU 72H:BYTE
P1_MODE_WSR1_7E EQU 70H:BYTE
P2_PIN_WSR1_7E EQU 77H:BYTE
P2_REG_WSR1_7E EQU 75H:BYTE
P2_DIR_WSR1_7E EQU 73H:BYTE
P2_MODE_WSR1_7E EQU 71H:BYTE
P3_PIN_WSR1_7E EQU 7EH:BYTE
P3_REG_WSR1_7E EQU 7CH:BYTE
P3_DIR_WSR1_7E EQU 7AH:BYTE
P3_MODE_WSR1_7E EQU 78H:BYTE
P4_PIN_WSR1_7E EQU 7FH:BYTE
P4_REG_WSR1_7E EQU 7DH:BYTE
P4_DIR_WSR1_7E EQU 7BH:BYTE
P4_MODE_WSR1_7E EQU 79H:BYTE
TIMER1_WSR1_7C EQU 72H:WORD
TIMER2_WSR1_7C EQU 76H:WORD
T1CONTROL_WSR1_7C EQU 70H:BYTE
T2CONTROL_WSR1_7C EQU 74H:BYTE
SP_BD_COUNT_WSR1_7D EQU 7EH:WORD
SP_BAUD_WSR1_7D EQU 7CH:WORD
SP_CON_WSR1_7D EQU 7BH:BYTE
SP_STATUS_WSR1_7D EQU 79H:BYTE
SBUF_TX_WSR1_7D EQU 7AH:BYTE
SBUF_RX_WSR1_7D EQU 78H:BYTE
PWM0_CON_WSR1_7D EQU 70H:BYTE
PWM1_CON_WSR1_7D EQU 72H:BYTE
PWM2_CON_WSR1_7D EQU 74H:BYTE
CON_REG0_WSR1_7D EQU 76H:BYTE
EPA_MASK_WSR1_7C EQU 7CH:BYTE
EPA_STAT_WSR1_7C EQU 7EH:BYTE
EPA3_TIME_WSR1_7C EQU 6EH:WORD
EPA3_CON_WSR1_7C EQU 6CH:WORD
EPA2_TIME_WSR1_7C EQU 6AH:WORD
EPA2_CON_WSR1_7C EQU 68H:WORD
EPA1_TIME_WSR1_7C EQU 66H:WORD
EPA1_CON_WSR1_7C EQU 64H:WORD
EPA0_TIME_WSR1_7C EQU 62H:WORD
EPA0_CON_WSR1_7C EQU 60H:BYTE
ADDRCOM0_WSR1_7A EQU 60H:WORD
ADDRMSK0_WSR1_7A EQU 62H:WORD
BUSCON0_WSR1_7A EQU 64H:BYTE
ADDRCOM1_WSR1_7A EQU 68H:WORD
ADDRMSK1_WSR1_7A EQU 6AH:WORD
BUSCON1_WSR1_7A EQU 6CH:BYTE
ADDRCOM2_WSR1_7A EQU 70H:WORD
ADDRMSK2_WSR1_7A EQU 72H:WORD
BUSCON2_WSR1_7A EQU 74H:BYTE
ADDRCOM3_WSR1_7A EQU 78H:WORD
ADDRMSK3_WSR1_7A EQU 7AH:WORD
BUSCON3_WSR1_7A EQU 7CH:BYTE
ADDRCOM4_WSR1_7B EQU 60H:WORD
ADDRMSK4_WSR1_7B EQU 62H:WORD
BUSCON4_WSR1_7B EQU 64H:BYTE
ADDRCOM5_WSR1_7B EQU 68H:WORD
ADDRMSK5_WSR1_7B EQU 6AH:WORD
BUSCON5_WSR1_7B EQU 6CH:BYTE
;*****************************************************************************
;
; Core SFR's
;
;*****************************************************************************
zero_reg EQU 00H:WORD
ff_reg EQU 02H:WORD
ptssel EQU 04H:WORD
ptssrv EQU 06H:WORD
int_mask EQU 08H:BYTE
int_pend EQU 09H:BYTE
watchdog EQU 0AH:BYTE
int_pend1 EQU 12H:BYTE
int_mask1 EQU 13H:BYTE
wsr EQU 14H:BYTE
sp EQU 18H:WORD
ONES_REG EQU 02H:WORD
ACC EQU 0CH:LONG ;ACC00-ACC03
ACC00 EQU 0CH:WORD
ACC02 EQU 0EH:WORD
ACC_STAT EQU 0BH:BYTE
WSR1 EQU 15H:BYTE
;**********************************************************************
;
; Usefull bit macros
;
;**********************************************************************
SET_BIT macro regnum,bitnum
ldb tmpreg0, regnum[0]
orb tmpreg0,#( 1 SHL bitnum )
stb tmpreg0, regnum[0]
endm
CLR_BIT macro regnum,bitnum
ldb tmpreg0, regnum[0]
andb tmpreg0, #not( 1 SHL bitnum )
stb tmpreg0, regnum[0]
endm
SET_BITW macro regnum,bitnum
ld tmpreg0, regnum[0]
or tmpreg0,#( 1 SHL bitnum )
st tmpreg0, regnum[0]
endm
CLR_BITW macro regnum,bitnum
ld tmpreg0, regnum[0]
and tmpreg0, #not( 1 SHL bitnum )
st tmpreg0, regnum[0]
endm
SET_BIT_REG macro regnum,bitnum
orb regnum,#( 1 SHL bitnum )
endm
CLR_BIT_REG macro regnum,bitnum
andb regnum,#not( 1 SHL bitnum )
endm
SET_BIT_REGW macro regnum,bitnum
or regnum,#( 1 SHL bitnum )
endm
CLR_BIT_REGW macro regnum,bitnum
and regnum,#not( 1 SHL bitnum )
endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -