[8/16位单片机] microchip ADC采集程序

[复制链接]
779|13
| 2019-2-10 11:48 | 显示全部楼层
你用的那个系列,不同型号有区别的

使用特权

评论回复

评论

1373822176 2019-2-11 09:56 回复TA
PIC24H 
| 2019-2-10 11:53 | 显示全部楼层
自己到官网下载软件啊,也可以生成代码的

使用特权

评论回复
| 2019-2-10 15:45 | 显示全部楼层
#include "pic.h"
#include "pic16f689.h"
#include "adc.h"
#include "init.h"
void AD_init(void)                        //ADRESH,ADRESL为AD结果存储器
{
        ADCON0 = 0Xa7;                        //选择通道9,左对齐参考电压为VDD,使能ADC
        ADCON1 = 0X00;                        //选择时钟为Fosc/2
        ANSELH |= 0X02;                        //将AN9,也就是RC7配置为模拟输入
        INTCON |= 0XC0;                        //使能全局非屏蔽中断,允许外设中断
        PIE1   |= 0X80;                        //运行ADC中断
        PIR1   |= 0X80;                        //AD转换器中断标志,AD转换完成,(必须用软件清零)
       
}
uint ADC_Value_ONE(void)        //ADC采集1次结果
{
        uint value=0;
        ADCON0 |=0X02;                        //将GO/DONE置1,启动AD转换
        while (ADCON0&0X02);        //查询GO/DONE位,如果为1等待转换完成,ADC转换完成,将GO/DONE置位0
        value = ADRESH;                        //读取ADC转换结果的高2位
        value = value<<8;                //将高2位左移8位
        value +=ADRESL;                        //低8位数据加入ADRESL值
        return value;
}
uint ADC_Value_more (void)        //AD多次采集取平均值
{
        uchar i=0;
        uint ADC_VALUE_ALL=0,mean_adc=0;
        for (i=0;i<ADC_NUM;i++)
        {
                ADC_VALUE_ALL+=ADC_Value_ONE();
        }
        mean_adc=ADC_VALUE_ALL/ADC_NUM;
        return mean_adc;
}

使用特权

评论回复
| 2019-2-11 08:21 | 显示全部楼层
使用MCC插件可以自动生成。

使用特权

评论回复

评论

oxygenzz 2019-2-11 13:01 回复TA
@6688hyc :MCC 是Microchip提供的芯片配置和代码生成工具。是图形化的软件工具,用起来很方便。 在MCC界面窗口中,可以通过双击、勾选等界面操作,来配置单片机,例如加入某个外设,设置外设的工作模式等等。配置好之后,再点击一下生成代码的按钮,MCC就能生成相应的代码。 https://www.microchip.com/mplab/mplab-code-configurator MCC 是MPLAB X的一个插件,使用之前需要安装。 
6688hyc 2019-2-11 08:34 回复TA
MCC插件 是啥啊? 
| 2019-2-19 14:01 | 显示全部楼层
这些基本的就用MCC生成吧,很方便

使用特权

评论回复
| 2019-2-19 15:02 | 显示全部楼层
伍戈123 发表于 2019-2-10 15:45
#include "pic.h"
#include "pic16f689.h"
#include "adc.h"

不需要去掉一个最大值,去掉一个最小值么?

使用特权

评论回复
| 2019-2-20 18:40 | 显示全部楼层
官网上应该都查得到这些资料

使用特权

评论回复
| 2019-2-21 09:05 | 显示全部楼层
XIDE + XC8 +MCC 可以完成大部分的事情了.

使用特权

评论回复
| 2019-2-26 14:14 | 显示全部楼层
钓鱼大师 发表于 2019-2-19 15:02
不需要去掉一个最大值,去掉一个最小值么?

看你需要咯

使用特权

评论回复
| 2019-2-26 14:56 | 显示全部楼层
官网找资料,或者编译器自动生成。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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