PIC24E ADC

[复制链接]
2496|1
 楼主| zhouxisay 发表于 2013-1-15 14:17 | 显示全部楼层 |阅读模式
ANSELAbits.ANSA0 = 1;   //确认AN0为模拟输入口
                AD1CON1bits.FORM   = 3; //定义输出形式为整数

                AD1CON1bits.SSRCG = 0;
                AD1CON1bits.SSRC   = 0;     //设置转换为手动模式
                AD1CON1bits.ASAM   = 0;     //SAMP置1开始转换
                AD1CON1bits.AD12B  = 1;                // 12-bit ADC 操作模式
                AD1CON1bits.ADDMABM = 0;         // DMA buffers are built in conversion order mode

                AD1CON2bits.CHPS  = 0;                // 转换CH0
                AD1CON2bits.VCFG = 0;
                //AD1CON2bits.CSCNA = 1;      //扫描采样多路开关A 选择的CH0+ 输入
                //AD1CON2bits.BUFM = 0;       //总是从起始地址开始填充缓冲区
                AD1CON2bits.ALTS = 0;       //总是使用采样多路开关A 选择的输入通道

                AD1CON3bits.ADRC=0;                        // ADC 时钟来自系统时钟
                AD1CON3bits.ADCS = 63;                // ADC Conversion Clock Tad=Tcy*(ADCS+1)= (1/40M)*64 = 1.6us (625Khz)
                                                                        // ADC Conversion Time for 12-bit Tc=14*Tad = 22.4us

                AD1CON4bits.ADDMAEN = 0;         // 转换结果存储在ADC1BUF0-ADC1BUFF中,不使用DMA
               // AD1CON4bits.DMABL = 1; //为每个模拟输入的   DMA 缓冲单元数量分配两个字的缓冲区
                AD1CON2bits.SMPI    = 0;        // 转换或采样一次后产生中断


                //AD1CHS0: A/D Input Select Register
                AD1CHS0bits.CH0SA=0;                // 通道0同相输入位为AN0
                AD1CHS0bits.CH0NA=0;                // 通道0反相输入为VREFL

                 //AD1PCFGH/AD1PCFGL: Port Configuration Register
                //AD1PCFGL=0xFFFF;
                //AD1PCFGH=0xFFFF;
                 //AD1PCFGLbits.PCFG5 = 0;                // AN5 as Analog Input


                IFS0bits.AD1IF = 0;                        //清除 A/D 中断标志位
                IEC0bits.AD1IE = 0;                        // 不使能 A/D 中断
                AD1CON1bits.ADON = 1;                //  A/D 转换开始
                Delayus(30);
以上为我对PIC24E,ADC的设置,能取到值但就是不对,麻烦哪位大牛帮忙看下,刚接触,请多指教...
837175840 发表于 2014-3-26 08:52 | 显示全部楼层
AD1CON1bits.FORM   = 3; //定义输出形式为整数
这个不对,这是定义成有符号小数模式
这个我也是刚学,多多指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

0

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部