📄 macro.h
字号:
;;Established date:
;;********************************************************************
;;*********************Valiable Section*******************************
;;********************************************************************
DATA. SECTION 'DATA'
include Usb_Ram.asm
;;********************************************************************
;;*********************Constant Section*******************************
;;********************************************************************
@USB_Req EQU 0H
@USB_Tx EQU 1H
@Clear EQU 2H
@SetupToken EQU 5H
@Ready EQU 6H
@Packet0 EQU 7H
;;
F_Suspend EQU USC.0
F_USBReset EQU USC.2 ;;if the flag is 1 indicated USB device attached.
F_Resume EQU USC.3
;;
F_AccessEP0 EQU USR.0
F_AccessEP1 EQU USR.1
;;
F_USBClockOn EQU UCC.3
F_Suspend2 EQU UCC.4 ;;This bit is used for decreasing power consumption in suspend mode.(it is only used in 82K96E)
F_FsysClock EQU UCC.6
;;
;;P_RXD EQU PB2
;;P_TXD EQU PB3
;;P_RTS EQU PA0
;;
T_RequestType EQU M_FIFOBAK0
T_RequestNUM EQU M_FIFOBAK1
T_ValueL EQU M_FIFOBAK2
T_ValueH EQU M_FIFOBAK3
T_IndexL EQU M_FIFOBAK4
T_IndexH EQU M_FIFOBAK5
T_LengthL EQU M_FIFOBAK6
T_LengthH EQU M_FIFOBAK7
;;
C_RequestType EQU 60H ;;setup common's Requeset Type
C_FIFOSize EQU 08H ;;Max FIFO count in one packet
C_RamAddress EQU 40H ;;The start address of general data register is 40H
C_RamNumber EQU 0C0H ;;The number of general data register is 192
C_Addr_Wakeup EQU 23H
C_STALL EQU 24H
C_SIES EQU 25H
C_MISC EQU 26H
C_FIFO0Address EQU 28H
C_FIFO1Address EQU 29H
C_InterfaceNO EQU 02H ;Interface Number=2
C_LanguageIDL EQU 09H
C_LanguageIDH EQU 04H
C_DeviceDescriptorLength EQU 12H
C_ConfigurationDesLength EQU 22H
C_ReportDescriptorLength EQU 35H
C_HIDDescriptorLength EQU 09H
C_ReportType EQU 04H ;Report Type
C_SetReport EQU 01H
C_ReportSize EQU 08H
C_DataBits EQU 09H
C_ReceiveBufferSize EQU 1FH
;;for transmit delay time
C_TrBaudRate9600L EQU 68H
C_TrBaudRate9600H EQU 01H
C_ReBaudRate9600L EQU 0C7H
C_ReBaudRate9600H EQU 0FEH
C_INTC0 EQU 09H
C_INTC1 EQU 03H
C_ACSR EQU 00H ;Fsys/8
C_ADCR EQU 08H ;PB0->AD
C_TMR1L EQU 0A0H
C_TMR1H EQU 15H ;65536-12MHz*5ms
C_TMR1C EQU 80H
C_TMR_MS EQU 10 ;5ms*50=250ms
INCLUDE User_Ram.asm
;;*********************************************************************
M_PUSH MACRO
MOV M_ACCBAK,A
MOV A,STATUS
MOV M_STABAK,A
MOV A,MP0
MOV M_MP0BAK,A
MOV A,MP1
MOV M_MP1BAK,A
MOV A,TBLP
MOV M_TBLPBAK,A
ENDM
;;********************************************************************
M_POP MACRO
MOV A,M_STABAK
MOV STATUS,A
MOV A,M_MP0BAK
MOV MP0,A
MOV A,M_MP1BAK
MOV MP1,A
MOV A,M_TBLPBAK
MOV TBLP,A
MOV A,M_ACCBAK
ENDM
;;*********************************************************************
select_chanel_0 MACRO
CLR ACS0
CLR ACS1
CLR ACS2
ENDM
select_chanel_1 MACRO
SET ACS0
CLR ACS1
CLR ACS2
ENDM
select_chanel_2 MACRO
CLR ACS0
SET ACS1
CLR ACS2
ENDM
select_chanel_3 MACRO
SET ACS0
SET ACS1
CLR ACS2
ENDM
select_chanel_4 MACRO
CLR ACS0
CLR ACS1
SET ACS2
ENDM
select_chanel_5 MACRO
SET ACS0
CLR ACS1
SET ACS2
ENDM
Adc_start MACRO
CLR START
SET START ;RESET AD
CLR START ;START AD
ENDM
;---------------------------------------------
CH1_Charge1_On MACRO
CLR PA.0
ENDM
CH1_Charge1_OFF MACRO
set PA.0
ENDM
CH2_Charge2_On MACRO
CLR PA.2
ENDM
CH2_Charge2_OFF MACRO
set PA.2
ENDM
;---------------------------------------------
;
;---------------------------------------------
CH1_DechargeOn MACRO
set PA.1
ENDM
CH1_DechargeOff MACRO
clr PA.1
ENDM
CH2_DechargeOn MACRO
set PA.3
ENDM
CH2_DechargeOff MACRO
clr PA.3
ENDM
;---------------------------------------------
;---------------------------------------------
CH1_PWM_ON MACRO
SET PD.0
ENDM
CH1_PWM_OFF MACRO
CLR PD.0
MOV A,0
MOV PWM0,A ;1
ENDM
CH2_PWM_ON MACRO
SET PD.1
ENDM
CH2_PWM_OFF MACRO
CLR PD.1
MOV A,0
MOV PWM1,A ;1
ENDM
;---------------------------------------------
;---------------------------------------------
LED_ON MACRO
CLR PA.4
ENDM
LED_OFF MACRO
SET PA.4
ENDM
;---------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -