|
请问哪位高手做过2407的AD转换,帮忙看看我的程序哪里错了?我在IB对应的AD口送入一个0~3.3V之间的正弦波,本想IB〉0,PWM11口的LED亮,IB<0,则灭,可是LED一直是亮的,请问为什么?谢谢!
;-----------------------电流采样和AD转换------------------------------------------------------
LDP #ADCTRL2>>7
SPLK #2000H,ADCTRL2 ;启动AD转换,IA-ADCIN0,IB-ADCIN1
CONVERSION
BIT ADCTRL2,3 ;将忙状态位复制到TC
BCND CONVERSION,TC ;等待
LACC RESULT0,10
LDP #IA
SACH IA
LDP #RESULT1>>7
LACC RESULT1,10
LDP #IB
SACH IB
;-----------------------将ADC结果转换成电流值---------------------------------------------------------
LDP #IA
LACC IA
AND #3FFH ;屏蔽高位
SUB #512 ;向下平移,产生正负电流值
SACL ITMP
LT ITMP
MPY KCURRENT ;转换系数,Q10格式
PAC
SACL IA ;IA, Q10格式
LACC IB
AND #3FFH
SUB #512
SACL ITMP
LT ITMP
MPY KCURRENT
PAC
SACL IB ;IB, Q10格式
;-----------------------测试用IB〉0,PWM11口的LED亮,IB<0,则灭------------------------------------------------------
LACC IB
BCND G_0,LT
LDP #PEDATDIR>>7
LACC PEDATDIR
AND #7000H
SACL PEDATDIR
B OVERLED
G_0:
LDP #PEDATDIR>>7
LACC PEDATDIR
AND #7020H
SACL PEDATDIR
OVERLED:
|
|