×
单片机 > 单片机程序设计 > 详情

基于pic16f1503单片机的电源电压不足检测和指示方法

发布时间:2020-05-29 发布时间:
|

原理:
利用单片机内部的FVR稳压电源,ADC进行检测判断单片机的VDD电压是否足够,不足进行输出显示。


应用:
当单片机的供电是由电池供电时,可以测量单片机的供电是否足够,指示电池电量不足。
实际电路测试功能可行,已经应用在具体电路上。


软件:
MPLAB X IDE v4.15    proteus 8.6.
1、仿真电路图;
2、源程序加注释。

说明:

1、利用PIC16F1501内部的FVR,ADC可以测量VDD电压,判断单片机是否供电电压不足。
2、将ADC的基准设为Vdd,通过FVR使能并稳定到1.024V后,用ADC测量值。
3、有公式ADC读值=(1.024/VDD)*1024。设置Vdd参考为3.3V,则(1.024/VDD)*1024=318.
4、VDD越大,FVR的ADC读值越小,所以只要判断读值小于318,说明VDD 大于3.3V
5、图中左边VDD=3.3V.输出指示灯亮,正常,右边VDD=3.29V输出指示灯灭。
6、两个芯片的程序相同,电压基准是3.3V,3.3V以下指示输出灯不亮。

仿真原理图如下

 

单片机源程序如下:

#include"sys.h"

#include         /* For uint8_t definition */

#include        /* For true/false definition */

#include

#include

#include

#include

#define POWER_LED PORTCbits.RC0           //RC0 为系统电源指示灯,

                                          //电源大于3.3V时,灯亮;

                                                //电源小于3.3V时,灯灭;


void sys_init()                                //系统初始化

{

    OSCCON=0x7F;                //16M  内部晶振

    FVRCON=0B01010001;          //FVREN,ADCFVR=01(1.024V)

    ADCON0=0B01111100;          //FVR channel,ADCON   

    ADCON1=0B10000000;          //right 对齐

    ANSELC=0;                   //PORTC是IO口 

    PORTC=0;                                

    TRISC=0;                              //PORTC是输出

    

}

void main()

{

    sys_init();                         //系统初始化

    while(1)

    {

        FVRCONbits.FVREN=1;        //FVR 使能

        while(!FVRCONbits.FVRRDY); //FVR 是否稳定

        ADCON0bits.ADON=1;         //ADC 使能

        __delay_ms(1);             //delay

        ADCON0bits.GO=1;           //ADC 转换开始

        while(ADCON0bits.GO);      //等待ADC 转换结束

        uint16_t adc_result=(uint16_t)ADRESH<<8 |ADRESL; //得到ADC 读数

        if(adc_result<318) POWER_LED=1;     //(1.024/3.3)*1024=318        

        else POWER_LED=0;     

        FVRCONbits.FVREN=0;                 //FVR 使能关闭,节能

        __delay_ms(5000);

        

    }

}



关键字:pic16f1503  单片机  电源电压  检测和指示

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会