farrtone 发表于 2012-4-20 16:46:30

24位AD数据处理送显问题

如发帖位置不对请老大指正。
各位好,现调试AD7731   24位AD芯片g_ad1=ReadAd7731ConverData();均为long int类型变量
现想把g_ad1取20位数据,然后送显给LCD1602
例如显示为1.111111(之前能显示到1.1111,基本稳定),可能在10微伏或微伏数据就已经不稳定,但我想看看到底是哪位开始不稳定。

自己试验了想用浮点型处理,但是不然运算%运算

我现在实现了g_ad1取16位数据送显,并已成功,但要如何取20位数据送显,请前辈们给帮帮忙。最好给个例子。谢谢了。
以下是我g_ad1取16位数据送显函数:
                     g_ad1=ReadAd7731ConverData();//读取AD转换结果

cct=(((g_ad1 >>8)*100)/256)+351;//取16位数据,256为满量程电压放大100倍
      //cct为long int 类型


dis_buff=(uchar)(cct/10000%10);

dis_buff=(uchar)(cct/1000%10);

dis_buff=(uchar)(cct/100%10);

dis_buff=(uchar)(cct/10%10);

dis_buff=(uchar)(cct%10);



write_com(0xC7);

write_date(dis_buff+0x30);

write_date('.');

write_date(dis_buff+0x30);

write_date(dis_buff+0x30);

write_date(dis_buff+0x30);

write_date(dis_buff+0x30);

riverblue2010 发表于 2012-4-20 20:07:38

菜鸟路过

lxa0 发表于 2012-4-20 20:24:22

很想帮楼主
可惜看不懂C~~~~~~~~~

283868130 发表于 2012-4-20 22:07:03

嵌入式处理过程一般建议使用整型数据,在输出端再加入小数点,单位等信息

楼主直接查看十进制数据就得了
想不通看个数据精度,浮点怎么弄出来的

farrtone 发表于 2012-4-22 14:05:47

楼上,首先能读出20位数据,但我要对其进行处理,并送显,主要是送显的时候怎么把全部数据都取出来、

farrtone 发表于 2012-4-23 15:11:00

问题解决,将低位单独取出,单独处理即可。

asdf1776 发表于 2012-4-23 15:14:39

直接观察AD值才对吧

farrtone 发表于 2012-4-23 15:19:36

asdf1776 发表于 2012-4-23 15:14 static/image/common/back.gif
直接观察AD值才对吧

是的,但我要将其送显

asdf1776 发表于 2012-4-23 15:24:19

farrtone 发表于 2012-4-23 15:19 static/image/common/back.gif
是的,但我要将其送显

不明白怎么搞这么复杂,我一般调试时用的淘宝上买的30块钱的最小系统板,P2口接了8个LED

直接把AD值赋给P2,看LED的闪烁就知道哪一位开始不稳定了

uint adc_value = ADCH<<8+ADCL;
//其他操作
p2 = adc_value;

一句话搞定

farrtone 发表于 2012-4-23 15:54:25

asdf1776 发表于 2012-4-23 15:24 static/image/common/back.gif
不明白怎么搞这么复杂,我一般调试时用的淘宝上买的30块钱的最小系统板,P2口接了8个LED

直接把AD值赋给 ...

可以讲AD值,0xFFFFFF通过P0 P1 P2口接LED灯看其稳定性
但我这里不只是要看稳定性,最终还要把稳定的数全部送显,还要做软件补偿。
多谢!{:smile:}

zfzdhz_2012 发表于 2012-5-24 20:15:13

asdf1776 发表于 2012-4-23 15:24 static/image/common/back.gif
不明白怎么搞这么复杂,我一般调试时用的淘宝上买的30块钱的最小系统板,P2口接了8个LED

直接把AD值赋给 ...

好思路。
但当AD值跳的很快呢?
一直亮?
呵呵

huangdog 发表于 2012-5-24 20:18:47

这么高位数的AD出来送显示,貌似要经过滤波处理才有意义。试试卡尔曼滤波出来前20位稳不稳

asdf1776 发表于 2012-5-24 23:34:03

zfzdhz_2012 发表于 2012-5-24 20:15 static/image/common/back.gif
好思路。
但当AD值跳的很快呢?
一直亮?


广大电工都知道加delay()吧

zfzdhz_2012 发表于 2012-5-25 09:06:12

asdf1776 发表于 2012-5-24 23:34 static/image/common/back.gif
广大电工都知道加delay()吧

{:smile:}
页: [1]
查看完整版本: 24位AD数据处理送显问题