📄 adcinc.inc
字号:
;;*****************************************************************************
;;*****************************************************************************
;; FILENAME: ADCINC.inc
;; Version: 1.1, Updated on 2005/03/07 at 14:27:56
;; Generated by PSoC Designer ver 4.2 b1013 : 02 September, 2004
;;
;; DESCRIPTION: Assembler declarations for the ADCINC A/D Converter
;; User Module with a 1st-order modulator.
;;-----------------------------------------------------------------------------
;; Copyright (c) Cypress MicroSystems 2000-2004. All Rights Reserved.
;;*****************************************************************************
;;*****************************************************************************
include "m8c.inc"
include "memory.inc"
;--------------------------------------------------
; Constants for ADCINC API's.
;--------------------------------------------------
ADCINC_OFF: equ 00h
ADCINC_LOWPOWER: equ 01h
ADCINC_MEDPOWER: equ 02h
ADCINC_HIGHPOWER: equ 03h
ADCINC_bNUMBITS: equ 08h
ADCINC_NoAZ: equ 1
ADCINC_SIGNED_DATA: equ 0
ADCINC_9_OR_MORE_BITS: equ ((08h - 1)& 08h)
ADCINC_8_OR_MORE_BITS: equ ((08h )& 08h)
;--------------------------------------------------
; Register Address Constants for ADCINC
;--------------------------------------------------
ADCINC_ISR_MASK: equ 01h
ADCINC_ISR_REG: equ 0e1h
ADCINC_CLR_REG: equ (((ADCINC_ISR_REG & 038h)/8)^0dfh)
ADCINC_PWMdr0: equ 20h ; Period reg
ADCINC_PWMdr1: equ 21h ; Down count reg
ADCINC_PWMdr2: equ 22h ; Compare reg
ADCINC_PWMcr0: equ 23h ; Control reg
ADCINC_PWMfn: equ 20h ; Function reg
ADCINC_PWMsl: equ 21h ; Input select reg
ADCINC_PWMos: equ 22h ; Output select reg
ADCINC_AtoDcr0: equ 80h ; SC Block Control Reg 0
ADCINC_AtoDcr1: equ 81h ; SC Block Control Reg 1
ADCINC_AtoDcr2: equ 82h ; SC Block Control Reg 2
ADCINC_AtoDcr3: equ 83h ; SC Block Control Reg 3
HighByte: equ 0
LowByte: equ 1
macro ADCINC_fIsDataAvailable_M
RAM_SETPAGE_CUR >ADCINC_fStatus
mov A,[ADCINC_fStatus]
endm
macro ADCINC_iGetData_M
RAM_SETPAGE_CUR >ADCINC_iResult
mov X,[(ADCINC_iResult + HighByte)]
mov A,[(ADCINC_iResult + LowByte)]
endm
macro ADCINC_wGetData_M
ADCINC_iGetData_M
endm
macro ADCINC_cGetData_M
RAM_SETPAGE_CUR >ADCINC_iResult
mov A,[(ADCINC_iResult + LowByte)]
endm
macro ADCINC_bGetData_M
ADCINC_cGetData_M
endm
macro ADCINC_fClearFlag_M
RAM_SETPAGE_CUR >ADCINC_fStatus
mov A,[ADCINC_fStatus]
mov [ADCINC_fStatus],00h
endm
macro ADCINC_iClearFlagGetData_M
RAM_SETPAGE_CUR >ADCINC_fStatus
.repeat:
mov [ADCINC_fStatus],00h
mov X,[(ADCINC_iResult + HighByte)]
mov A,[(ADCINC_iResult + LowByte)]
cmp [ADCINC_fStatus],00h
.until: jnz .repeat
endm
macro ADCINC_wClearFlagGetData_M
ADCINC_iClearFlagGetData_M
endm
macro ADCINC_cClearFlagGetData_M
RAM_SETPAGE_CUR >ADCINC_fStatus
mov [ADCINC_fStatus],00h
mov A,[(ADCINC_iResult + LowByte)]
endm
macro ADCINC_bClearFlagGetData_M
ADCINC_cClearFlagGetData_M
endm
macro ADCINC_ENABLE_INTEGRATOR_M
and reg[ADCINC_AtoDcr3],~10h
IF ADCINC_NoAZ
and reg[ADCINC_AtoDcr2],~20h
ENDIF
endm
macro ADCINC_RESET_INTEGRATOR_M
IF ADCINC_NoAZ
or reg[ADCINC_AtoDcr2],20h
ENDIF
or reg[ADCINC_AtoDcr3],10h
endm
macro ADCINC_STARTADC_M
;Enable PWM interrupt
mov reg[ADCINC_CLR_REG],~(ADCINC_ISR_MASK)
or reg[ADCINC_ISR_REG], (ADCINC_ISR_MASK)
endm
macro ADCINC_STOPADC_M
;Disable PWM interrupt
and reg[ADCINC_ISR_REG],~(ADCINC_ISR_MASK)
endm
macro ADCINC_WritePulseWidth_M
mov reg[ADCINC_PWMdr2],A
endm
; end of file ADCINC.inc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -