《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 單鍵開(kāi)關(guān)電路在AVR單片機(jī)中的應(yīng)用
單鍵開(kāi)關(guān)電路在AVR單片機(jī)中的應(yīng)用
電子發(fā)燒友
摘要: 1引言單鍵開(kāi)關(guān)電路已經(jīng)廣泛應(yīng)用于PDA,、手機(jī)和電子詞典等數(shù)碼產(chǎn)品中,其實(shí)現(xiàn)方式多種多樣,。一般可采用RS觸發(fā)器,、計(jì)數(shù)器以及采用555集成電路等等。在單片機(jī)的一些實(shí)際應(yīng)用中,,以上的實(shí)現(xiàn)方式會(huì)增加整個(gè)電路的復(fù)雜度,,不能達(dá)到簡(jiǎn)潔、實(shí)用的效果,。本文將介紹一種可以在單片機(jī)應(yīng)用中實(shí)現(xiàn)的,,簡(jiǎn)易、穩(wěn)定的輕觸式單鍵開(kāi)關(guān)電路,。2電路原理如圖1所示,,DC-DC為一個(gè)帶有關(guān)斷控制端的直流穩(wěn)壓電源芯片,MCU是一個(gè)單片機(jī),。當(dāng)按下S1時(shí),,Q1和D1導(dǎo)通,穩(wěn)壓芯片工作,,為單片機(jī)供電,。單片機(jī)馬上將相應(yīng)的I/O引腳置為輸出高,這時(shí)Q1和Q2導(dǎo)通,,整個(gè)電路進(jìn)入工作狀態(tài),。而后單片機(jī)再將這個(gè)I/O引腳設(shè)置為輸入,由于上拉電阻R4的存在,,Q1和Q2一直導(dǎo)通,。單片機(jī)一直掃描相應(yīng)I/O輸入狀態(tài),如果S1沒(méi)有按下去,,則這個(gè)I/O將始終為高,。當(dāng)S1再次按下去時(shí),D2導(dǎo)通,,單片機(jī)檢測(cè)到這個(gè)I/O引腳輸入為低,,這時(shí)單片機(jī)就將這個(gè)I/O設(shè)置成輸出為低的狀態(tài)。Q2截止,,如果按鍵抬起,,Q1也會(huì)截止,穩(wěn)壓芯片將不會(huì)為單片機(jī)提供電壓,,整個(gè)電路處于關(guān)斷狀態(tài),。3關(guān)于R3和上拉電阻R4的取值在一些單片機(jī)中,例如AVR系列單片機(jī)ATmega8L,,帶有內(nèi)部上拉電阻Rpu,,如圖2所示,。
Abstract:
Key words :

  1 引 言

  單鍵開(kāi)關(guān)電路已經(jīng)廣泛應(yīng)用于PDA、手機(jī)和電子詞典等數(shù)碼產(chǎn)品中,,其實(shí)現(xiàn)方式多種多樣,。一般可采用RS觸發(fā)器、計(jì)數(shù)器以及采用555集成電路等等,。在單片機(jī)的一些實(shí)際應(yīng)用中,,以上的實(shí)現(xiàn)方式會(huì)增加整個(gè)電路的復(fù)雜度,不能達(dá)到簡(jiǎn)潔,、實(shí)用的效果,。本文將介紹一種可以在單片機(jī)應(yīng)用中實(shí)現(xiàn)的,簡(jiǎn)易,、穩(wěn)定的輕觸式單鍵開(kāi)關(guān)電路,。

  2 電路原理

  如圖1所示,DC-DC為一個(gè)帶有關(guān)斷控制端的直流穩(wěn)壓電源芯片,,MCU是一個(gè)單片機(jī),。當(dāng)按下S1時(shí),Q1和D1導(dǎo)通,,穩(wěn)壓芯片工作,,為單片機(jī)供電。單片機(jī)馬上將相應(yīng)的I/O引腳置為輸出高,,這時(shí)Q1和Q2導(dǎo)通,,整個(gè)電路進(jìn)入工作狀態(tài)。而后單片機(jī)再將這個(gè)I/O引腳設(shè)置為輸入,,由于上拉電阻R4的存在,,Q1和Q2一直導(dǎo)通。單片機(jī)一直掃描相應(yīng)I/O輸入狀態(tài),,如果S1沒(méi)有按下去,,則這個(gè)I/O將始終為高,。當(dāng)S1再次按下去時(shí),,D2導(dǎo)通,單片機(jī)檢測(cè)到這個(gè)I/O引腳輸入為低,,這時(shí)單片機(jī)就將這個(gè)I/O設(shè)置成輸出為低的狀態(tài),。Q2截止,如果按鍵抬起,,Q1也會(huì)截止,,穩(wěn)壓芯片將不會(huì)為單片機(jī)提供電壓,整個(gè)電路處于關(guān)斷狀態(tài),。

  

 

  3 關(guān)于R3和上拉電阻R4的取值

  在一些單片機(jī)中,,例如AVR系列單片機(jī)ATmega8L,,帶有內(nèi)部上拉電阻Rpu,如圖2所示,。

  

 

  可以通過(guò)單片機(jī)程序控制電阻上拉與否,,從而不需要外接上拉。

  一般情況下,,R3取值要遠(yuǎn)大于R4,,否則單片機(jī)I/O的輸入電壓Vpin會(huì)有低于標(biāo)準(zhǔn)輸入電壓VIH最低值的可能。從ATmega8L數(shù)據(jù)手冊(cè)中查到Rpu取值在20kΩ~100kΩ之間,,又因?yàn)閂IH的最小值約為0.6VCC,。因此R3/(R3+R4)>0.6,取R4=50kΩ,,并取R3/(R3+R4)=0.8 ,,所以R3取值應(yīng)該在200kΩ左右的范圍,可以根據(jù)實(shí)際工作情況來(lái)選擇具體的R4取值,。

  4 對(duì)Vin連接方式的處理

  從圖1上不難看出,,采用這種控制方式后,Q1上將會(huì)消耗一定的功率,。一種降低功率消耗的方式就是將Vin直接接到電池上去,,可以根據(jù)電路靈活掌握。

  5 電容C1的作用

  對(duì)于一般的AVR單片機(jī)來(lái)說(shuō),,內(nèi)部都有BOD(Brown-down Detection)電路,。這個(gè)電路具有低電壓檢測(cè)功能:當(dāng)輸入電壓由高變低時(shí),單片機(jī)就會(huì)自動(dòng)復(fù)位,。

  如圖1所示,,想關(guān)機(jī)的時(shí)候,按下S1,,單片機(jī)輸出低,。按鍵抬起后,Q1,、Q2截止,,單片機(jī)掉電。然而單片機(jī)的BOD電路檢測(cè)到單片機(jī)的電壓突然降低后,,就會(huì)使單片機(jī)復(fù)位,,并將I/O設(shè)置為上拉狀態(tài),Q1,、Q2導(dǎo)通,,導(dǎo)制電路再次開(kāi)啟。

  加入C1后,,使單片機(jī)掉電后要對(duì)C1進(jìn)行充電,,而在C1充電沒(méi)有達(dá)到單片機(jī)工作最低電壓期間,,Q1、Q2已經(jīng)截止了,,從而打亂了單片機(jī)復(fù)位操作,。

  6 開(kāi)關(guān)機(jī)延時(shí)處理

  在一些具體的應(yīng)用場(chǎng)合,例如手機(jī)等數(shù)碼產(chǎn)品,,開(kāi)關(guān)機(jī)都需要延時(shí)操作,。一種簡(jiǎn)單的實(shí)現(xiàn)方式就是,單片機(jī)在按鍵按下時(shí)開(kāi)始計(jì)數(shù),,直到按鍵抬起,。只有這個(gè)計(jì)數(shù)值足夠大,才允許開(kāi)機(jī),,否則不認(rèn)為是開(kāi)機(jī)操作,。同理,關(guān)機(jī)也可以做類似的處理,。

  單片機(jī)程序流程如圖3所示,。

  

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