• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機的單鍵開關電路應用實例介紹

    基于AVR單片機的單鍵開關電路應用實例介紹

    作者: 時間:2012-03-01 來源:網絡 收藏

    1 引 言

    本文引用地址:http://www.czjhyjcfj.com/article/171983.htm

      已經廣泛于PDA、手機和電子詞典等數碼產品中,其實現方式多種多樣。一般可采用RS觸發器、計數器以及采用555集成等等。在的一些實際中,以上的實現方式會增加整個的復雜度,不能達到簡潔、實用的效果。本文將一種可以在中實現的,簡易、穩定的輕觸式電路。

      2 電路原理

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

      


      3 關于R3和上拉電阻R4的取值

      在一些單片機中,例如系列單片機ATmega8L,帶有內部上拉電阻Rpu,如圖2所示。

      

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

      一般情況下,R3取值要遠大于R4,否則單片機I/O的輸入電壓Vpin會有低于標準輸入電壓VIH最低值的可能。從ATmega8L數據手冊中查到Rpu取值在20kΩ~100kΩ之間,又因為VIH的最小值約為0.6VCC。因此R3/(R3+R4)>0.6,取R4=50kΩ,并取R3/(R3+R4)=0.8 ,所以R3取值應該在200kΩ左右的范圍,可以根據實際工作情況來選擇具體的R4取值。

      4 對Vin連接方式的處理

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

      5 電容C1的作用

      對于一般的單片機來說,內部都有BOD(Brown-down Detection)電路。這個電路具有低電壓檢測功能:當輸入電壓由高變低時,單片機就會自動復位。

      如圖1所示,想關機的時候,按下S1,單片機輸出低。按鍵抬起后,Q1、Q2截止,單片機掉電。然而單片機的BOD電路檢測到單片機的電壓突然降低后,就會使單片機復位,并將I/O設置為上拉狀態,Q1、Q2導通,導制電路再次開啟。

      加入C1后,使單片機掉電后要對C1進行充電,而在C1充電沒有達到單片機工作最低電壓期間,Q1、Q2已經截止了,從而打亂了單片機復位操作。

      6 機延時處理

      在一些具體的應用場合,例如手機等數碼產品,開關機都需要延時操作。一種簡單的實現方式就是,單片機在按鍵按下時開始計數,直到按鍵抬起。只有這個計數值足夠大,才允許開機,否則不認為是開機操作。同理,關機也可以做類似的處理。

      單片機程序流程如圖3所示。

      

    DIY機械鍵盤相關社區:機械鍵盤DIY




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 大石桥市| 宣威市| 双流县| 噶尔县| 老河口市| 繁昌县| 五华县| 黎城县| 黑龙江省| 甘南县| 芦山县| 盈江县| 师宗县| 辽阳市| 辉县市| 乐昌市| 太谷县| 花莲县| 阜城县| 民丰县| 扬州市| 紫阳县| 江达县| 清河县| 特克斯县| 即墨市| 安福县| 钟山县| 阿拉善右旗| 清流县| 石狮市| 双江| 江永县| 遂宁市| 稷山县| 灵石县| 三亚市| 临漳县| 万宁市| 肇庆市| 林芝县|