標(biāo)題: 單片機(jī)比較器的外圍電路解法? [打印本頁]
作者: 木示 時間: 2023-7-19 23:16
標(biāo)題: 單片機(jī)比較器的外圍電路解法?
大家好,用單片機(jī)的比較器與外圍的電池電壓做比較,然后做出反應(yīng),外圍電路應(yīng)該怎樣搭建?
-
3.jpg
(111.32 KB, 下載次數(shù): 65)
下載附件
2023-7-19 23:12 上傳
-
4.jpg
(492.86 KB, 下載次數(shù): 67)
下載附件
2023-7-19 23:16 上傳
這樣接對否?
作者: cnfloatleaf 時間: 2023-7-20 00:06
不如將電池電壓送到ADC,得到電壓值,然后根據(jù)電壓值判斷,這樣的好處是,比較的電壓門限可以設(shè)置,比較靈活。
作者: Y_G_G 時間: 2023-7-20 00:17
STC的比較器就跟它的PWM一樣,數(shù)據(jù)手冊洋洋灑灑一大堆,你啃半天都不一定知道它在說什么
電池供電還是用帶ADC的單片機(jī)好一點(diǎn),可以精確處理,也可以知道電池的實(shí)際電壓
關(guān)鍵是STC帶ADC的單片機(jī)并沒有比不帶ADC的單片機(jī)貴多少,有的型號甚至是更便宜
作者: wulin 時間: 2023-7-20 07:14
無標(biāo)題.png (512.54 KB, 下載次數(shù): 40)
下載附件
2023-7-20 07:14 上傳
作者: yzwzfyz 時間: 2023-7-20 08:56
談到比較,必須有兩個量。一個是標(biāo)準(zhǔn),一個是對象。
標(biāo)準(zhǔn)取什么?可以外部分搭建,也可以從內(nèi)部獲取。即然CPU嵌入了比較器,設(shè)計者必會給出一個內(nèi)部的標(biāo)準(zhǔn)。建議你使用。
比較的對象:電池,必須將它映射到標(biāo)準(zhǔn)附近,否則如何比較呢?最簡單的方法就是用電阻分壓至標(biāo)準(zhǔn)附近。
但這會浪費(fèi)電池的能量。
節(jié)能:如果不需要時時刻刻檢測,可以加控制開關(guān),只在檢測時接入分壓電阻(不是主題,不在此討論細(xì)節(jié))。
如果必須時時刻刻檢測,可以加大電阻的阻值;蚱渌呒壍姆桨福ú辉诖擞懻摚
作者: 劉佑紅 時間: 2023-7-20 11:06
STC8H的比較器比PWM好懂多了;
/*********比較器初始化函數(shù)****************/
Void CMPint(Void)
{
CMPCR2 = OX00;//清零
CMPCR2 &=0xBF; //1011 1111, 開啟0.1us濾波
CMPCR2 |= 0x3F;//0001 1111, 比較器結(jié)果經(jīng)過63個去抖時鐘后輸出
CMPCR1 = 0x00; //清零
CMPCR1 |= 0x10; //0001 0000,開啟比較器下降沿中斷(根據(jù)需要修改)
CMPCR1 &= 0XF7; //1111 0111,P3.7為CMP+輸入腳
CMPCR1 &= 0xFB; //1111 1011,內(nèi)部1.19V為CMP-輸入腳
CMPCR1 &= 0xFD; //1111 1101,禁止比較器輸出(根據(jù)需要是否輸出)
CMPCR1 |= 0x80; //開啟比較器模塊
}
此函數(shù)在main主函數(shù)中作初始化函數(shù),去抖可根據(jù)自己需要修改。
需要執(zhí)行的任務(wù)放在比較器中斷函數(shù)內(nèi)
/******比較器中斷函數(shù),級別在初始化中設(shè)置為最高級3*********/
void CMP_Isr() interrupt 21
{
CMPCR1 &= 0xBF;//1011 1111,使CMPIF=0,清中斷標(biāo)志
想要執(zhí)行的任務(wù);//要簡潔明了,不要占用過多步驟,如多可執(zhí)行一個標(biāo)志位,由標(biāo)志位觸發(fā)執(zhí)行相關(guān)復(fù)雜任務(wù)。
}
作者: coody_sz 時間: 2023-7-20 16:53
就是一個比較器,負(fù)輸入端選擇內(nèi)部的1.19V基準(zhǔn),從P3.7輸入比較電壓。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |