Unipolar output format used.. Westlund ; Texas Instruments Inc.
Trang 1; MSP430F20x3 Demo - SD16A, Sample A1+ Continuously, Set P1.0 if > 0.3V
;
; Description: A continuous single-ended sample is made on A1+ using internal
; VREf Unipolar output format used
; Inside of SD16 ISR, if A1 > 1/2VRef (0.3V), P1.0 set, else reset
; ACLK = n/a, MCLK = SMCLK = SD16CLK = default DCO
;
; MSP430F20x3
;
-; /|\| XIN|-; | | |
; |RST XOUT|-; | |
; Vin+ >|A1+ P1.2 |
; |A1- = VSS P1.0| >LED ; | |
; ; M Buccini / L Westlund ; Texas Instruments Inc ; October 2005 ; Built with IAR Embedded Workbench Version: 3.40A ;******************************************************************************* #include "msp430x20x3.h"
ORG 0F800h ; Program Reset
; -RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #001h,&P1DIR ; P1.0 output SetupSD16 mov.w #SD16REFON+SD16SSEL_1,&SD16CTL ; 1.2V ref, SMCLK mov.b #SD16INCH_1,&SD16INCTL0 ; mov.w #SD16UNI+SD16IE,&SD16CCTL0 ; 256OSR, unipolar, inter mov.b #SD16AE2,&SD16AE ; P1.1 A1+, A1- = VSS bis.w #SD16SC,&SD16CCTL0 ; Start conversion ;
Mainloop bis.w #CPUOFF+GIE,SR ; CPU off, enable interrupts nop ; Required only for debugger ;
; -SD16_ISR;
bic.b #01h,&P1OUT ;
cmp.w #07FFFh,&SD16MEM0 ; SD16MEM0 > 0.3V?, clears IFG jlo Done ;
bis.b #01h,&P1OUT ;
Done reti ;
;
; -; Interrupt Vectors
ORG 0FFFEh ; MSP430 RESET Vector DW RESET ;
ORG 0FFEAh ; SD16 Vector DW SD16_ISR ;
END