久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8610|回復: 4
打印 上一主題 下一主題
收起左側

基于pic16f1503單片機的電源電壓不足檢測和指示方法 含源碼+仿真

[復制鏈接]
跳轉到指定樓層
樓主
基于pic16f1503單片機的電源電壓不足檢測和指示方法:
原理:
利用單片機內部的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以下指示輸出燈不亮。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)




單片機源程序如下:
  1. #include"sys.h"
  2. #include <stdint.h>        /* For uint8_t definition */
  3. #include <stdbool.h>       /* For true/false definition */
  4. #include <stdio.h>
  5. #include <string.h>
  6. #include <stdlib.h>
  7. #include<math.h>
  8. #define POWER_LED PORTCbits.RC0           //RC0 為系統電源指示燈,
  9.                                           //電源大于3.3V時,燈亮;
  10.                                                 //電源小于3.3V時,燈滅;

  11. void sys_init()                                //系統初始化
  12. {
  13.     OSCCON=0x7F;                //16M  內部晶振
  14.     FVRCON=0B01010001;          //FVREN,ADCFVR=01(1.024V)
  15.     ADCON0=0B01111100;          //FVR channel,ADCON   
  16.     ADCON1=0B10000000;          //right 對齊
  17.     ANSELC=0;                   //PORTC是IO口
  18.     PORTC=0;                                
  19.     TRISC=0;                              //PORTC是輸出
  20.    
  21. }
  22. void main()
  23. {
  24.     sys_init();                         //系統初始化
  25.     while(1)
  26.     {
  27.         FVRCONbits.FVREN=1;        //FVR 使能
  28.         while(!FVRCONbits.FVRRDY); //FVR 是否穩定
  29.         ADCON0bits.ADON=1;         //ADC 使能
  30.         __delay_ms(1);             //delay
  31.         ADCON0bits.GO=1;           //ADC 轉換開始
  32.         while(ADCON0bits.GO);      //等待ADC 轉換結束
  33.         uint16_t adc_result=(uint16_t)ADRESH<<8 |ADRESL; //得到ADC 讀數
  34.         if(adc_result<318) POWER_LED=1;     //(1.024/3.3)*1024=318        
  35.         else POWER_LED=0;     
  36.         FVRCONbits.FVREN=0;                 //FVR 使能關閉,節能
  37.         __delay_ms(5000);
  38.         
  39.     }
  40. }
復制代碼

所有資料51hei提供下載:
一種單片機檢測VDD輸入的方法.rar (331.46 KB, 下載次數: 79)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:328014 發表于 2018-5-24 00:04 | 只看該作者
感謝斑竹的分享,正好要用,準備移植到51單片機
回復

使用道具 舉報

板凳
ID:280061 發表于 2018-12-8 23:35 | 只看該作者
多謝分享                    
回復

使用道具 舉報

地板
ID:280061 發表于 2018-12-8 23:36 | 只看該作者
多謝分享                              
回復

使用道具 舉報

5#
ID:280061 發表于 2018-12-9 08:41 | 只看該作者
多謝分享           
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 五月综合久久 | 欧美激情在线精品一区二区三区 | av一区在线 | 艹逼网| 免费特级黄毛片 | 我想看国产一级毛片 | 亚洲三级在线 | 国产98色在线 | 日韩 | 涩涩视频在线观看 | 91在线播| 久久99精品久久久久蜜桃tv | 国产日韩欧美精品 | 成人精品在线观看 | 久久久精品一区二区三区 | 久久9热 | 视频一二三区 | 国际精品鲁一鲁一区二区小说 | av电影一区二区 | 2020亚洲天堂 | 亚洲第一网站 | 一区二区三区视频在线 | 久久久久久久久久久爱 | 成年网站在线观看 | 最新国产福利在线 | 欧美日韩国产中文字幕 | 精品久久久久久久久久久久久久久久久 | 欧美精品中文 | 亚洲福利一区二区 | 亚洲国产中文字幕 | 国产精品久久久久免费 | 97久久精品| 四虎影院一区二区 | 亚洲精品国产一区 | 国产精品毛片一区二区在线看 | 国产一区二区三区在线 | 欧美成人免费在线 | 久草在线 | 伊人国产精品 | 福利视频网站 | 国产亚洲精品a | a级片在线观看 |