打印
[学习资料]

学习PIC心得体会(MPLAB)----使用ADC测量电压

[复制链接]
107|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AD, ADC, Lab, dc, ic
打开MCC,在Device Resources一栏找到你要使用的ADC模块点击加号添加,使用ADC模块的前提是你的系统时钟必须配置正确,否则会影响采样频率得到结果有偏差





芯片引脚图中配置右键找到ADC单击即可



或者在此处配置



最后点击生成



关闭MCC返回代码界面,编写代码,实现串口输出

#include "mcc_generated_files/mcc.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t

u16 guiVinAd=0;

void get_vin(void)
{
    static u8 cnt=0;
    static u32 sum=0;


    cnt++;
    sum+=ADC_GetConversion(channel_ANC1);//累加AD转换值
    if(cnt>=16)//
    {
        guiVinAd = sum / cnt/200;//求平均值后除以两百刚好能在串口上显示整数
        sum = 0;
        cnt = 0;      
    }
}


void main(void)
{
    // initialize the device
    SYSTEM_Initialize();      

    //使能串口发送中断
    EUSART_SetTxInterruptHandler(TxIsr);

    //使能全局中断
    INTERRUPT_GlobalInterruptEnable();

    //使能外设中断
    INTERRUPT_PeripheralInterruptEnable();

    while (1)
    {
        //获取AD值并进行数据处理
        get_vin();

        //使能串口发送
        PIE1bits.TXIE = 1;

        //使能看门狗
        CLRWDT();
    }
}


电位器的使用

中间脚连接AD测量引脚,其他脚一个连电源一个连GND即可

验证实验方法

使用万用表测量中间引脚和GND之间的电压,若单片机对串口发送的信息与万用表一致,则成功





电位器连接Vcc端连接5v,调节电位器的旋钮查看现象



得到实验现象

从5v变化到3v当然也可以到0v





————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/brejt721/article/details/148000639

使用特权

评论回复
沙发
小灵通2018| | 2025-6-22 07:38 | 只看该作者
这个系列图形化开发挺好用

使用特权

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

本版积分规则

55

主题

154

帖子

0

粉丝