msp430x20x1_ca_02.s43

来自「LSD-EZ430-F2013在IAR环境下的汇编语言开发例程」· S43 代码 · 共 50 行

S43
50
字号
;*******************************************************************************
;   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
;
;   M. Buccini / L. Westlund
;   Texas Instruments Inc.
;   December 2005
;   Built with IAR Embedded Workbench Version: 3.40A
;*******************************************************************************
#include  "msp430x20x1.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
            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
;-------------------------------------------------------------------------------
            ORG     0FFFEh                  ; MSP430 RESET Vector
            DW      RESET                   ;
            END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?