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

 打开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

不足之处是看不到小数部分,后面看看如何发送小数点再改进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值