打印
[其它应用]

一般情况下AD采集不到数据怎么回事啊

[复制链接]
828|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huanghuac|  楼主 | 2022-4-14 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一般情况下AD采集不到数据怎么回事啊

使用特权

评论回复
沙发
jlyuan| | 2022-4-14 22:07 | 只看该作者
具体看情况啊,你得程序呢

使用特权

评论回复
板凳
dingy| | 2022-4-14 22:09 | 只看该作者

#include <SH79F6488.H>
#include"periphral.h"
ulong data ADC_Data;

unsigned long data ADCData;
uchar data Temp;
unsigned long data ADvalue;
void ad_init(void)
{
           REGCON=0x01;        //2.7V
        //ADCON=0x80;                //AN2-AIN0   基准电压vref1,和VDDR同源
        //ADCON=0xa0;                //AN2-AIN0   基准电压vref2=1.19        ,和VDDR不同源
        ADCON=0xC4;                //AN0单端输入,VREF=2.7
        //ADCON=0x85;                //AN1单端输入,VREF=2.7
        //ADCON=0x86;                //AN2单端输入,VREF=2.7
        //ADCON=0x87;                //AN3单端输入,VREF=2.7
        //ADCON=0x80;                //差分输入AIN0+和AIN0-
        //ADCON=0x87;                //差分输入AIN1+和AIN1-
        //ADCON=0x87;                //差分输入AIN2+和AIN2-

        

        //ADT=0xFC;                //ADC=XXXHz@12MHz
    //ADT=0xFD;                //ADC=500Hz@12MHz
        //ADT=0xFB;                //ADC=300Hz@12MHz
        //ADT=0xF9;                //ADC=214Hz@12MHz
    ADT=0xF1;                //ADC=100Hz@12MHz
        //ADT=0xE2;                //ADC=50Hz@12MHz  
        //ADT=0xA0;                //ADC=10Hz@12MHz
        //ADCH=0x3F;          //VREF=0.15*VDDR,AIN0
        //ADCH=0x7F;          //VREF=0.22*VDDR,AIN0
        //ADCH=0xBF;          //VREF=0.3*VDDR,AIN0
        ADCH=0xFF;          //VREF=0.4*VDDR,AIN0
        //ADCDS=0x03;            //VINOS=1,ADCDF=1
          PGAM=0x04;            //PGA Gain=1,chop=1K
        //PGAM=0x14;            //PGA Gain=2,chop=1K
        //PGAM=0x24;            //PGA Gain=4,chop=1K
        //PGAM=0x64;            //PGA Gain=8,chop=1K
        //PGAM=0x84;            //PGA Gain=16,chop=1K
        //PGAM=0x94;        //PGA Gain=32,chop=1K
    //PGAM=0xA4;        //PGA Gain=64,chop=1K
        //PGAM=0xE4;        //PGA Gain=128,chop=1K  


        
}

unsigned long ScanADCData(void)
{


        while(1)
        {
                Temp=ADCON&0x40;
                if(Temp==0x40)break;
        }
        ADCON&=0xBF;
        
        ADCData=ADDH;
        ADCData=ADCData*256;
        ADCData=ADCData+ADDM;
        ADCData=ADCData*16;
        ADCData=ADCData+ADDL;

        return ADCData;
}

void main()
{

   ad_init();
   {
      ADvalue=ScanADCData();
   }
}

使用特权

评论回复
地板
pangb| | 2022-4-14 22:11 | 只看该作者
ADCH的第5位设置为1,表示P1.0作为外部参考电压输入口,而ADCON选择了内部参考电压,有些冲突。

使用特权

评论回复
5
zhanghqi| | 2022-4-14 22:13 | 只看该作者
ADCON是控制位,应该在选择好了通道等设置后再设置第7位启用AD功能。请再试试!

使用特权

评论回复
6
chuxh| | 2022-4-14 22:15 | 只看该作者
手册上写的:选择内部基准电压,VREFOS需置1。

使用特权

评论回复
7
huanghuac|  楼主 | 2022-4-14 22:17 | 只看该作者
是啊,我也说啊

使用特权

评论回复
8
juventus9554| | 2022-4-14 22:23 | 只看该作者
那就不知道了。。。

使用特权

评论回复
9
llljh| | 2022-4-14 22:26 | 只看该作者
你的ADC问题搞定了吗

使用特权

评论回复
10
dingy| | 2022-4-14 22:28 | 只看该作者
要么硬件问题要么软件问题

使用特权

评论回复
11
huangchui| | 2022-4-14 22:30 | 只看该作者
直接看看datasheet不就行了

使用特权

评论回复
12
pangb| | 2022-4-14 22:35 | 只看该作者
方便灵活的应用工具 :JET51与KeilC的无缝连接(在线调试) ,大批量烧写工具Pro-06(一拖四),个性化下载方式(ISP) ,低成本、可在线调试、可脱机烧写、可设置烧写次数的S-Lab

使用特权

评论回复
13
llljh| | 2022-4-14 22:38 | 只看该作者
高集成度,真正意义的SOC :串口X 2;比较器X 2 ,10Bit高精度ADC X 8 ,8Bit PWM X 3 ,内置EEPROM X 1K

使用特权

评论回复
14
dengdc| | 2022-4-14 22:41 | 只看该作者
88/89是前年推出来的吧,你可以直接百度搜中颖,一般能了解的都有

使用特权

评论回复
15
zhanghqi| | 2022-4-14 22:43 | 只看该作者
还不错 我用下来 发现isp很快. jtag下载也非常好. 抗干扰能力很强的.

使用特权

评论回复
16
bqyj| | 2022-4-14 22:44 | 只看该作者
高集成度,抗干扰能力强

使用特权

评论回复
17
huanghuac|  楼主 | 2022-4-14 22:46 | 只看该作者
多谢大家讨论这么多哈,呵呵

使用特权

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

本版积分规则

772

主题

8473

帖子

6

粉丝