Datasheet
www.ti.com
TLV5633C
TLV5633I
SLAS190C – MARCH 1999 – REVISED SEPTEMBER 2006
CLR T1 ; set LDACB = 0 (update DAC)
SETB T1 ; set LDACB = 1
POP ACC
POP PSW
RETI
;--------------------------------------------------------------------------------------
; Set up stack
;--------------------------------------------------------------------------------------
RSEG STACK
DS 10h ; 16 Byte Stack!
;--------------------------------------------------------------------------------------
; Main Program
;--------------------------------------------------------------------------------------
RSEG MAIN
start:
MOV SP,#STACK-1 ; first set Stack Pointer
CLR A
MOV rolling_ptr,A ; set rolling pointer to 0
MOV TMOD,#002H ; set timer 0 to mode 2 - auto-reload
MOV TH0,#0CEH ; set timer 2 re-load value for 20 kHz interrupts
MOV P2, #080H ; set A15 of address bus high to 'memory map'
; device up beyond used address space
SETB T1 ; set LDACB = 1 (on P3.5)
; TLV5633 setup
MOV R0, #003H ; R0 selects control register
MOV A, #011H ; LOAD ACC with control register value:
; REF1=1, REF0=0 -> 2.048V internal reference
; RLDAC=0 -> use LDACB pin to control DAC
; PD=0 -> DAC enabled
; SPD=1 -> FAST mode
; write control word:
MOVX @R0, A ; write DAC control word
SETB ET0 ; enable timer 0 interrupts
SETB EA ; enable all interrupts
SETB TR0 ; start timer 0
always:
SJMP always
RET
;--------------------------------------------------------------------------------------
; Table of 32 wave samples used as DAC data
;--------------------------------------------------------------------------------------
RSEG WAVTBL
wavetable:
;...insert 32 samples here...
.END
16
Submit Documentation Feedback