通過電位器修改聲音大小從原理上講就是重新寫乙個按鍵型別,只不過按鍵型別是乙個旋鈕,旋鈕就相當於乙個滑動變阻器,通過旋轉之後,晶元的讀取到的電壓值是在變化的,咱們再根據值的不同進行下一步的操作。
具體操作如下:
定義乙個巨集定義來管理是否開啟旋轉聲音控制
#define potent_key 1
下一步就是建立乙個讀取旋轉資料的io口,key_init()中:
#if potent_key
adc_ch |
=bit
(adcch_pa7)
;#endif
#if potent_key
adc_cb.potent_val =
(u8)
(adc_cb.sfr[adcch_pa7]
>>2)
;#endif
其實上面就建立了乙個io口的按鍵,需要注意的是,兩個建立的位置需要對應,去讀取電位器變化的電壓。接下來就是呼叫了,在bsp_key_scan()中;
#if potent_key
sys_cb.potvol_lev =
get_potent_val()
;//實時的檢測是否需要變化,get_potent_val()需要自己定義
if(bef_val != sys_cb.potvol_lev)
//表示檢測到的值發生了變化,但是不是每次變化都需要去修改聲音
else
if(sys_cb.potvol_lev < sys_cb.vol)
bef_val= sys_cb.potvol_lev;}}
else
#endif
get_potent_val()函式的定義如下
#if potent_key
//at(.com_text.port.key)
static u8 get_potent_val
(void
)else
return vol_max- adc_cb.potent_val/eve_lel;
}#endif
// user_adkey
電位器的使用
電位器的使用 最近跟進了乙個專案,出了許多奇葩的問題,在吃過好多次虧之後終於發現問題的根源 電位器。高中物理的時候我們都了解過電位器,電位器上總會有乙個接觸劃片,用來改變電阻的阻值。最簡單的電位器結構就如圖1 1所示,電位器有三個引腳a b c,ac腳的阻值是固定的,滑動劃片p,可以改變bc和ba的...
什麼是電位器
電位器工作原理圖電子元件知識 電位計 potentiometer 或稱 電壓計 也稱為 pots 或可變電阻器,通常被製造成不管使用多久均能維持原有的特性,若當位置感測器使用,電位計可以是直線或旋轉式位置感測器。電位計輸出乙個電壓值,其正比於沿著可變電阻器之滑動器的位置。因為溫度變化 磨耗及滑動器與...
電位器和可調電阻
雖然電位器和可調電阻都是屬於阻值可變的一種器件,但是仍然存在著一定的差異,電位器和可調電阻的區別主要包括以下幾點 區別 一 電位器有多聯的,而可變電阻器沒有 區別 二 電位器的體積大,結構牢固,壽命長 區別 三 電位器動作操作方式不同,電位器設有操作柄 區別 四 電位器電阻體的阻值分布特性與可變電阻...