打印
[STC单片机]

stc ad转换问题

[复制链接]
1645|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
关关|  楼主 | 2013-8-30 16:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        我用的是stc12c5a60s2  自带ad转换  想问问能否采集两路模拟信号  分别显示?采集的结果如何读取?其实我结果的读取一直没看太明白,我见的有以下几种,我也不知道是不是结果转换部分,能给我讲讲吗?如果我两路模拟输入,结果应如何分别读取?
           1、 status=ADC_CONTR&0x10;
           2、while(!(ADC_CONTR&ADC_FLAG));
                  ADC_CONTR&=~ADC_FLAG;
                  return ADC_RES*4+ADC_LOW2;
           3、AD_get=ADC_RES;
这是结果转换寄存器  

谢谢啦~~

相关帖子

沙发
123654789| | 2013-8-30 16:17 | 只看该作者
想问问能否采集两路模拟信号
回答,能采集两路模拟信号,要切换通道

采集的结果如何读取?
回答 读取转换结果数据寄存器
你的图片当中 ADC_RES 和 ADC_LOW2 就是那两个数据寄存器

其实我结果的读取一直没看太明白,
回答 return ADC_RES*4+ADC_LOW2;
你文中这条函数就是读取结果

如果我两路模拟输入,结果应如何分别读取?
回答 是读取两个数据寄存器
每一路模拟输入都是同样两个寄存器
不是一路模拟输入对应两个寄存器,8路模拟输入对应16个寄存器,
概括来说就是多个通道使用同样的两个转换结果数据寄存器

使用特权

评论回复
板凳
xiaoliping1945| | 2013-8-31 21:47 | 只看该作者
其实很简单,初始化,打开你的两路输入通道,然后后面的配置相应做好, 采集第一路通道后,读取结果,再采集第二路通道,读取结果即可,如果前面配置的ADRJ=0;那读取的结果要变为:Result=ADC_RES<<2+ADC_RESL;  若果配置的是ADRJ=1;那就result=ADC_RES<<8+ADC_RESL;由于STC12的只有一个结果寄存器,所以采集完一个通道后就读出结果,再采集下通道就可以了

使用特权

评论回复
地板
关关|  楼主 | 2013-9-1 16:47 | 只看该作者
xiaoliping1945 发表于 2013-8-31 21:47
其实很简单,初始化,打开你的两路输入通道,然后后面的配置相应做好, 采集第一路通道后,读取结果,再采 ...

3ku

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

531

帖子

10

粉丝