打印

有用过STC15F2K60S2这个单片机的吗,问一下用这个单片机实现多通道采样的问题

[复制链接]
951|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jzhyudpj|  楼主 | 2015-7-12 16:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我编写了一个用STC15F2K60S2单片机用两个通道采集工频电压信号和电流信号的程序,一个工频周期采样12个点,用定时器定时1.667ms,定时结束后先采P10口再采P11口,发现寄存器中存放两个通道模数转换结果数组里的值是一样的,h[]数组跟k[]数组里的值是一样的,个人分析是转换AD通道的程序出错了,部分程序如下,请各位高手帮我纠正一下,谢谢。
/*----------------------------
ADC中断服务程序
----------------------------*/
void adc_isr() interrupt 5 using 1
{
    ADC_CONTR &=!ADC_FLAG;                          //清除ADC中断标志
    GetADC=(ADC_RES<<2)| (ADC_RESL&0x03);
        g=(float)GetADC;//*(220.0/1.5);                 //输入互感器的电压值=转换结果*(5.0/1023)*(220/1.5)
        if(ch==0)
        {
          h[q]=g;
          ch=1;
          ADC_START=0x08;
        }
        else
        {  
          k[q]=g;
          t=1;
          ADC_START=0x00;
        }
        ADC_CONTR|=(ADC_START|ch);
}
/*----------------------------
定时中断服务程序
----------------------------*/
void timer0() interrupt 1
{
   ch=0;
   ADC_CONTR|=(0x08|ch);
}
/*----------------------------
初始化ADC
----------------------------*/
void InitADC()
{
    P1ASF = 0xff;                        //设置P1口为AD口
    CLK_DIV&=~0x20;                                     //高8位加低两位的形式   
    ADC_RES = 0;                         //清除结果寄存器
    ADC_CONTR = ADC_POWER | ADC_SPEEDHH;                //选择ch口作为AD输入来用
    Delay(2);
        IE=0xa0;                            //ADC上电并延时
}
/*----------------------------
初始化T0定时器
----------------------------*/
void InitT0()                                                          //初始化定时器0
{
   AUXR|=0x80;//|=0x80;//&=0x7F;                                                         //
   TMOD&=0xF0;
   TH0=0x27;//0xFD;//0xFA;//0x70;//0x75;//0xfa;//0xf6;//0xED;//0xFA;//0xF9;//0xBA;////0xF9                                                         //定时1.6ms
   TL0=0xF5;//0x00;//0x3D;//0x3A;//0xC2;//0x3e;//0xe2;//0xC5;//0x00;//0x7C;//0XE1;// //7C
   TF0=0;
   TR0=1;
   IE|=0x82;//ET0=1;  
}

相关帖子

沙发
jzhyudpj|  楼主 | 2015-7-12 17:00 | 只看该作者
我感觉是AD中断服务程序切换通道的时候出现了错误,不知道怎么改,求教,谢谢。

使用特权

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

本版积分规则

2

主题

6

帖子

0

粉丝