打印
[MINI51]

这个论坛好像不是很活跃啊!MINI54LAN ADC转换后数值一直是0,为什么呢?

[复制链接]
1734|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zjx_arm|  楼主 | 2013-4-17 14:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
事情是这样的,小弟在淘宝上买了一块min51的开发板,MCU是MINI54LAN,把MINI54LAN的第41个引脚(ADC CHEN0)跟一个也是淘宝上买的热敏电阻模块的模拟输出引脚相连,然后按照手册跟官网上载的代码配合起来把AD模块初始化了,然后启动转换并读取ADDR0的值,结果发现ADD0一直等于0x20000,也就是0~9这10位数据一直是0,不知道为什么啊。。。我的热敏电阻模块有3跟针脚,vcc gnd A0,VCC接MINI54LAN上的AVCC,GND接MINI54LAN上的GND,A0接MINI54LAN上的第41个引脚。。。热敏电阻模块原理图如下,AD模块初始化代码如下:
void Init_ADC(void)
{
        IPRSTC2 |= ADC_RST;//复位ADC外设   
    IPRSTC2 &= ~ADC_RST;//ADC模块从复位状态恢复到正常状态   
    APBCLK |= ADC_CLKEN;//使能ADC时钟
       
        //选择外部晶振作为ADC时钟源   
    CLKSEL1 = CLKSEL1 & (~ADC_CLK) | ADC_12M_32K;  
    CLKDIV |= 0x00050000;//ADC时钟6分频   
    ADCR |= ADEN;//使能ADC

        //选择ADC的0~7通道
        //ADCHER |= (CHEN0|CHEN1|CHEN2|CHEN3|CHEN4|CHEN5|CHEN6|CHEN7);
        ADCHER |= (CHEN0);
       
        //AIN0  
    P5_MFP = P5_MFP & (~P53_MFSEL) | P53_AIN0;//配置P5.3为AD输入脚   
    P5_OFFD |= OFFD3;//关数字输入通路   
    P5_PMD = P5_PMD & (~Px3_PMD) | Px3_IN;//配置P5.3为输入模式
       
        //AIN1
/*        P5_MFP = P5_MFP & (~P52_MFSEL) | P52_INT1;  
    P5_OFFD |= OFFD2;  
    P5_PMD = P5_PMD & (~Px2_PMD) | Px2_IN;

        //AIN6
        P3_MFP = P3_MFP & (~P30_MFSEL) | P30_AIN6;  
    P3_OFFD |= OFFD0;  
    P3_PMD = P3_PMD & (~Px0_PMD) | Px0_IN; */

          
    ADSR |= ADF;//清中断标志   
    ADCR |= ADIE;//使能ADC中断   
    NVIC_ISER = ADC_INT;//使能NVIC里ADC中断矢量
}

void Start_ADC(uint8_t u8CHEN)
{
        ADCR |= ADST;//启动ADC
}
void ADC_IRQHandler(void)
{
        static uint16_t u16ADCValue = 0;
        uint8_t acBuff[20] ={0};

        //清中断标志
    ADSR |= ADF;
        //读ADC结果
    u16ADCValue = ADDR0 & 0x000003FF;
        sprintf(acBuff,"the value %d\n", u16ADCValue);
       
        Write_UART(acBuff, 128);  
}

//main函数就初始化了AD模块,然后就启动转换,结果发现在AD中断的处理函数内读出来的数值都是0
热敏电阻模块原理图如下:
这边不知道怎么上图,反正就是把一个热敏电阻跟一个10K的电阻串联,然后两头一边接VCC一边接GND,然后在引出一根A0模拟量输出端,A0就接开发板的AD模块通道0输出引脚了。。。

相关帖子

沙发
zjx_arm|  楼主 | 2013-4-17 14:27 | 只看该作者
这是热敏电阻模块的原理图。

热敏传感器原理图.jpg (19.5 KB )

热敏传感器原理图.jpg

使用特权

评论回复
板凳
airwill| | 2013-4-17 17:26 | 只看该作者
结果为0, 最大可能应该是 ADC 没有启动过, 查设置吧

使用特权

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

本版积分规则

6

主题

15

帖子

0

粉丝