📄 asm.s43
字号:
#include "msp430x22x4.h"
;OA0工作在模式2(unity gain)
;p2.0为正端输入
;p2.1输出(最大输出AVCC)
;将输入电压的地接到芯片的AVss
;用OAFBR来选择反馈电阻值
;将直流电源正端接入p2.0,调节电压值,观参输出是否跟输入保持一致
; MSP430F2274
; -----------------
; /|\| XIN|-
; | | |
; --|RST XOUT|-
; | |
; | P2.0|<--OA0I0
; | AVss|<--GND
; | p2.1|-->OA0O
NAME main
PUBLIC main
;-----------------------------------------------------------------------------
; MSP430F22x中断向量表
;-----------------------------------------------------------------------------
ORG 0FFFEh
DC16 main
;------------------------------------------------------------------------------
RSEG CODE ;程序开始
;------------------------------------------------------------------------------
main MOV.W #0600H,SP ;设置堆栈指针
stopWDT MOV.W #WDTPW+WDTHOLD,&WDTCTL ;关看门狗
MOV.B &CALBC1_1MHZ,&BCSCTL1 ;设定DCO为1MHZ
MOV.B &CALDCO_1MHZ,&DCOCTL
BIS.B #BIT0+BIT1,&P2SEL ;P2.0,2.1第二功能选择
BIS.B #BIT1,&P2OUT ;p2.1,OA0输出端
;设置OA0,最大输出电压为AVCC
MOV.B #OAP_0+OAPM_3+OAADC1,&OA0CTL0 ;OAP选择OA0I0输入,反馈速度为fast,输出为A1,A3或者A5
MOV.B #OAFBR_1+OAFC_2,&OA0CTL1 ;R2/R1=4R/16R,反馈电阻为4R
;MOV.B #OAFBR_2+OAFC_2,&OA0CTL1 ;R2/R1=8R/8R,反馈电阻为8R
;MOV.B #OAFBR_3+OAFC_2,&OA0CTL1 ;R2/R1=10R/6R,反馈电阻为10R
;MOV.B #OAFBR_4+OAFC_2,&OA0CTL1 ;R2/R1=12R/4R,反馈电阻为12R
;MOV.B #OAFBR_5+OAFC_2,&OA0CTL1 ;R2/R1=13R/3R,反馈电阻为13R
;MOV.B #OAFBR_6+OAFC_2,&OA0CTL1 ;R2/R1=14R/2R,反馈电阻为14R
;MOV.B #OAFBR_7+OAFC_2,&OA0CTL1 ;R2/R1=15R/1R,反馈电阻为15R
NOP
BIS.B #LPM3,SR
NOP
END main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -