找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6923|回复: 14
打印 上一主题 下一主题
收起左侧

stc15f2k60s2 十位ADC转换结果(高8低2)可以用八位表示吗

  [复制链接]
跳转到指定楼层
楼主
ID:88205 发表于 2015-8-13 18:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题  急用  好人一生平安
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:87486 发表于 2015-8-13 19:38 | 只看该作者
你可以直接转换成十进制的数字的。
回复

使用道具 举报

板凳
ID:87486 发表于 2015-8-13 19:38 | 只看该作者
本帖最后由 ville95 于 2015-8-13 19:41 编辑

void adc()interrupt 5
{
        ADC_CONTR&=!ADC_FLAG;
        t=(ADC_RES*4+ADC_RESL);
        f=t*4.1/1024;
        m=f*10000;
        value_buf[count]=m;
        count++;
        if(count==10)
        {
                count=0;
                sum=0;
        }        
        else
        {
                sum=sum+value_buf[count-1];
                pjs=sum/count;
        }
        ADC_RES=0;
        ADC_RESL=0;
        ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START|ch;
        nop;
        nop;
        nop;
        nop;

回复

使用道具 举报

地板
ID:60379 发表于 2015-8-13 21:07 | 只看该作者
舍弃低2位则只8位了
回复

使用道具 举报

5#
ID:88463 发表于 2015-8-17 11:11 | 只看该作者
初学C51,来看看!  顶!!!!
回复

使用道具 举报

6#
ID:274875 发表于 2018-1-11 16:52 | 只看该作者
无量寿经 发表于 2015-8-13 21:07
舍弃低2位则只8位了

这样会不会影响ADC结果
回复

使用道具 举报

7#
ID:274875 发表于 2018-1-11 16:57 | 只看该作者
无量寿经 发表于 2015-8-13 21:07
舍弃低2位则只8位了

这样会不会影响对ADC结果的计算
回复

使用道具 举报

8#
ID:47286 发表于 2018-1-11 19:34 | 只看该作者
stc的内部AD结果分高位和低位 15系你可以设置高位是2位还是低位是2位 所以你要看一下手册 如果高位是最前面2位 给舍了数值就彻底不一样了 低位的2位舍了就是标准的8位AD

8位AD的精度必然不如10位 转换的结果可以计算但会有点不一样 8位用char就可以 10位要用int 计算上当然不一样了
回复

使用道具 举报

9#
ID:274875 发表于 2018-1-12 08:13 | 只看该作者
dzbj 发表于 2018-1-11 19:34
stc的内部AD结果分高位和低位 15系你可以设置高位是2位还是低位是2位 所以你要看一下手册 如果高位是最前面 ...

回答的很详细,谢谢,明白了!
回复

使用道具 举报

10#
ID:94642 发表于 2020-5-21 09:45 | 只看该作者
兄弟,楼上回答的很详细了,不能直接用8位的表示,你需要一个十位的数字来接受,不然数据会丢失的,你或者直接把运算的东西返回就行了
回复

使用道具 举报

11#
ID:757214 发表于 2020-5-21 11:06 | 只看该作者
直接转换成十进制的数字的就行了
回复

使用道具 举报

12#
ID:755472 发表于 2020-5-21 12:23 | 只看该作者
影响ADC精度
回复

使用道具 举报

13#
ID:655378 发表于 2020-5-21 16:04 | 只看该作者
转换成十进制的数字的就行了
回复

使用道具 举报

14#
ID:718536 发表于 2022-6-16 11:03 | 只看该作者
干嘛不用十位呢?精度起码高一点呀。

adcr = ADC_RES<<2|ADC_RESL;  //int adc转换结果读取高8位与低2位。
回复

使用道具 举报

15#
ID:398219 发表于 2022-6-16 11:24 | 只看该作者
我感觉10位和8位差别不大呀,我的应用场景应该不同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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