專(zhuān)利名稱(chēng):一種按鍵檢測(cè)方法及按鍵檢測(cè)電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種按鍵檢測(cè)方法及按鍵檢測(cè)電路。 現(xiàn)有市場(chǎng)上有許多家電產(chǎn)品中帶有按鍵輸入,其中大多數(shù)是采用單片機(jī)控制,普 通的鍵盤(pán)掃描方法一般采用矩陣方式掃描,需要用到單片機(jī)的多個(gè)IO 口,比如12個(gè)鍵的鍵 盤(pán)的按鍵識(shí)別就需要采用7個(gè)10 口 (3行4列或3列4行)來(lái)完成,這種按鍵檢測(cè)占用了 較多的單片機(jī)IO 口資源,當(dāng)單片機(jī)的10 口越多時(shí),所需要的單片機(jī)成本也就會(huì)越高。 本發(fā)明克服了上述技術(shù)的不足,提供了一種按鍵檢測(cè)方法,通過(guò)該方法只需要利 用單片機(jī)很少的10 口就實(shí)現(xiàn)數(shù)十個(gè)的按鍵的掃描,使得電路結(jié)構(gòu)很簡(jiǎn)單,可靠性高,單片 機(jī)的成本大大降低。 本發(fā)明同時(shí)提供了一種按鍵檢測(cè)電路,通過(guò)該按鍵檢測(cè)電路只需要利用單片機(jī)的 很少的10 口就實(shí)現(xiàn)數(shù)十個(gè)的按鍵的掃描,使得電路結(jié)構(gòu)很簡(jiǎn)單,可靠性高,單片機(jī)的成本 大大降低。 為實(shí)現(xiàn)上述目的,本發(fā)明采用了下列技術(shù)方案
—種按鍵檢測(cè)方法,包括如下步驟 a)、設(shè)置按鍵檢測(cè)電路將多個(gè)按鍵的一端接地,將多個(gè)按鍵的另一端分別通過(guò)不 同阻值的分壓電阻后連接在一起形成電壓信號(hào)檢測(cè)端,將該電壓信號(hào)檢測(cè)端通過(guò)電阻后接 在電源上,將單片機(jī)的中斷輸入10 口和A/D轉(zhuǎn)換輸入10 口與所述該電壓信號(hào)檢測(cè)端連接;
b)、檢測(cè)是否有按鍵按下用單片機(jī)的中斷輸入10 口檢測(cè)所述電壓信號(hào)檢測(cè)端的 電壓,當(dāng)單片機(jī)的中斷輸入10 口檢測(cè)的電壓等于電源電壓時(shí),單片機(jī)會(huì)判斷為高電平,此 時(shí)無(wú)按鍵按下;當(dāng)單片機(jī)的中斷輸入10 口檢測(cè)的電壓低于電源電壓時(shí),單片機(jī)會(huì)判斷為低 電平,單片機(jī)產(chǎn)生下降沿中斷,此時(shí)有按鍵按下; c)、電壓的A/D轉(zhuǎn)換在單片機(jī)產(chǎn)生下降沿中斷過(guò)程中,用單片機(jī)的A/D轉(zhuǎn)換輸入 10 口將檢測(cè)到所述電壓信號(hào)檢測(cè)端的電壓轉(zhuǎn)換成數(shù)字電壓; d)、判斷具體是某個(gè)按鍵按下單片機(jī)根據(jù)A/D轉(zhuǎn)換輸入10 口轉(zhuǎn)換后的數(shù)字電壓 的大小,判斷出是某個(gè)按鍵按下; e)、等待下一次按鍵按下按鍵判斷完成后,讓中斷輸入10 口等待下一次按鍵按 下。 將單片機(jī)的中斷輸入10 口和A/D轉(zhuǎn)換輸入10 口各使用單片機(jī)的一個(gè)10 口。
將單片機(jī)的中斷輸入10 口和A/D轉(zhuǎn)換輸入10 口共同使用單片機(jī)的一個(gè)10 口,形 成復(fù)用10 口。 在執(zhí)行步驟b時(shí),將單片機(jī)的復(fù)用10 口設(shè)置為中斷輸入10 口,在執(zhí)行步驟c和d 時(shí),將單片機(jī)的復(fù)用10 口設(shè)置為A/D轉(zhuǎn)換輸入10 口,在執(zhí)行步驟e時(shí),再將單片機(jī)的復(fù)用10 口設(shè)置為中斷輸入10 口。 所述單片機(jī)為PIC16F884單片機(jī)。 包括有多個(gè)阻值各不相同的分壓電阻以及單片機(jī),多個(gè)分壓電阻的一端與按鍵的 一端分別對(duì)應(yīng)連接,多個(gè)按鍵的另一端接地,多個(gè)分壓電阻的另一端連接在一起形成電壓 信號(hào)檢測(cè)端,該電壓信號(hào)檢測(cè)端通過(guò)另一個(gè)電阻后接在電源上;所述單片機(jī)的一個(gè)作為中 斷輸入10 口使用的10 口和另一個(gè)作為A/D轉(zhuǎn)換輸入10 口使用的10 口分別連接在所述電 壓信號(hào)檢測(cè)端上。 所述單片機(jī)為PIC16F884單片機(jī)。 所述按鍵檢測(cè)方法所使用的檢測(cè)電路,其包括有多個(gè)阻值各不相同的分壓電阻以
及單片機(jī),多個(gè)分壓電阻的一端與按鍵的一端分別對(duì)應(yīng)連接,多個(gè)按鍵的另一端接地,多個(gè)
分壓電阻的另一端連接在一起形成電壓信號(hào)檢測(cè)端,該電壓信號(hào)檢測(cè)端通過(guò)另一個(gè)電阻后
接在電源上;所述單片機(jī)的一個(gè)兼做中斷輸入10 口和A/D轉(zhuǎn)換輸入10 口使用的復(fù)用10 口
連接在所述電壓信號(hào)檢測(cè)端上。 所述單片機(jī)為PIC16F884單片機(jī)。 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是1、只需要利用單片機(jī)的一個(gè)或兩個(gè)I0 口,就可以實(shí)現(xiàn)數(shù)十個(gè)的按鍵掃描,使得電路結(jié)構(gòu)變?yōu)楹芎?jiǎn)單,可靠性相應(yīng)得以提高;2、由 于比較少占用單片機(jī)的10 口,使單片機(jī)的成本大大降低。 下面結(jié)合附圖與本發(fā)明的實(shí)施方式作進(jìn)一步詳細(xì)的描述
圖1為本發(fā)明中檢測(cè)方法的流程圖;
圖2為本發(fā)明中檢測(cè)電路的實(shí)施例1的電路結(jié)構(gòu)圖;
圖3為本發(fā)明中檢測(cè)電路的實(shí)施例2的電路結(jié)構(gòu)圖。
圖1為本發(fā)明按鍵檢測(cè)方法的流程圖,本方法包括如下步驟 a)、設(shè)置按鍵檢測(cè)電路將多個(gè)按鍵的一端接地,將多個(gè)按鍵的另一端分別通過(guò)不 同阻值的分壓電阻后連接在一起形成電壓信號(hào)檢測(cè)端,將該電壓信號(hào)檢測(cè)端通過(guò)電阻后接 在電源上,將單片機(jī)的中斷輸入IO 口和A/D轉(zhuǎn)換輸入I0 口與所述該電壓信號(hào)檢測(cè)端連接;
b)、檢測(cè)是否有按鍵按下將中斷輸入10 口設(shè)置為下降沿觸發(fā)中斷,用單片機(jī)的 中斷輸入10 口檢測(cè)所述電壓信號(hào)檢測(cè)端的電壓,如果無(wú)按鍵按下,單片機(jī)的中斷輸入10 口檢測(cè)的電壓等于電源電壓,單片機(jī)會(huì)判斷為高電平,說(shuō)明此時(shí)無(wú)按鍵按下;如果有按鍵按 下,單片機(jī)的中斷輸入10 口檢測(cè)的電壓低于電源電壓,單片機(jī)會(huì)判斷為低電平,單片機(jī)產(chǎn) 生下降沿中斷,說(shuō)明此時(shí)有按鍵按下; c)、電壓的A/D轉(zhuǎn)換有按鍵按下,單片機(jī)產(chǎn)生下降沿中斷,在單片機(jī)產(chǎn)生下降沿 中斷過(guò)程中,用單片機(jī)的A/D轉(zhuǎn)換輸入IO口將檢測(cè)到所述電壓信號(hào)檢測(cè)端的電壓轉(zhuǎn)換成數(shù) 字電壓; d)、判斷具體是某個(gè)按鍵按下由于每個(gè)按鍵按下時(shí),在電壓信號(hào)檢測(cè)端上所產(chǎn)生 的電阻分壓值是不一樣,那么A/D轉(zhuǎn)換輸入10 口的轉(zhuǎn)換后的數(shù)字電壓值也將不同,單片機(jī)
4根據(jù)A/D轉(zhuǎn)換輸入10 口轉(zhuǎn)換后的數(shù)字電壓的大小,判斷出對(duì)應(yīng)是某個(gè)按鍵按下;
e)、等待下一次按鍵按鍵判斷完成后,讓中斷輸入10 口等待下一次按鍵產(chǎn)生。
上述方法,所使用的單片機(jī)為PIC16F884單片機(jī)。 在實(shí)現(xiàn)上述方法過(guò)程中,可以將單片機(jī)的中斷輸入10 口和A/D轉(zhuǎn)換輸入10 口各 使用單片機(jī)的一個(gè)IO 口。 在實(shí)現(xiàn)上述方法過(guò)程中,也可以將單片機(jī)的中斷輸入10 口和A/D轉(zhuǎn)換輸入10 口 共同使用單片機(jī)的一個(gè)IO 口,形成復(fù)用10 口,那么在使用復(fù)用10 口時(shí)就要分時(shí)段去使用, 在執(zhí)行步驟b時(shí),將單片機(jī)的復(fù)用10 口設(shè)置為中斷輸入10 口,在執(zhí)行步驟c和d時(shí),將單 片機(jī)的復(fù)用10 口設(shè)置為A/D轉(zhuǎn)換輸入10 口,在執(zhí)行步驟e時(shí),再將單片機(jī)的復(fù)用10 口設(shè) 置為中斷輸入10 口,并設(shè)為下降沿觸發(fā)中斷。 圖2為實(shí)現(xiàn)上述檢測(cè)方法所使用的按鍵檢測(cè)電路的一個(gè)具體實(shí)施例,該實(shí)施例的 按鍵檢測(cè)電路包括有5個(gè)(當(dāng)然也可以為其它數(shù)目,像10個(gè)以上)阻值各不相同的分壓電 阻以及單片機(jī),5個(gè)分壓電阻R1-R5的阻值分別為30KQ 、24KQ 、18KQ 、12KQ 、5KQ ,5個(gè)分 壓電阻Rl-R5 —端與5個(gè)按鍵Sl-S5的一端分別對(duì)應(yīng)連接,5個(gè)按鍵Sl-S5的另一端接地,5 個(gè)分壓電阻的另一端連接在一起形成電壓信號(hào)檢測(cè)端,該電壓信號(hào)檢測(cè)端通過(guò)另一個(gè)阻值 為100KQ的電阻R20后接在電源上;所述單片機(jī)的一個(gè)作為中斷輸入10 口使用的10 口和 另一個(gè)作為A/D轉(zhuǎn)換輸入10 口使用的10 口分別連接在所述電壓信號(hào)檢測(cè)端上。所述單片 機(jī)為PIC16F884單片機(jī)。 圖3為實(shí)現(xiàn)上述檢測(cè)方法所使用的按鍵檢測(cè)電路的另一個(gè)具體實(shí)施例,該實(shí)施例 的按鍵檢測(cè)電路包括有5個(gè)(當(dāng)然也可以為其它數(shù)目,像10個(gè)以上)阻值各不相同的分壓 電阻以及單片機(jī),5個(gè)分壓電阻Rl-R5的阻值分別為30K Q 、24K Q 、 18K Q 、 12K Q 、5K Q , 5個(gè) 分壓電阻Rl-R5 —端與5個(gè)按鍵Sl-S5的一端分別對(duì)應(yīng)連接,5個(gè)按鍵Sl-S5的另一端接 地,5個(gè)分壓電阻的另一端連接在一起形成電壓信號(hào)檢測(cè)端,該電壓信號(hào)檢測(cè)端通過(guò)另一個(gè) 阻值為100KQ的電阻R20后接在電源上;所述單片機(jī)的一個(gè)兼做中斷輸入10 口和A/D轉(zhuǎn) 換輸入10 口使用的復(fù)用10 口連接在所述電壓信號(hào)檢測(cè)端上。所述單片機(jī)為PIC16F884單 片機(jī)。
權(quán)利要求
一種按鍵檢測(cè)方法,其特征在于包括如下步驟a)、設(shè)置按鍵檢測(cè)電路將多個(gè)按鍵的一端接地,將多個(gè)按鍵的另一端分別通過(guò)不同阻值的分壓電阻后連接在一起形成電壓信號(hào)檢測(cè)端,將該電壓信號(hào)檢測(cè)端通過(guò)電阻后接在電源上,將單片機(jī)的中斷輸入IO口和A/D轉(zhuǎn)換輸入IO口與所述該電壓信號(hào)檢測(cè)端連接;b)、檢測(cè)是否有按鍵按下用單片機(jī)的中斷輸入IO口檢測(cè)所述電壓信號(hào)檢測(cè)端的電壓,當(dāng)單片機(jī)的中斷輸入IO口檢測(cè)的電壓等于電源電壓時(shí),單片機(jī)會(huì)判斷為高電平,此時(shí)無(wú)按鍵按下;當(dāng)單片機(jī)的中斷輸入IO口檢測(cè)的電壓低于電源電壓時(shí),單片機(jī)會(huì)判斷為低電平,單片機(jī)產(chǎn)生下降沿中斷,此時(shí)有按鍵按下;c)、電壓的A/D轉(zhuǎn)換在單片機(jī)產(chǎn)生下降沿中斷過(guò)程中,用單片機(jī)的A/D轉(zhuǎn)換輸入IO口將檢測(cè)到所述電壓信號(hào)檢測(cè)端的電壓轉(zhuǎn)換成數(shù)字電壓;d)、判斷具體是某個(gè)按鍵按下單片機(jī)根據(jù)A/D轉(zhuǎn)換輸入IO口轉(zhuǎn)換后的數(shù)字電壓的大小,判斷出是某個(gè)按鍵按下;e)、等待下一次按鍵按下按鍵判斷完成后,讓中斷輸入IO口等待下一次按鍵按下。
2. 根據(jù)權(quán)利要求l所述的一種按鍵檢測(cè)方法,其特征在于將單片機(jī)的中斷輸入IO 口和 A/D轉(zhuǎn)換輸入10 口各使用單片機(jī)的一個(gè)10 口 。
3. 根據(jù)權(quán)利要求1所述的一種按鍵檢測(cè)方法,其特征在于將單片機(jī)的中斷輸入I0口和 A/D轉(zhuǎn)換輸入10 口共同使用單片機(jī)的一個(gè)10 口,形成復(fù)用10 口。
4. 根據(jù)權(quán)利要求3所述的一種按鍵檢測(cè)方法,其特征在于在執(zhí)行步驟b時(shí),將單片機(jī) 的復(fù)用10 口設(shè)置為中斷輸入10 口,在執(zhí)行步驟c和d時(shí),將單片機(jī)的復(fù)用10 口設(shè)置為A/ D轉(zhuǎn)換輸入10 口,在執(zhí)行步驟e時(shí),再將單片機(jī)的復(fù)用10 口設(shè)置為中斷輸入10 口。
5. 根據(jù)權(quán)利要求2或3或4所述的一種按鍵檢測(cè)方法,其特征在于所述單片機(jī)為 PIC16F884單片機(jī)。
6. 完成權(quán)利要求1所述按鍵檢測(cè)方法所使用的按鍵檢測(cè)電路,其特征在于包括有多個(gè) 阻值各不相同的分壓電阻以及單片機(jī),多個(gè)分壓電阻的一端與按鍵的一端分別對(duì)應(yīng)連接, 多個(gè)按鍵的另一端接地,多個(gè)分壓電阻的另一端連接在一起形成電壓信號(hào)檢測(cè)端,該電壓 信號(hào)檢測(cè)端通過(guò)另一個(gè)電阻后接在電源上;所述單片機(jī)的一個(gè)作為中斷輸入10 口使用的 10 口和另一個(gè)作為A/D轉(zhuǎn)換輸入10 口使用的10 口分別連接在所述電壓信號(hào)檢測(cè)端上。
7. 根據(jù)權(quán)利要求6所述的按鍵檢測(cè)電路,其特征在于所述單片機(jī)為PIC16F884單片機(jī)。
8. 完成權(quán)利要求1所述按鍵檢測(cè)方法所使用的檢測(cè)電路,其特征在于包括有多個(gè)阻值 各不相同的分壓電阻以及單片機(jī),多個(gè)分壓電阻的一端與按鍵的一端分別對(duì)應(yīng)連接,多個(gè) 按鍵的另一端接地,多個(gè)分壓電阻的另一端連接在一起形成電壓信號(hào)檢測(cè)端,該電壓信號(hào) 檢測(cè)端通過(guò)另一個(gè)電阻后接在電源上;所述單片機(jī)的一個(gè)兼做中斷輸入IO 口和A/D轉(zhuǎn)換輸 入10 口使用的復(fù)用10 口連接在所述電壓信號(hào)檢測(cè)端上。
9. 根據(jù)權(quán)利要求8所述的按鍵檢測(cè)電路,其特征在于所述單片機(jī)為PIC16F884單片機(jī)。
全文摘要
本發(fā)明公開(kāi)了一種按鍵檢測(cè)方法,包括如下步驟設(shè)置按鍵檢測(cè)電路;檢測(cè)是否有按鍵按下;電壓的A/D轉(zhuǎn)換;判斷具體是某個(gè)按鍵按下;等待下一次按鍵按下。本發(fā)明還公開(kāi)了按鍵檢測(cè)電路,包括有多個(gè)阻值各不相同的分壓電阻以及單片機(jī),多個(gè)分壓電阻的一端與按鍵的一端分別對(duì)應(yīng)連接,多個(gè)按鍵的另一端接地,多個(gè)分壓電阻的另一端連接在一起形成電壓信號(hào)檢測(cè)端,該電壓信號(hào)檢測(cè)端通過(guò)另一個(gè)電阻后接在電源上;所述單片機(jī)的一個(gè)兼做中斷輸入IO口和A/D轉(zhuǎn)換輸入IO口使用的復(fù)用IO口連接在所述電壓信號(hào)檢測(cè)端上。本發(fā)明具有只需要利用單片機(jī)的一個(gè)或兩個(gè)IO口,就可以實(shí)現(xiàn)數(shù)十個(gè)的按鍵掃描的特點(diǎn),具有占用單片機(jī)的IO口少,單片機(jī)的成本低等優(yōu)點(diǎn)。
文檔編號(hào)H03M11/20GK101795139SQ20101011319
公開(kāi)日2010年8月4日 申請(qǐng)日期2010年1月27日 優(yōu)先權(quán)日2010年1月27日
發(fā)明者俞峰, 趙勝娟 申請(qǐng)人:中山市嘉科電子有限公司