通過電位器修改聲音大小

2021-10-03 19:26:48 字數 1137 閱讀 1941

通過電位器修改聲音大小從原理上講就是重新寫乙個按鍵型別,只不過按鍵型別是乙個旋鈕,旋鈕就相當於乙個滑動變阻器,通過旋轉之後,晶元的讀取到的電壓值是在變化的,咱們再根據值的不同進行下一步的操作。

具體操作如下:

定義乙個巨集定義來管理是否開啟旋轉聲音控制

#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 或可變電阻器,通常被製造成不管使用多久均能維持原有的特性,若當位置感測器使用,電位計可以是直線或旋轉式位置感測器。電位計輸出乙個電壓值,其正比於沿著可變電阻器之滑動器的位置。因為溫度變化 磨耗及滑動器與...

電位器和可調電阻

雖然電位器和可調電阻都是屬於阻值可變的一種器件,但是仍然存在著一定的差異,電位器和可調電阻的區別主要包括以下幾點 區別 一 電位器有多聯的,而可變電阻器沒有 區別 二 電位器的體積大,結構牢固,壽命長 區別 三 電位器動作操作方式不同,電位器設有操作柄 區別 四 電位器電阻體的阻值分布特性與可變電阻...