一来就是请大家帮忙哈
问题如题:
本人用的是松翰单片机,不知道什么原因,AD口用手摸着它,ADB内的数据很不稳定,有的时候是00,有的时候是FF,变化非常大,加个104电容在基准电阻上也没用,
AD转换时间设置为16us,也试过设置为128us,
以下是AD转换的代码:
Temp_Detect_Process:
BCLR F_10mS_Temp ;;10个ms进来做一次AD测试
MOV A,#00H
MOV P4UR,A
MOV A,#00010000B
MOV ADR,A
MOV A,#94H
MOV ADM,A
MOV1C P4CON,00010000B
call delay_100us ;;从此处到本段第二条指令,加不加都一样,因为10ms进来一次,AD使能是在程序初始化中完成的
;;----------------------------------------------;;
B0BSET FADS ;;置ad开始标志
B0BTS1 FEOC ;;等待ad转换完成
JMP $-1 ;;
;;
B0BCLR FADS ;;关ad
|