📄 asm.s43
字号:
#include "msp430x22x4.h"
;OA0工作在模式3(comparator)
;p2.0为正端输入(0~Vcc)
;将输入电压的地接到芯片的AVss
;用OAFBR来选择反向端参考电压
;将直流电源接入p2.0,调节电压值,观参输出端的变化
; MSP430F2274
; -----------------
; /|\| XIN|-
; | | |
; --|RST XOUT|-
; | AVCC|<--DVCC
; | 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,运放反向端输入为4/16AVcc;比较器模式
;MOV.B #OAFBR_2+OAFC_3,&OA0CTL1 ;R2/R1=8R/8R,运放反向端输入为8/16AVcc;比较器模式
;MOV.B #OAFBR_3+OAFC_3,&OA0CTL1 ;R2/R1=10R/6R,运放反向端输入为10/16AVcc;比较器模式
;MOV.B #OAFBR_4+OAFC_3,&OA0CTL1 ;R2/R1=12R/4R,运放反向端输入为12/16AVcc;比较器模式
;MOV.B #OAFBR_5+OAFC_3,&OA0CTL1 ;R2/R1=13R/3R,运放反向端输入为13/16AVcc;比较器模式
;MOV.B #OAFBR_6+OAFC_3,&OA0CTL1 ;R2/R1=14R/2R,运放反向端输入为14/16AVcc;比较器模式
;MOV.B #OAFBR_7+OAFC_3,&OA0CTL1 ;R2/R1=15R/1R,运放反向端输入为16/16AVcc;比较器模式
NOP
BIS.B #LPM3,SR
NOP
END main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -