📄 msp430x20x1_ca_02.asm
字号:
;*******************************************************************************
; MSP430F20x1 Demo - Comp_A, Detect Threshold, Set P1.0 if P1.1 > 0.25*Vcc
;
; Description: Use comparator_A to detect a voltage threshold. Using an
; external potentiometer, an unknown analog voltage is applied to P1.1.
; Comparator_A compares the unknown voltage to an internal reference
; voltage, in this example 0.25*VCC. If the interesting voltage is higher
; than 0.25*Vcc, P1.0 is set, if not, P1.0 is reset.
; ACLK = n/a, MCLK = SMCLK = default
;
; MSP430F20x1
; -----------------
; /|\ | XIN|-
; | | |
; ---|RST XOUT|-
; | | |
; R<-|P1.1/CA1 P1.0|--> LED
; | | |
; ---|VSS
;
; P.Thanigai
; Texas Instruments Inc.
; May 2007
; Built with Code Composer Essentials Version: 2.0
;*******************************************************************************
.cdecls C,LIST, "msp430x20x1.h"
;------------------------------------------------------------------------------
.text ; Program Start
;------------------------------------------------------------------------------
RESET mov.w #0280h,SP ; Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupP1 bis.b #001h,&P1DIR ; P1.0 = output
mov.b #CARSEL+CAREF0+CAON,&CACTL1 ; 0.25Vcc = -comp, on
mov.b #P2CA4,&CACTL2 ; P1.1/CA1 = +comp
;
Mainloop bit.b #CAOUT,&CACTL2 ; Test comparator_A output
jz OFF ; jmp--> if CAOUT reset
;
ON bis.b #001h,&P1OUT ; P1.0 = 1
jmp Mainloop ;
OFF bic.b #001h,&P1OUT ; P1.0 = 0
jmp Mainloop ;
;
;------------------------------------------------------------------------------
; Interrupt Vectors
;------------------------------------------------------------------------------
.sect ".reset" ; MSP430 RESET Vector
.short RESET ;
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -