找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2714|回复: 2
打印 上一主题 下一主题
收起左侧

一段ADC程序改写,求大神们帮忙指教

[复制链接]
跳转到指定楼层
楼主
ID:62889 发表于 2014-6-12 17:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是我原有的ADC程序,有定时器初始化,ADC初始化和中断程序,目前只有一个模拟输入口,想再加进去两个,要怎么改,求指教,先谢过
//-----------------------------------------------------------------------------定时器初始化部分
void Timer2_Init (void)
{
TMR2CN = 0x00; // Stop Timer2; Clear TF2;
// use SYSCLK as timebase, 16-bit
// auto-reload
CKCON |= 0x10; // select SYSCLK for timer 2 source
TMR2RL = 65535 - (SYSCLK / 10000); // init reload value for 10uS
TMR2 = 0xffff; // set to reload immediately
TR2 = 1; // start Timer2
}




//-----------------------------------------------------------------------------ADC初始化部分
void ADC0_Init (void)
{
ADC0CN = 0x02; // ADC0 disabled, normal tracking,
// conversion triggered on TMR2 overflow
REF0CN = 0x01; // Select internal high speed voltage
// reference

ADC0MX = 0x0e; // Select P1.6 as the ADC input pin

ADC0CF = ((SYSCLK/8300000)-1)<<3; // Set SAR clock to 8.3MHz


ADC0CF |= 0x00; // Select Gain of 0.5

ADC0AC = 0x00; // Right-justify results, no shifting
// applied


EIE1 |= 0x08; // Enable ADC0 conversion complete int.


AD0EN = 1; // Enable ADC0
}


//------------------------------------------------------------------中断函数


INTERRUPT (ADC_ISR, INTERRUPT_ADC0_EOC)
{


static unsigned long accumulator = 0; // accumulator for averaging
static unsigned int measurements = 2048; // measurement counter
unsigned long result=0;



AD0INT = 0; // clear ADC0 conv. complete flag

accumulator += ADC0;
measurements--;

if(measurements == 0)
{
measurements = 2048;
result = accumulator / 2048;
accumulator=0;


// The 10-bit ADC value is averaged across 2048 measurements.
// The measured voltage applied to P1.4 is then:
//
// Vref (mV)
// measurement (mV) = --------------- * result (bits)
// (2^10)-1 (bits)


mV = result * 3360 / 1023;
LCM1_Data(0,DuMa[mV/1000]);
LCM1_Data(1,DuMa[(mV%1000)/100]|0x10);
LCM1_Data(2,DuMa[((mV%1000)%100)/10]);
LCM1_Data(3,DuMa[((mV%1000)%100)%10]);



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:62889 发表于 2014-6-12 17:13 | 只看该作者
求大神们来解决,谢谢了
回复

使用道具 举报

板凳
ID:62064 发表于 2014-6-17 19:12 | 只看该作者
真的蛮好的哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表