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

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

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

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

  電阻值的選擇是一個(gè)多步的過(guò)程,用一個(gè)電子表可幫助完成這個(gè)計(jì)算。例如,假設(shè)你想要用5 kΩ的電位器RADJ,為微控制器產(chǎn)生一個(gè)0至100%的值。通常會(huì)將0至255的采樣值映像為0至100的值,用于表示某個(gè)百分?jǐn)?shù)。不過(guò),通過(guò)選擇偏置電阻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)按下開(kāi)關(guān)時(shí),RADJ的位置影響著電路看到的總電阻,因此微控制器必須為每個(gè)開(kāi)關(guān)解析一系列值。為S1或S2確定開(kāi)關(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è)開(kāi)關(guān)。因此最大有效電阻REFFMAX必須產(chǎn)生一個(gè)小于最大低電壓的值,如下式所示:

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

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

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

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

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

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

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