概述
應廣PMS171B單片機有很實用的功能,就是可以用內部的分壓電阻,Band-gap 電路提供 1.2V 參考電壓,和比較器一起,測試單片機VDD電壓.不使用任何外部器件,不占用端口就可以測試供電的電源電壓.!當電池低壓的時候可以做相應的動作.比如休眠,進入低功耗等。本章就寫一個實例,當低于4.2V時候,LED輸出低電平,高于4.2V時候,LED輸出高電平。
PMS171B配置之比較器初始化

在這里插入圖片描述
gpcc寄存器是比較器 比較器控制寄存器,需要打開時需要7位配置為1,本文使用內部1.20V的band-gap參考電壓,需配置3-1位為010,gpcc配置如下所示:
gpcc=0b1_0_0_0_010_0;

在這里插入圖片描述

在這里插入圖片描述
gpcs寄存器是配置比較電壓,本文中以測試4.2V電壓為例,將VDD=4.2V帶入,得到N只為0.14、5.85、2.43、8.14;由于N為整數,所以Case 4模式較為適合,即gocs寄存器4-5位配置為11,切換為Case4模式,N為8,3-0位設置為1000,gpcs配置如下所示:
gpcs=0B0_0_11_1000;//檢測4.2V
比較器測供電電源VDD電壓完整代碼
#include "extern.h"//是程序的頭文件。
BIT LED : PA.7;
#define f_Com !p_Com_Out
BIT p_Com_Out : gpcc.6
BIT f_getBat;
/*比較器初始化*/
void InitCompare ( void )
{
/*b7@1=開啟比較器
b6@0=負輸入大于正輸入
b5@0=比較器不用tm2_ck采樣
b4@0=比較結果沒有極性相反
b3:1@ 010=內部Band-gap電壓
b0@1=PA4輸入0=內部電阻輸入*/
gpcc=0b1_0_0_0_010_0;
//$ padier 0b111_0_100_1;
/*
b7@0=不輸出到PA0
b6@0保留
b5@0=高R
b4@0=低R
b3:0@0000-1111內部r值
*/
gpcs=0B0_0_0_0_0000;
}
void GetBat ( void )
{
/*設置模式為Case 4,檢測4.2V*/
gpcs=0B0_0_11_1000;
.delay 10;
if ( f_Com )
{
/*電壓低于4.2V,執行LED低電平*/
f_getBat=1;
}
else//LED高電平
{
f_getBat=0;
}
}
void FPPA0 (void)//相當于程序的 main() 函數。
{
/*單片機內部RC震動時鐘為 IHRC默認為16M,因此,IHRC/4=4M,系統時鐘為4M*/
.ADJUST_IC SYSCLK=IHRC/4, IHRC=16MHz, VDD=5V;
/*端口設置為輸出*/
pa.7=0;
pac.7=1;/*輸入*/
paph.7=0;/*上拉*/
/***********電壓比較器****************/
InitCompare();
while (1)
{
GetBat();
if(f_getBat)
LED = 0;
else
LED = 1;
.delay 4000*10;
}
}
演示效果
可以看到,4.2V以上為LED輸出高電平,4.2以下為LED輸出低電平,由于4.2V左右會抖動,建議后期加防抖保證穩定運行。

在這里插入圖片描述

在這里插入圖片描述
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6076文章
45494瀏覽量
670248 -
比較器
+關注
關注
14文章
1928瀏覽量
111899 -
PMS171B
+關注
關注
1文章
7瀏覽量
2576
發布評論請先 登錄
相關推薦
熱點推薦
寫一個PMS170B的點燈程序代碼應用
@TOC概述作者經常使用一些國產芯片或者價格價格美麗的單片機,這款應廣單片機PMS171B價格美麗,性價比高,mini-c好用,適用于消費電子開發。但是案例demo太少了,為了方便大家能夠快速入門
發表于 01-07 06:02
PMS171B--6燒錄的相關資料分享
應廣PMS171B--6燒錄概述燒錄器接線燒錄概述當程序編譯通過后,需要將代碼燒錄到芯片中檢驗是否有問題,同時在將程序刻錄至 IC 之前,請先確認程序在仿真
發表于 01-18 09:55
應廣PMS171B(1)--概述&&配置端口輸出高低電平
概述作者經常使用一些國產芯片或者價格價格美麗的單片機,這款應廣單片機PMS171B價格美麗,性價比高,mini-c好用,適用于消費電子開發。但是案例demo太少了,為了方便大家能夠快速入門。為了方便
發表于 11-16 14:22
應廣PMS171B(2)--PWM輸出
引腳為5。PMS171B之PWM配置tm2b寄存器是用來配置PWM的占空比的,0-7位代表數值為0-255。 tm2s寄存器是用來配置PWM的分頻,7位代表PWM分辨率,6-5為預分頻
發表于 11-16 15:02
應廣PMS171B(3)--比較器測供電電源VDD電壓
概述應廣PMS171B單片機有很實用的功能,就是可以用內部的分壓電阻,Band-gap 電路提供 1.2V 參考電壓,和比較
發表于 11-16 16:32
應廣PMS171B(1)--概述與配置端口輸出高低電平
作者經常使用一些國產芯片或者價格價格美麗的單片機,這款應廣單片機PMS171B價格美麗,性價比高,mini-c好用,適用于消費電子開發。但是案例demo太少了,為了方便大家能夠快速入門。為了方便大家應用和開發,這里寫一個
介紹一款帶12位AD的1.5K OTP型MCU—PMS121
PMS121是一款帶12位AD的1.5K OTP型MCU,主要功能和PMS171B基本完全一致,差別就在于PMS171B的規格是8位ADC,而PMS121在規格上是12位ADC。
應廣PMS171B(3)--比較器測供電電源VDD電壓
評論