📄 adc_slope.s43
字号:
#include "msp430x41x.h"
#include "head.h"
RSEG CODE
;-------------------------------------------------------------------------
;MEASURE Subroutine; Input: R14 = Sensor or Ref P2.x bit location
; Output: R15 = Sensor or Ref discharge time
;-------------------------------------------------------------------------
MEASURE
push R14
push R15
INIT_TA
MOV #TASSEL1+TACLR,&TACTL ; MCLK, clear TAR
INIT_CA
MOV.B #CARSEL+CAREF0+CAON,&CACTL1 ; -Comp = 0.25*Vcc - on
MOV.B #P2CA0+CAF,&CACTL2 ; +Comp = P1.6
BIS.B #02H,F1_INT ; 置ADC中断(用于中断是否唤醒CPU)
MOV.B #1,MEASSTAT ; 置转换状态
call #Charge
mov #REF1, R14 ; R14 = discharge pin
call #Discharge
mov R15,ADCRESULT ; REF0 discharge time
MOV.B #2,MEASSTAT ; 置转换状态
call #Charge
mov #REF0,R14 ; R14 = discharge pin
call #Discharge
mov R15,ADCRESULT_2 ; REF1 discharge time
MOV.B #4,MEASSTAT ; 置转换状态
call #Charge
mov #SENSOR0,R14 ; R14 = discharge pin
call #Discharge
mov R15,ADCRESULT_4 ; SENSOR0 discharge time
MOV.B #8H,MEASSTAT ; 置转换状态
call #Charge
mov #SENSOR1,R14 ; R14 = discharge pin
call #Discharge
mov R15,ADCRESULT_6 ; SENSOR1 discharge time
BIC.B #CARSEL+CAREF0+CAON,&CACTL1 ;比较器关 ,CARSEL=0
BIC.B #P2CA0,CACTL2 ;不连接到外部引脚
mov #MC1+TASSEL0+TACLR,&TACTL ; clear TAR. ACLK, 等待接收数据
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -