Stereo System User Manual
MSP50C614/MSP50P614 Initialization Codes
6-7
Applications
 mov *save_clkspdctrl,a0 ;save the ClkSpdCtrl value for later, when
 ;waking up from mid or deep sleep
 mov 0~,TIM2REFOSC + TIM2IMR ;disable TIMER 2
 out IntGenCtrl,a0~
 mov a0~,6553 ;setup a 200 ms period
 out TIM2,a0~ ;load TIM2 and PRD2 in one fell swoop
 mov a0~,TIM2ENABLE + TIM2REFOSC + TIM2IMR
 out IntGenCtrl,a0~ ;use 32 kHz crystal as source, wake up
from TIM2
 out ClkSpdCtrl,a0 ;set clock to full speed!
 idle   ;go to sleep...
 nop ;wake up 200 ms later, clock running at
full speed
 nop
 nop
;****************************************************************
; Upon reset all ports are set to input and port G output is set
; low (0x0000). Therefore it remains only to enable the pullups
; on port F.
;****************************************************************
 in a0,IntGenCtrl
 or a0,PFPULLUPS ;enable port F pullups
 and a0,~TIM2IMR ;turn off TIMER 2 interrupt
 and a0,~TIM2ENABLE ;turn off TIMER 2
 out IntGenCtrl,a0
;****************************************************************
; Set the DAC to 10 bits, C3x style. For C5x style set bit 3
; high.
;****************************************************************
 movb a0,0x02 ;choose 10 bit DAC, C3x style
 orb a0,DACON ;enable DAC
 out DACCTRL,a0 ;switch DAC on
;****************************************************************
; Initialization complete. Now tidy up and branch to the main
; user code.
;****************************************************************
 zac a0 ;tidy up
 zac a0~
 jmp _main ;jump to the main program










