机器人天空 发表于 2014-2-12 16:13:05

c8051f120单片机AD问题求教

请教论坛里的兄弟们,我在用c8051f120单片机的内置AD0时采集时(单端采集,AD0是12位,数据格式为右对齐),本应该读取到AD的数据应该是12位,且右对齐。但是用仿真器看到得到的AD数据是左对齐,高四位也能收到数据,低四位变成了0,类似这样0x9B60、0x89A0、0x8c50。实在找不出什么原因?

机器人天空 发表于 2014-2-12 18:24:46

{:sleepy:}{:sleepy:}{:sleepy:}{:sleepy:}{:sleepy:}{:sleepy:}{:sleepy:}{:sleepy:}{:sleepy:}

changjing 发表于 2014-2-13 11:37:17

仔细检查一下程序,仿真器得到的是寄存器的值,你传出来的肯定是变量,看看传递的时候是不是弄错了

机器人天空 发表于 2014-2-13 13:01:31

changjing 发表于 2014-2-13 11:37
仔细检查一下程序,仿真器得到的是寄存器的值,你传出来的肯定是变量,看看传递的时候是不是弄错了 ...

嗯嗯,我把那程序重新写了一遍又好了{:lol:}

changjing 发表于 2014-2-13 14:23:56

机器人天空 发表于 2014-2-13 13:01
嗯嗯,我把那程序重新写了一遍又好了

顺便我也问一下,我之前买了一批C8051F020,12位AD的线性极差,尤其是AD值大于2000以后,就越来越不线性……你遇到过这样的问题吗?是不是我这次买的是假货呀?

机器人天空 发表于 2014-2-13 21:28:12

changjing 发表于 2014-2-13 14:23
顺便我也问一下,我之前买了一批C8051F020,12位AD的线性极差,尤其是AD值大于2000以后,就越来越不线性 ...

啊,不会吧,会不会是你电路有问题或者干扰,有没有换成以前的片子试试

changjing 发表于 2014-2-14 13:05:17

机器人天空 发表于 2014-2-13 21:28
啊,不会吧,会不会是你电路有问题或者干扰,有没有换成以前的片子试试 ...

换了老片子就没问题,而且和这次这批芯片价格太便宜了,才18块钱一片,我现在越来越觉得是上当了……
页: [1]
查看完整版本: c8051f120单片机AD问题求教