《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 用一個(gè)微控制器輸入端讀取多個(gè)開關(guān)與一只電位計(jì)的設(shè)置
用一個(gè)微控制器輸入端讀取多個(gè)開關(guān)與一只電位計(jì)的設(shè)置
摘要: 本例中的電路給出了一種方法,,用一個(gè)輸入端,,將混合的模擬與數(shù)字輸入傳送給一個(gè)微控制器。電路輸出被連接到一個(gè)微控制器的ADC輸入端,。
Abstract:
Key words :

  本例中的電路給出了一種方法,,用一個(gè)輸入端,,將混合的模擬與數(shù)字輸入傳送給一個(gè)微控制器。電路輸出被連接到一個(gè)微控制器的ADC輸入端,。電路包括一個(gè)可變電阻和幾個(gè)SPST(單刀單擲)開關(guān)(圖1),。用戶可以用按鍵來選擇模式,、狀態(tài)或選項(xiàng),而模擬輸入提供了一種傳送可調(diào)節(jié)參數(shù)的方法,。這個(gè)實(shí)現(xiàn)要求分析一個(gè)并行電阻電路和一個(gè)分壓器,。如果仔細(xì)選擇了電阻值,則電路就能提供一個(gè)可識(shí)別的模擬輸入,,以及一系列分立的按鍵輸入狀態(tài),。

本電路可用一只微控制器管腳

  圖1,本電路可用一只微控制器管腳,,讀出多個(gè)開關(guān)和一只電位器的值,。

  電阻值的選擇是一個(gè)多步的過程,用一個(gè)電子表可幫助完成這個(gè)計(jì)算,。例如,,假設(shè)你想要用5 kΩ的電位器RADJ,為微控制器產(chǎn)生一個(gè)0至100%的值,。通常會(huì)將0至255的采樣值映像為0至100的值,,用于表示某個(gè)百分?jǐn)?shù)。不過,,通過選擇偏置電阻RBIAS的值,,可以將模擬輸入直接定位于ADC的0至255范圍內(nèi),如78至178,。

  要計(jì)算相應(yīng)的高側(cè)和低側(cè)偏置電阻值,,可用下式,將電路作為一個(gè)簡(jiǎn)單分壓器作計(jì)算:

  代入并算出RBIAS,,當(dāng)最大電壓值為255時(shí),,最大低電壓值為78,最大高電壓值為178,,而RADJ的值為5 kΩ時(shí),,則得下式:

  計(jì)算得到RBIAS的值為3875Ω。電位器選用標(biāo)準(zhǔn)值3.3 kΩ,,則輸入范圍從73至182,。這個(gè)范圍的動(dòng)態(tài)范圍大于你的需求,但電位器值與按鍵值之間有了一個(gè)保護(hù)區(qū),。當(dāng)按下開關(guān)時(shí),,RADJ的位置影響著電路看到的總電阻,因此微控制器必須為每個(gè)開關(guān)解析一系列值,。為S1或S2確定開關(guān)電阻RSW時(shí),,可在電位器兩個(gè)端點(diǎn)位置上使用一個(gè)并聯(lián)電阻網(wǎng)絡(luò)。

  當(dāng)按下S1,而RADJ在最大位置時(shí),,分壓器下端的有效電阻為RADJ與RBIAS串聯(lián)后再與RSW并聯(lián),。在最小位置時(shí),有效電阻為RSW與RBIAS并聯(lián):

  按下S1時(shí),,求出RBIAS與RRFFMAX構(gòu)成的分壓器值,,就確定了值:

  注意,當(dāng)RADJ在最大值并按下S1時(shí),,產(chǎn)生的值必須小于RADJ自身提供的最小值,,這樣才能唯一地確定按下了哪個(gè)開關(guān)。因此最大有效電阻REFFMAX必須產(chǎn)生一個(gè)小于最大低電壓的值,,如下式所示:

  將開關(guān)電阻代入并解算式,,得到:

  用電子表格算出開關(guān)電阻,得1558Ω,,可以選擇標(biāo)稱為1.5 kΩ的電阻,。這樣,當(dāng)按下開關(guān)S1時(shí),,根據(jù)電位器的位置可得到28至71的區(qū)間,。同樣,為S2選擇相同的值可得到184至227的區(qū)間,。這些區(qū)間可以用于確定所需按下開關(guān)的一系列值,而與電位器的位置無關(guān),。雖然沒有必要選擇相同的電阻,,但這樣可以減少計(jì)算量,簡(jiǎn)化設(shè)計(jì),。此外,,選擇較小的串聯(lián)開關(guān)電阻可擴(kuò)展它們與電位器之間的保護(hù)區(qū),如果獲得的值之間過于靠近,,這可能是可取的方法,。微控制器使用一個(gè)小例程來確定開關(guān)的位置以及電位器的設(shè)置。

  這種方法也有局限,,那就是在任何時(shí)間時(shí),,不能按下一個(gè)以上的按鍵。而且,,只有當(dāng)你未按任何其它按鍵時(shí),,微控制器才能讀出電位器的位置。本例給出了如何用兩個(gè)按鍵,,但按鍵的數(shù)量可以修改,。輸入范圍可以多達(dá)10個(gè)按鍵和一只電位器,所有這些均可共享相同的輸入端(圖2)。盡管計(jì)算范圍并不重疊且是唯一的,,但你的ADC能否在所有情況下都可靠地區(qū)分出這些區(qū)段,,則是有問題的。選擇較小的電阻值可以使這些頻段相隔較遠(yuǎn),,創(chuàng)建一個(gè)較大的保護(hù)區(qū),。

電路最多可以有10個(gè)按鍵和一只電位器

  圖2,電路最多可以有10個(gè)按鍵和一只電位器,。

  用這一技巧加上四只按鍵與一只電位器,,為最佳組合。用電子表作試驗(yàn),,有助于快速地確定每個(gè)開關(guān)的正確串聯(lián)電阻值,,以及其輸出范圍。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。