打印
[家电应用]

SH796488 ADC不行求教

[复制链接]
1053|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
肥羊|  楼主 | 2019-6-26 10:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 肥羊 于 2019-6-26 10:30 编辑
sbit SEN_A = P4^5; //时钟
sbit SEN_B = P4^6;   //数据


void InitADC(void)
{
        Bank0;

        P4CR|=(1<<5);
        P4CR|=(1<<6);

    REGCON=0x03; //开稳压电源 3.3V
        
        ADCON = 0x04;   //使用内部基准电源

        ADT=0xC4; //100KHz

        ADCH = 0xE2;  //VREF = 0.40 X VDDR

        ADCDS=0x00;

        PGAM=0x08;


        ADDH=0x00;
        ADDM=0x00;
        ADDL=0x00;



        EADC=1;//开启ADC中断
}

上面是初始化ADC
下面是中断

//选择转换通道
void SiwtchChanl(u8 num)
{
  switch(num)
  {
    case 0: SEN_A=1; SEN_B=0; break;  // 通道0  DEF_Prot 化霜探头
    case 1: SEN_A=1; SEN_B=0; break;  //通道1
    default:break;
  }
}

u8 textIndex=0;
u16 TxexFoalt=0;
u16 Textvalua[4];

//开始转换
void StartADC(u8 num)
{
SiwtchChanl(num);
ADCON=0x84;//开始转换
}

u8        dataL=0;
u8        dataM=0;
u8        dataH=0;

u16 GetADCData(void)
{
  
   u32 dataRe=0;

   
   dataL=ADDL;
   dataL=(dataL<<4);
   dataM=ADDM;
   dataH=ADDH;//数据高8位
   
   dataRe=dataH;
   dataRe=(dataRe<<8);
   dataRe=dataRe|dataM;
   dataRe=(dataRe<<8);
   dataRe=dataRe|dataL;
   dataRe=(dataRe>>4);
         
   return dataRe;
}


void ADCinterrupt() interrupt 6
{
   ADC_FinshFlag=1;
   ADC_Data=GetADCData();
   ADCON=0X04;// 清除中断标志位

   textIndex++;
}

能进入中断但是
dataL
dataM
dataH
这三个数据一直为零转换不出数据

使用特权

评论回复
沙发
肥羊|  楼主 | 2019-6-26 11:00 | 只看该作者
这是说明书

SH79F6488_6489CV2.2.pdf

1.88 MB

使用特权

评论回复
板凳
肥羊|  楼主 | 2019-6-26 11:50 | 只看该作者
没有人吗

使用特权

评论回复
地板
肥羊|  楼主 | 2019-6-28 09:58 | 只看该作者

使用特权

评论回复
5
肥羊|  楼主 | 2019-6-29 14:29 | 只看该作者
自己顶没有人吗

使用特权

评论回复
6
肥羊|  楼主 | 2019-7-5 11:24 | 只看该作者

使用特权

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

本版积分规则

35

主题

271

帖子

1

粉丝