打印
[STC单片机]

15w4k系列单片机AD转换求助和定时器问题求助

[复制链接]
862|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
s454783436|  楼主 | 2017-10-28 14:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助各位大佬,我现在在做光立方频谱,用的STC15W系列的单片机,采用定时器中断定时进行层扫描。当进行完ADC的初始化之后,给ADC_CONTR寄存器中的ADC_START置1开始采集数据,但是每次只要让ADC_CONTR的START位置1时,定时器都会扫描停止,也进不到定时器中断的程序。然而我的ADC其余的寄存器位配置的应该没问题,只要操作ADC_START位定时器中断就进不去了。请大佬们帮我分析一下是哪的原因,非常感谢!!!
#define ADC_POWER         0x80

#define ADC_SPEEDHH 0x60
#define ADC_SPEEDH        0x40
#define ADC_SPEEDL         0x20
#define ADC_SPEEDLL        0x00

#define ADC_FLAG         0x10
#define ADC_START         0x08
#define ADRJ            0x20

#define CH0 0
#define CH1 1
#define CH2 2

void Timer0init()
{
        TMOD=0x01;
        TH0=0xF8;                        
        TL0=0x30;                        
        ET0=1;
        EA=1;                                                                 
        TR0=1;               
}

void ADC_Init()
{        
        P1ASF|=0x03;
        
        PADC=0;
        
        EA=1;
        EADC=1;
        ADC_RES=0;
        ADC_CONTR = ADC_POWER | ADC_SPEEDH;
        Delay(20);
}

uchar GetADC_data(uchar CH)
{
        ADC_CONTR |=ADC_START+CH;
        TR0=1;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        
        while(!(ADC_CONTR & ADC_FLAG));
        ADC_CONTR &= ~ADC_FLAG;         //Close ADC
        
        return ADC_RES;                                        //Return ADC value
}


void main()
{
        uchar i;
        cDATA=0x01;
        IO_Init();
        Timer0init();
        ADC_Init();
        
        while(1)
        {
                for(i=1;i<65;i++)
                        ADC_data.real=GetADC_data(CH2);
                FFTProcess();
                led3=~led3;
        }
}

void timer0() interrupt 1 using 1
{
        TH0=0xF8;                        
        TL0=0x30;
        P0=cDATA;
        led1=0;
        bright(ledBuf);
        if(cDATA>=0x80)
                cDATA=0x01;
        else
        {
                cDATA<<=1;
                led2=0;
        }
}

相关帖子

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

本版积分规则

1

主题

4

帖子

0

粉丝