搜索
bottom↓
回复: 13

24位AD数据处理送显问题

[复制链接]

出0入0汤圆

发表于 2012-4-20 16:46:30 | 显示全部楼层 |阅读模式
如发帖位置不对请老大指正。
各位好,现调试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[0]=(uchar)(cct/10000%10);

dis_buff[1]=(uchar)(cct/1000%10);

dis_buff[2]=(uchar)(cct/100%10);

dis_buff[3]=(uchar)(cct/10%10);

dis_buff[4]=(uchar)(cct%10);



write_com(0xC7);

write_date(dis_buff[0]+0x30);

write_date('.');

write_date(dis_buff[1]+0x30);

write_date(dis_buff[2]+0x30);

write_date(dis_buff[3]+0x30);

write_date(dis_buff[4]+0x30);

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-4-20 20:07:38 | 显示全部楼层
菜鸟路过

出0入0汤圆

发表于 2012-4-20 20:24:22 | 显示全部楼层
很想帮楼主
可惜看不懂C~~~~~~~~~

出0入0汤圆

发表于 2012-4-20 22:07:03 | 显示全部楼层
嵌入式处理过程一般建议使用整型数据,在输出端再加入小数点,单位等信息

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

出0入0汤圆

 楼主| 发表于 2012-4-22 14:05:47 | 显示全部楼层
楼上,首先能读出20位数据,但我要对其进行处理,并送显,主要是送显的时候怎么把全部数据都取出来、

出0入0汤圆

 楼主| 发表于 2012-4-23 15:11:00 | 显示全部楼层
问题解决,将低位单独取出,单独处理即可。

出0入0汤圆

发表于 2012-4-23 15:14:39 | 显示全部楼层
直接观察AD值才对吧

出0入0汤圆

 楼主| 发表于 2012-4-23 15:19:36 | 显示全部楼层
asdf1776 发表于 2012-4-23 15:14
直接观察AD值才对吧

是的,但我要将其送显

出0入0汤圆

发表于 2012-4-23 15:24:19 | 显示全部楼层
farrtone 发表于 2012-4-23 15:19
是的,但我要将其送显

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

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

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

一句话搞定

出0入0汤圆

 楼主| 发表于 2012-4-23 15:54:25 | 显示全部楼层
asdf1776 发表于 2012-4-23 15:24
不明白怎么搞这么复杂,我一般调试时用的淘宝上买的30块钱的最小系统板,P2口接了8个LED

直接把AD值赋给 ...

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

出0入0汤圆

发表于 2012-5-24 20:15:13 | 显示全部楼层
asdf1776 发表于 2012-4-23 15:24
不明白怎么搞这么复杂,我一般调试时用的淘宝上买的30块钱的最小系统板,P2口接了8个LED

直接把AD值赋给 ...

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

出0入8汤圆

发表于 2012-5-24 20:18:47 | 显示全部楼层
这么高位数的AD出来送显示,貌似要经过滤波处理才有意义。试试卡尔曼滤波出来前20位稳不稳

出0入0汤圆

发表于 2012-5-24 23:34:03 | 显示全部楼层
zfzdhz_2012 发表于 2012-5-24 20:15
好思路。
但当AD值跳的很快呢?
一直亮?

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

出0入0汤圆

发表于 2012-5-25 09:06:12 | 显示全部楼层
asdf1776 发表于 2012-5-24 23:34
广大电工都知道加delay()吧

回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 00:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表