AD检测的问题

[复制链接]
3137|4
 楼主| qm00 发表于 2013-6-14 13:00 | 显示全部楼层 |阅读模式
一来就是请大家帮忙哈

问题如题:
本人用的是松翰单片机,不知道什么原因,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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
南宫云明 发表于 2013-6-14 21:29 | 显示全部楼层
干嘛要用手摸它。。。。不能用个稳定点的电压让它采一下吗?

评分

参与人数 1威望 +1 收起 理由
qm00 + 1 很给力!

查看全部评分

 楼主| qm00 发表于 2013-8-1 11:15 | 显示全部楼层
本帖最后由 qm00 于 2013-8-1 15:46 编辑

这个的解决方案如下:1.错误报警也同样采用了求平均和去最大去最小的方法。2.NTC对地,基准电阻对5V。这样的好处是人体电阻与NTC并起来的时候,对AD电压影响较小。 完美解决了该问题
 楼主| qm00 发表于 2013-8-1 15:48 | 显示全部楼层
南宫云明 发表于 2013-6-14 21:29
干嘛要用手摸它。。。。不能用个稳定点的电压让它采一下吗?

好,正解见下边。
 楼主| qm00 发表于 2013-8-1 15:53 | 显示全部楼层
qm00 发表于 2013-8-1 11:15
这个的解决方案如下:1.错误报警也同样采用了求平均和去最大去最小的方法。2.NTC对地,基准电阻对5V。这样 ...

都是什么嘛,点结贴结不了,只有点无满意答案才结贴
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部