24位AD数据处理送显问题

2020-02-05 09:17发布

如发帖位置不对请老大指正。
各位好,现调试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);
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。