《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 用雙色LED指示10種狀態(tài)
用雙色LED指示10種狀態(tài)
摘要: 大多數(shù)采用微控制器的設(shè)備都會(huì)有幾種工作狀態(tài)。通常是用按鍵開(kāi)關(guān)來(lái)控制這些狀態(tài)。為盡量降低成本,很多設(shè)計(jì)都使用一只開(kāi)關(guān);通過(guò)按壓次數(shù)來(lái)決定微控制器的狀態(tài)。本文的電路用一只發(fā)光LED來(lái)指示所選擇的狀態(tài)。
Abstract:
Key words :

  大多數(shù)采用微控制器的設(shè)備都會(huì)有幾種工作狀態(tài)。通常是用按鍵開(kāi)關(guān)來(lái)控制這些狀態(tài)。為盡量降低成本,很多設(shè)計(jì)都使用一只開(kāi)關(guān);通過(guò)按壓次數(shù)來(lái)決定微控制器的狀態(tài)。本文的電路用一只發(fā)光LED來(lái)指示所選擇的狀態(tài)。

  市場(chǎng)上有大量可選用的雙色LED,有各種形狀和顏色,廠家如Kingbright、Optosupply等。這些LED提供了新的機(jī)會(huì),僅用一只LED就能指示10種狀態(tài)。按壓一個(gè)連接到微控制器外接中斷腳的按鍵開(kāi)關(guān),就能設(shè)定狀態(tài)(圖1)。每次按下時(shí),中斷例程都會(huì)將設(shè)備設(shè)定到下一個(gè)狀態(tài)(圖2)。

  State 0是待機(jī)模式,LED熄滅。此時(shí)設(shè)備在等待按下開(kāi)關(guān)。LED顏色指示出以下的三個(gè)狀態(tài)。例如,Kingbright公司的WP5A9EGW12.3SF LED可發(fā)出紅、綠、橙顏色。加上閃爍就可指示其余的狀態(tài)。紅色與綠色LED可以分別獨(dú)立地控制,從而獲得六種指示組合(表1)。

  微控制器的內(nèi)部振蕩器作為時(shí)鐘源,簡(jiǎn)化了電路,因?yàn)檎袷幤鞑恍枰饨釉?,?%的公差足夠用于此應(yīng)用。固件為外部中斷輸入端設(shè)定了內(nèi)置的上拉電阻。

  時(shí)鐘速度與預(yù)定標(biāo)器值以及時(shí)鐘計(jì)數(shù)器模寄存器共同決定了LED閃爍的速率。內(nèi)部振蕩器產(chǎn)生一個(gè)12.8 MHz的時(shí)鐘,獲得3.2 MHz的總線頻率,每個(gè)循環(huán)等于0.3125 μs。將預(yù)定標(biāo)器值選為64,則時(shí)間計(jì)數(shù)器模寄存器就可以計(jì)算出一個(gè)循環(huán)為50倍定時(shí)器周期(以毫秒為單位)。例如,要獲得1s的閃爍速率,應(yīng)將時(shí)間計(jì)數(shù)器模設(shè)為50000,或十六進(jìn)制的$C350。

  使用列表而不采用程序輪詢的方法,可以大大減少固件的大?。▍⒖嘉墨I(xiàn)1)。此處可以下載到固件的匯編碼。這種方法適用于任何微控制器。甚至可以采用不同的閃爍速率,增加所指示狀態(tài)的數(shù)量。

  參考文獻(xiàn)

  1.Raynus, Abel, “Tables ease microcontroller programming,” EDN, April 22, 2010, pg 76.

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