用PIC16F877A做温度显示,可是显示不准啊?求助
用PIC16F877A的片子做温度检测,进到片子里的信号是1-5V电压,要求对应转换到温度的0-100度,书上给出的公式是 N/2.55≈0.3922N≈N/2的2次幂+N/2的3次幂+N/2的6次幂≈0.3906N,可是显示的数值和要求不一样。还有在调控制电压的电位器时,每次上升或下降2个单位,是不是和转换精度有关?下面是采样程序,ACCBLO、ACCBHI是存放被转换的双字节整数高低8位的寄存器,ADR_COUNT被赋值100,ADR存放转换结果。请大家指教!
C_trans BSF STATUS,5
MOVLW 04H
MOVWF ADCON1 ;设RA3为模拟输入,采样结果左对齐
BCF STATUS,5
MOVLW 49H
MOVWF ADCON0
BSF ADCON0,2 ;采样开始
CLRF ACCBLO
CLRF ACCBHI
C_BEGIN BSF ADCON0,2
C_AD NOP
BTFSC ADCON0,2
GOTO C_AD
MOVF ADRESH,0
ADDWF ACCBLO,F
BTFSC STATUS,C
INCF ACCBHI,F
DECFSZ ADR_COUNT,f
GOTO C_BEGIN
BCF STATUS,C
MOVF ACCBHI,W
MOVWF ADR
RETURN
发表时间:2006年4月4日0:12:58