📄 subfunction.inc
字号:
;==============================================================================
;
; Initialization CPU register
;
;==============================================================================
INIT_CPU .macro
STM #INIT_ST0,ST0
NOP
NOP
STM #INIT_ST1,ST1 ;Initializaion Status register
NOP
NOP
;STM #INIT_PMST,PMST ;Initializaion Processor mode status register
NOP
NOP
STM #INIT_IMR,IMR ;Initializaion Interrupt mask register
NOP
NOP
.endm
;==============================================================================
;
; Initialization peripheral registers
;
;==============================================================================
INIT_PERIPHERAL .macro
STM #INIT_SWWSR,SWWSR
NOP
NOP
STM #INIT_BSCR,BSCR
NOP
NOP
STM #INIT_SWCR,SWCR ;Initializaion External Bus
NOP
NOP
;STM #INIT_CLKMD,CLKMD ;Initializaion PLL
NOP
NOP
.endm
;==============================================================================
;
; Initialization McBSP #1
;
;==============================================================================
;==============================================================================
; 1.XRST_=RRST_=0
;==============================================================================
INIT_MCBSP1 .macro
STM #SPCR11,SPSA1
NOP
NOP
STM #0x0000,SPSD1
NOP
NOP
STM #SPCR21,SPSA1
NOP
NOP
STM #0x0000,SPSD1
NOP
NOP
;==============================================================================
; 2.Program McBSP registers
;==============================================================================
STM #SPCR11,SPSA1
NOP
NOP
STM #INIT_SPCR11,SPSD1
NOP
NOP
STM #SPCR21,SPSA1
NOP
NOP
STM #INIT_SPCR21,SPSD1
NOP
NOP
STM #PCR1,SPSA1
NOP
NOP
STM #INIT_PCR1,SPSD1
NOP
NOP
STM #RCR11,SPSA1
NOP
NOP
STM #INIT_RCR11,SPSD1
NOP
NOP
STM #RCR21,SPSA1
NOP
NOP
STM #INIT_RCR21,SPSD1
NOP
NOP
STM #XCR11,SPSA1
NOP
NOP
STM #INIT_XCR11,SPSD1
NOP
NOP
STM #XCR21,SPSA1
NOP
NOP
STM #INIT_XCR21,SPSD1
NOP
NOP
STM #SRGR11,SPSA1
NOP
NOP
STM #INIT_SRGR11,SPSD1
NOP
NOP
STM #SRGR21,SPSA1
NOP
NOP
STM #INIT_SRGR21,SPSD1
NOP
NOP
NOP
NOP
NOP
NOP
;==============================================================================
; 3.GRST_=1
;==============================================================================
STM #SPCR21,SPSA1
NOP
NOP
STM #0x0040,SPSD1
NOP
NOP
;==============================================================================
; 4.Wait for two sample rate generator duration
;==============================================================================
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
;==============================================================================
; 5.XRST_=RRST_=1
;==============================================================================
;STM #SPCR11,SPSA1
;NOP
;NOP
;STM #0081h,SPSD1
;NOP
;NOP
STM #SPCR21,SPSA1
NOP
NOP
STM #00080h,SPSD1
NOP
NOP
STM #SPCR21,SPSA1
NOP
NOP
STM #00C0h,SPSD1
NOP
NOP
STM #SPCR21,SPSA1
NOP
NOP
STM #00C1h,SPSD1
NOP
NOP
;==============================================================================
; 6.Wait for two sample rate generator duration
;==============================================================================
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
.endm
;==============================================================================
; Initialization THE TLV320AIC23B
;==============================================================================
INIT_AIC23B .macro
WRITE_AIC23B_CON_REG TLV_LLVC
WRITE_AIC23B_CON_REG TLV_RLVC
WRITE_AIC23B_CON_REG TLV_LHVC
WRITE_AIC23B_CON_REG TLV_RHVC
WRITE_AIC23B_CON_REG TLV_AAPC
WRITE_AIC23B_CON_REG TLV_DAPC
WRITE_AIC23B_CON_REG TLV_DAIF
WRITE_AIC23B_CON_REG TLV_SARC
WRITE_AIC23B_CON_REG TLV_DIAC
WRITE_AIC23B_CON_REG TLV_PWDC
.endm
;=============================================================================
; write to tlv320aic23b controll register
;=============================================================================
WRITE_AIC23B_CON_REG .macro CONTROL_VALUE
STM #CONTROL_VALUE,DXR11
NOP
NOP
FLASH
.endm
;==============================================================================
; FLASH
;==============================================================================
FLASH .macro
STM #0x0000,AR7
PORTW AR7,0x0000 ;make the lights on
DELAY
STM #0xFFFF,AR7
PORTW AR7,0x0000 ;make the lights off
DELAY
.endm
;==============================================================================
;
; delay sub function
;
;==============================================================================
DELAY .macro
STM #100,AR2
DELAY2?: STM #1000,AR1
DELAY1?: BANZ DELAY1?,*AR1-
BANZ DELAY2?,*AR2-
NOP
NOP
.endm
;==============================================================================
;
; short delay sub function
;
;==============================================================================
SHORT_DELAY .macro
STM #1,AR2
DELAY2?: STM #10,AR1
DELAY1?: BANZ DELAY1?,*AR1-
BANZ DELAY2?,*AR2-
NOP
NOP
.endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -