网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月05日漏签0天
单片机吧 关注:211,745贴子:1,046,269
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 6回复贴,共1页
<<返回单片机吧
>0< 加载中...

一段的ADC程序,现在想添加另外的模拟输入端,求大神修改程序

  • 只看楼主
  • 收藏

  • 回复
  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//-----------------------------------------------------------------------------定时器初始化部分
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]);


  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶一下,等大神来


2025-06-05 07:33:00
广告
  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不要沉掉啊,求大神来指教一下啊


  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一会又找不到了


  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求人来指导


  • baipsj1
  • 少尉
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大神们来啊


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 6回复贴,共1页
<<返回单片机吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示