📄 adcinc_1.inc
字号:
;;*****************************************************************************
;;*****************************************************************************
;; FILENAME: ADCINC_1.inc
;; Version: 1.1, Updated on 2005/09/29 at 13:17:03
;; Generated by PSoC Designer ver 4.2 b1013 : 02 September, 2004
;;
;; DESCRIPTION: Assembler declarations for the 8-bit ADCINC A/D Converter
;; User Module with a 2nd-order modulator.
;;-----------------------------------------------------------------------------
;; Copyright (c) Cypress MicroSystems 2000-2004. All Rights Reserved.
;;*****************************************************************************
;;*****************************************************************************
include "m8c.inc"
include "memory.inc"
;--------------------------------------------------
; Constants for ADCINC_1 API's.
;--------------------------------------------------
ADCINC_1_OFF: equ 00h
ADCINC_1_LOWPOWER: equ 01h
ADCINC_1_MEDPOWER: equ 02h
ADCINC_1_HIGHPOWER: equ 03h
ADCINC_1_bNUMBITS: equ 0ch
ADCINC_1_SIGNED_DATA: equ 1
ADCINC_1_9_OR_MORE_BITS: equ ((0ch - 1)& 08h)
ADCINC_1_8_OR_MORE_BITS: equ ((0ch )& 08h)
;--------------------------------------------------
; Register Address Constants for ADCINC_1
;--------------------------------------------------
ADCINC_1_ISR_MASK: equ 01h
ADCINC_1_ISR_REG: equ 0e1h
ADCINC_1_CLR_REG: equ (((ADCINC_1_ISR_REG & 038h)/8)^0dfh)
ADCINC_1_PWMdr0: equ 20h ; Period reg
ADCINC_1_PWMdr1: equ 21h ; Down count reg
ADCINC_1_PWMdr2: equ 22h ; Compare reg
ADCINC_1_PWMcr0: equ 23h ; Control reg
ADCINC_1_PWMfn: equ 20h ; Function reg
ADCINC_1_PWMsl: equ 21h ; Input select reg
ADCINC_1_PWMos: equ 22h ; Output select reg
ADCINC_1_AtoD1cr0: equ 0x84 ; SC Block 1 Control Reg 0
ADCINC_1_AtoD1cr1: equ 0x85 ; SC Block 1 Control Reg 1
ADCINC_1_AtoD1cr2: equ 0x86 ; SC Block 1 Control Reg 2
ADCINC_1_AtoD1cr3: equ 0x87 ; SC Block 1 Control Reg 3
ADCINC_1_AtoD2cr0: equ 0x94 ; SC Block 2 Control Reg 0
ADCINC_1_AtoD2cr1: equ 0x95 ; SC Block 2 Control Reg 1
ADCINC_1_AtoD2cr2: equ 0x96 ; SC Block 2 Control Reg 2
ADCINC_1_AtoD2cr3: equ 0x97 ; SC Block 2 Control Reg 3
HighByte: equ 0
LowByte: equ 1
macro ADCINC_1_fIsDataAvailable_M
RAM_SETPAGE_CUR >ADCINC_1_fStatus
mov A,[ADCINC_1_fStatus]
endm
macro ADCINC_1_iGetData_M
RAM_SETPAGE_CUR >ADCINC_1_iResult
mov X,[(ADCINC_1_iResult + HighByte)]
mov A,[(ADCINC_1_iResult + LowByte)]
endm
macro ADCINC_1_wGetData_M
ADCINC_1_iGetData_M
endm
macro ADCINC_1_cGetData_M
RAM_SETPAGE_CUR >ADCINC_1_iResult
mov A,[(ADCINC_1_iResult + LowByte)]
endm
macro ADCINC_1_bGetData_M
ADCINC_1_cGetData_M
endm
macro ADCINC_1_fClearFlag_M
RAM_SETPAGE_CUR >ADCINC_1_fStatus
mov A,[ADCINC_1_fStatus]
mov [ADCINC_1_fStatus],00h
endm
macro ADCINC_1_iClearFlagGetData_M
RAM_SETPAGE_CUR >ADCINC_1_fStatus
.repeat:
mov [ADCINC_1_fStatus],00h
mov X,[(ADCINC_1_iResult + HighByte)]
mov A,[(ADCINC_1_iResult + LowByte)]
cmp [ADCINC_1_fStatus],00h
.until: jnz .repeat
endm
macro ADCINC_1_wClearFlagGetData_M
ADCINC_1_iClearFlagGetData_M
endm
macro ADCINC_1_cClearFlagGetData_M
RAM_SETPAGE_CUR >ADCINC_1_fStatus
mov [ADCINC_1_fStatus],00h
mov A,[(ADCINC_1_iResult + LowByte)]
endm
macro ADCINC_1_bClearFlagGetData_M
ADCINC_1_cClearFlagGetData_M
endm
macro ADCINC_1_ENABLE_INTEGRATOR_M
and reg[ADCINC_1_AtoD1cr3],~10h
and reg[ADCINC_1_AtoD1cr2],~20h
and reg[ADCINC_1_AtoD2cr3],~10h
and reg[ADCINC_1_AtoD2cr2],~20h
endm
macro ADCINC_1_RESET_INTEGRATOR_M
or reg[ADCINC_1_AtoD1cr2],20h
or reg[ADCINC_1_AtoD1cr3],10h
or reg[ADCINC_1_AtoD2cr2],20h
or reg[ADCINC_1_AtoD2cr3],10h
endm
macro ADCINC_1_STARTADC_M
;Enable PWM interrupt
mov reg[ADCINC_1_CLR_REG],~(ADCINC_1_ISR_MASK)
or reg[ADCINC_1_ISR_REG], (ADCINC_1_ISR_MASK)
endm
macro ADCINC_1_STOPADC_M
;Disable PWM interrupt
and reg[ADCINC_1_ISR_REG],~(ADCINC_1_ISR_MASK)
endm
macro ADCINC_1_WritePulseWidth_M
mov reg[ADCINC_1_PWMdr2],A
endm
; end of file ADCINC_1.inc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -