
SLAA108A
SPI-Based Data Acquisition/Monitor Using the TLC2551 Serial ADC 7
ADC_CS equ 001h ; Assign p3.1 to ADC_CS
FS equ 010h ; Assign p3.6 to FS (DAC and ADC)
DAC_CS equ 020h ; Assign p5.4 to DAC_CS
;************************************************************************
;Setup Stack
;************************************************************************
RSEG CSTACK
DS 0
;************************************************************************
;Program Code
;************************************************************************
RSEG CODE
;************************************************************************
RESET_ISR mov #SFE(CSTACK),SP ; define stackpointer
call #Init_Sys ; Initialize the MSP430
call #Mainloop ; Run the Main Program
Mainloop
Read_ADC bic.b #ADC_CS,&P3OUT
mov.b #DUMMY,&U0TXBUF ; Dummy write to SPI (generates SCLK)
call #CLEAR
mov.b &U0RXBUF,R12 ; Store Upper Byte
mov.b #DUMMY,&U0TXBUF ; Dummy write to SPI (generates SCLK)
call #CLEAR
mov.b &U0RXBUF,R13 ; Store Lower Byte
mov.b #04h, R7
CLK_LOOP mov.b #DUMMY,&U0TXBUF ; Dummy write to SPI
CONV_CLK bit.b #01h,&IFG2 ; TXBUF ready?
jnc CONV_CLK ; 1 = ready
bic.b #01h,&IFG2
dec R7
cmp #00h, R7
jnz CLK_LOOP
biC.b #ADC_CS,&P3OUT
; jmp Mainloop ; Repeat
; Remove remark from above line to skip transmit back to DAC
Comentários a estes Manuais