This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430G2553用模擬16bits的SPI控制TLV5618A的DAC晶片問題?

Other Parts Discussed in Thread: MSP430G2553, TLV5618A, DAC7611, DAC7612

我使用MSP430G2553的SPI控制TLV5618A的DAC

我嘗試了以下程式,但DAC的OUT一直沒有數值

SCLK和DIN都有波型

不知道是什麼原因

 

;=================================================================================
#include   "msp430G2553.h"                                  ;載入MSP430定義檔                                     
;=================================================================================
;          中斷向量表
;=================================================================================
           ORG   0FFFEh                                    ;RESET中斷向量
           DW    START                                     ;主程式位址      

           ORG   0FFECh                                    ;USCI_TX_ISR
           DW    USCIA0_TX_USCIB0_TX_ISR    ;
;=================================================================================
;          主程式
;=================================================================================
           ORG   0C000h
START:     MOV   #0400h,SP                                                               ;初始堆疊位址
           MOV   #WDTPW+WDTHOLD,&WDTCTL                               ;關閉WDT
           CLR.B &DCOCTL                                                                      ; Select lowest DCOx and MODx settings
           MOV.B &CALBC1_1MHZ,&BCSCTL1                                      ; Set range
           MOV.B &CALDCO_1MHZ,&DCOCTL                                       ; Set DCO step + modulation,DCO=16MHz

          BIS.B #UCSWRST+UCSSEL_2,&UCA0CTL1                          ;Enabled.USCI logic held in reset state.
                                                                                                              ;Use SMCLK to be BRCLK 
          BIS.B #UCMSB+UCMST+UCSYNC+UCMODE_0,&UCA0CTL0    ;第一個傳送位元為MSB
                                                                                                               ;設定為SPI的主設備
                                                                                                               ;設定為同步模式
                                                                                                               ;使用4線式SPI,當UCxSTE=0時從設備啟動

           BIS.B #00000001b,P1DIR   
           BIS.B #00010100b,&P1SEL                         ;P1.2,4使用週邊模組(USCI)
           BIS.B #00010100b,&P1SEL2                        ;P1.2,4使用週邊模組(USCI)
           MOV.B #2,&UCA0BR0                                ;傳輸速度/2
           MOV.B #0,&UCA0BR1        
           BIC.B #UCSWRST,&UCA0CTL1                    ;Disabled.USCI reset released for operation.
           BIS.B #UCA0TXIE,&IE2                               ;致能UCA0TXIE
           BIS.B #00000001b,P1OUT

           BIS.B #GIE+CPUOFF,SR                            ;致能中斷功能+等待中斷
           NOP
      
;=================================================================================
;         USCIA0_TX_USCIB0_TX_ISR(R4,R5,R6,R7,R8,R9)
;=================================================================================
USCIA0_TX_USCIB0_TX_ISR:
           BIC.B #00000001b,P1OUT                           ;高無效
           BIC.B #UCA0TXIE+UCB0TXIE,&IE2                   ;禁能UCA0TXIE、UCB0TXIE      
           BIT.B #UCA0TXIFG,&IFG2                          ;USCI_A0 Transmit Interrupt?
           JNZ    USCIA0_TX_ISR
USCIB0_TX_ISR:
           RETI
USCIA0_TX_ISR:           

           
           MOV.B #11111111b,&UCA0TXBUF                      ;高端位元傳送
   
           BIC.B #00000001b,P1OUT                                    ;低有效

           WAITSPI_H: BIT.B #UCA0TXIFG,&IFG2               ;高8位發送完畢
           JZ    WAITSPI_H
           MOV.B #11111111b,&UCA0TXBUF                      ;發送低8位
           BIS.B #00000001b,P1OUT

           BIS.B #UCA0TXIFG,&IFG2                          ;清除UCA0TXIFG中斷旗號
           BIS.B #UCA0TXIE,&IE2                            ;致能UCA0TXIE         
           RETI

;===============================================================================

          END