34af9uc的个人空间 https://bbs.21ic.com/?818997 [收藏] [复制] [RSS]

日志

AD采集0-5v 0-255对应0-99

已有 352 次阅读2016-5-16 11:54 |系统分类:兴趣爱好| AD采集0-5v, 0-255对应0-99

  不让发地址链接刚写好的日志飞啦声明以下为转贴::
编写一个乘法器程序,先将8位ADC值乘以常数100d(二进制数1100100b),得到一个15位的乘积,然后取这个乘积的高7位作为结果输出就可以了。
追问:
那,如果是采样0-5V,经过8255A输出0-99对应0-3V而3-5V部分为超压,怎么实现啊。。。
谢谢
追答:
同理,编写一个乘法器程序,先将8位ADC值乘以常数166d(二进制数10100110b),得到一个16位的乘积,然后取这个乘积的高8位作为结果输出就可以了。这个结果中,0~99对应0~3V,大于99的那部分数就是超压的数值
列:(255*100)>>8;

详见程序:
ADC_CONTR        |=IO3;                        //启动AD
//while(ADC_CONTR&IO4);                //等待转换结束
delay(2);
ADC_CONTR        &=~IO4;                        //清AD转换标志位
a3=ADC_RES;
a3=a3*100;
a3=a3>>8;
        for(a2=0;a2<50;a2++)
                {
                display(la[a3/10],la[a3%10],0x4f,0x66);
                delay(5);
                }
        }


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)