欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種三端輕觸開(kāi)關(guān)的制作方法

文檔序號(hào):11278887閱讀:373來(lái)源:國(guó)知局
一種三端輕觸開(kāi)關(guān)的制造方法與工藝

本發(fā)明涉及到一種電路輕觸開(kāi)關(guān),用這種輕觸開(kāi)關(guān)構(gòu)成的矩陣鍵盤的檢測(cè)變得非常簡(jiǎn)單,另外,單片機(jī)只需要通過(guò)一個(gè)中斷源和若干個(gè)普通io口與矩陣鍵盤相連就可以以中斷的方式完成矩陣鍵盤檢測(cè)。



背景技術(shù):

鍵盤是微型計(jì)算機(jī)系統(tǒng)最基本最常見(jiàn)的輸入設(shè)備,一般鍵盤由多個(gè)輕觸開(kāi)關(guān)構(gòu)成。根據(jù)輕觸開(kāi)關(guān)的排列方式,鍵盤可以分為線性鍵盤和矩陣鍵盤。在按鍵多的場(chǎng)合,我們常采用矩陣鍵盤,矩陣鍵盤將輕觸開(kāi)關(guān)排成n行m列,每個(gè)按鍵占據(jù)行列的一個(gè)交點(diǎn),這樣需要連線的數(shù)目就是n+m,這樣便可檢測(cè)n*m個(gè)輕觸開(kāi)關(guān)。而傳統(tǒng)的輕觸開(kāi)關(guān)為兩端式,當(dāng)我們摁住開(kāi)關(guān)時(shí),這兩端導(dǎo)通,自然狀態(tài)下兩端為開(kāi)路,不導(dǎo)通。這種兩端輕觸開(kāi)關(guān)構(gòu)成的矩陣鍵盤的譯鍵方法常有行掃描法和線反轉(zhuǎn)法,以行掃描法來(lái)說(shuō),行掃描法需要依次置低矩陣鍵盤行線上的電平,再讀取端口的值以得到被按下按鍵的編碼,這種檢測(cè)方法在程序上較為繁瑣,不夠簡(jiǎn)單,需要經(jīng)過(guò)幾個(gè)步驟才能識(shí)別出被按下的輕觸開(kāi)關(guān)。另外,這些方法需要處理器以查詢的方式對(duì)按鍵掃描檢測(cè),這就要求處理器不斷讀取io的電平狀態(tài),這種按鍵檢測(cè)的方式在實(shí)時(shí)系統(tǒng)中往往是不適宜的,而且以查詢的工作方式檢測(cè)按鍵就導(dǎo)致cpu無(wú)法工作在低功耗模式,會(huì)提高整個(gè)系統(tǒng)的功耗。如果要用中斷的方式檢測(cè)矩陣鍵盤,則需要將行(列)線連接到具有中斷能力的io口,而對(duì)于某些低端的處理器外部中斷資源是很少的,無(wú)法提供足夠的具有中斷能力的io口。由傳統(tǒng)兩端輕觸開(kāi)關(guān)構(gòu)成的矩陣鍵盤有這兩大缺點(diǎn):檢測(cè)不夠簡(jiǎn)單和無(wú)法工作以中斷的工作方式完成檢測(cè)。而這兩大缺點(diǎn)是由傳統(tǒng)兩端輕觸開(kāi)關(guān)的特性所決定的,為了解決克服這些缺點(diǎn),本發(fā)明從輕觸開(kāi)關(guān)的結(jié)構(gòu)上提出了一種新的思路。



技術(shù)實(shí)現(xiàn)要素:

為了簡(jiǎn)化矩陣鍵盤的檢測(cè),并使單片機(jī)只需要通過(guò)一個(gè)中斷源和若干個(gè)普通io口與矩陣鍵盤相連就可以以中斷的方式完成矩陣鍵盤檢測(cè)。

本發(fā)明采用的技術(shù)方案是:一種三端輕觸開(kāi)關(guān),其特征是:由三個(gè)接觸端構(gòu)成,自然狀態(tài)下,這三個(gè)端兩兩開(kāi)路,摁住開(kāi)關(guān)時(shí),這三個(gè)端兩兩短路。

鍵盤連接方式:三端輕觸開(kāi)關(guān)的三個(gè)端是相同的,為便于表述,將三端輕觸開(kāi)關(guān)的三個(gè)端分別編號(hào)為0、1、2,對(duì)于m*n個(gè)輕觸開(kāi)關(guān),將其排列成m行n列,每一行n個(gè)三端輕觸開(kāi)關(guān)的1端由行線相連,各行分別記為row_1~row_m,每一列的m個(gè)三端輕觸開(kāi)關(guān)的0端由列線相連,各列分別記為line_1~line_n,所有m*n個(gè)輕觸開(kāi)關(guān)的2端連接到一起記為com端,所有三端輕觸開(kāi)關(guān)構(gòu)成了m行n列的矩陣鍵盤。

查詢工作方式:行線row_1~row_m分別與單片機(jī)io口相連相連,列線line_1~line_n分別與單片機(jī)io口相連,com端接地;單片機(jī)通過(guò)讀取矩陣鍵盤相連的io口的值得到行線和列線上的電平狀態(tài),每一個(gè)按鍵被按下都對(duì)應(yīng)唯一的行線和列線上的一個(gè)電平狀態(tài),所以就可以通過(guò)單片機(jī)讀取行線和列線上的電平狀態(tài)來(lái)識(shí)別出被按下的按鍵,這就實(shí)現(xiàn)了單片機(jī)以查詢的工作方式檢測(cè)整個(gè)矩陣鍵盤。

中斷工作方式1:行線row_1~row_m分別與單片機(jī)io口相連相連,列線line_1~line_n分別與單片機(jī)io口相連,將com端接到單片機(jī)的外部中斷引腳,接下來(lái)以中斷的方式檢測(cè)整個(gè)矩陣鍵盤,將外部中斷設(shè)置為下降沿觸發(fā),與行線列線相連的io口設(shè)置為推挽輸出模式并全部輸出低電平,這樣,只要有任意一個(gè)按鍵被按下,com端電平便會(huì)被拉低,中斷觸發(fā),進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中,首先將中斷引腳設(shè)置為輸出模式并輸出低電平,再將與行線列線相連的io口設(shè)置為上拉輸入模式,單片機(jī)再讀取行線列線的值,通過(guò)讀取行線列線的電平狀態(tài)便可以識(shí)別出被按下的按鍵,等待按鍵釋放,識(shí)別完成后再將外部中斷設(shè)置為下降沿觸發(fā),與行線列線相連的io口設(shè)置為推挽輸出模式并全部輸出低電平,單片機(jī)繼續(xù)等待中斷的來(lái)臨,這就實(shí)現(xiàn)了單片機(jī)以中斷的工作方式檢測(cè)整個(gè)矩陣鍵盤。

中斷工作方式2:行線row_1~row_m分別與單片機(jī)io口相連相連,列線line_1~line_n分別與單片機(jī)io口相連,每根行線和每根列線都分別連接一個(gè)電阻,所有電阻的另一端連接到高電平;所有行線或者所有列線或者所有行線和列線連接到一個(gè)與門電路的輸入端,與門電路的輸出端連接到單片機(jī)的外部中斷引腳,將外部中斷設(shè)置為下降沿觸發(fā);將com端接到低電平;任意一個(gè)按鍵被按下,其中一根行線和一根列線的電平被拉低,與門電路輸出端輸出一個(gè)低電平,中斷觸發(fā),進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中,利用中斷服務(wù)程序讀取輸入的鍵的位置。

本發(fā)明的有益效果是:這種結(jié)構(gòu)的輕觸開(kāi)關(guān)構(gòu)成的矩陣鍵盤的檢測(cè)變得和線性鍵盤一樣簡(jiǎn)單,并單片機(jī)只需要通過(guò)一個(gè)中斷源和若干個(gè)普通io口與矩陣鍵盤相連就可以以中斷的方式完成矩陣鍵盤檢測(cè)。用中斷的方式檢測(cè)矩陣鍵盤不僅提高了整個(gè)單片機(jī)系統(tǒng)的實(shí)時(shí)性,提高了效率,還允許系統(tǒng)在休眠模式下工作,有按鍵按下時(shí)才觸發(fā)中斷喚醒cpu,這樣做也降低了系統(tǒng)的功耗,節(jié)約能源,同時(shí)能夠鍵盤的使用壽命。

附圖說(shuō)明

原理圖1是三端輕觸開(kāi)關(guān)的基本結(jié)構(gòu),有0,1,2三個(gè)端,每個(gè)端引出引腳;

原理圖2給出了一種由傳統(tǒng)兩端輕觸開(kāi)關(guān)構(gòu)成的4*4矩陣鍵盤的連接方法;

原理圖3給出了一種由三端輕觸開(kāi)關(guān)構(gòu)成的4*4矩陣鍵盤以查詢方式工作的連接方法;

原理圖4給出了一種由三端輕觸開(kāi)關(guān)構(gòu)成的4*4矩陣鍵盤以中斷方式工作的連接方法。

具體實(shí)施方式

原理圖2給出了一種由傳統(tǒng)兩端輕觸開(kāi)關(guān)構(gòu)成的4*4矩陣鍵盤的連接方法和實(shí)現(xiàn)鍵盤檢測(cè)的方法,根據(jù)原理圖2,行線row_1~row_4分別與單片機(jī)p1^0~p1^3(表示p1端口的0~3位,有的教材或者編程語(yǔ)言表示為p1.0~p1.3,本處的表示方法也是常見(jiàn)的標(biāo)示符號(hào)之一,下同;同時(shí),在單片機(jī)中有的端口是雙向口,或者稱為準(zhǔn)雙向口,即能夠輸出信息、也能輸入信息,此處的p1具有雙向口功能)相連并將p1^0~p1^3設(shè)置為推挽輸出模式,列線line_1~line_4分別與單片機(jī)p1^4~p1^7相連并將p1^4~p1^7設(shè)置為上拉輸入模式(懸空時(shí)引腳為高電平),采用行掃描法檢測(cè)矩陣鍵盤,依次將p1^0~p1^3單獨(dú)置為低電平,每設(shè)置一次低電平、都要讀取p1^4~p1^7檢測(cè)各列線的狀態(tài),來(lái)判斷是哪個(gè)按鍵按下(由于單片機(jī)的掃描速度遠(yuǎn)遠(yuǎn)快于人的輸入速度,現(xiàn)在單片機(jī)的頻率能夠達(dá)到300mhz,假定掃描需要100個(gè)周期,大約在微秒數(shù)量級(jí),而人的輸入速度在0.1秒的數(shù)量級(jí),因此,相對(duì)于人的輸入速度,掃描所需的時(shí)間能夠忽略)。具體實(shí)現(xiàn)方案:首先將p1^0輸出低電平,其余三條行線(p1^1、p1^2、p1^3)置為高電平,此時(shí)可以檢測(cè)第一行按鍵的狀態(tài),若key1被按下則line_4線電平被拉低,其余列線為高電平,若key2被按下則line_3線電平被拉低,其余列線為高電平,依此類推key3、key4,這樣通過(guò)讀取列線的電平的狀態(tài)就可以得到第一行按鍵的狀態(tài)。接著檢測(cè)第二行的按鍵,將p1^1輸出低電平,其余三條行線(p1^0、p1^2、p1^3)置為高電平,此時(shí)可以檢測(cè)第二行按鍵的狀態(tài),若key5被按下則line_4線電平被拉低,其余列線為高電平,若key6被按下則line_3線電平被拉低,其余列線為高電平,依此類推key7、key8,這樣通過(guò)讀取列線的電平的狀態(tài)就可以得到第二行按鍵的狀態(tài)。同理,再依次置低p1^2和p1^3的電平,其余列線為高電平,便可以分別檢測(cè)第三行和第四行按鍵的狀態(tài)。這樣就通過(guò)行掃描法檢測(cè)出了整個(gè)矩陣鍵盤。由于本身有由傳統(tǒng)兩端輕觸開(kāi)關(guān)構(gòu)成,這種4*4矩陣鍵盤絕大多少通過(guò)查詢方式(單片機(jī)需要不斷讀取行線和列線的電平)檢測(cè),而且可以看出檢測(cè)過(guò)程也較為復(fù)雜繁瑣。

接下來(lái)再給出了一種由本發(fā)明所描述的三端輕觸開(kāi)關(guān)構(gòu)成的4*4矩陣鍵盤的連接方法和實(shí)現(xiàn)鍵盤檢測(cè)的方法。

首先給出以查詢方式實(shí)現(xiàn)鍵盤檢測(cè)的方法:根據(jù)原理圖3,行線row_1~row_4分別與單片機(jī)p1^0~p1^3相連,列線line_1~line_4分別與單片機(jī)p1^4~p1^7相連,com端接電源地(低電平)。p1^0~p1^7都設(shè)置為上拉輸入模式。單片機(jī)只需不斷讀取p1^0~p1^7即p1整個(gè)端口的值,便可得到整個(gè)矩陣鍵盤的狀態(tài)。當(dāng)按鍵s1被按下時(shí),與s1相連的行線與列線都與com端導(dǎo)通,被拉為低電平即p1^0和p1^7電平都為0,此時(shí)讀出p1端口的值為0x7e(0x標(biāo)示16進(jìn)制,十六進(jìn)制0x7e表示二進(jìn)制的01111110),p1^0~p1^7依次對(duì)應(yīng)一個(gè)字節(jié)的低位到高位,若s16被按下,與s16相連的行線與列線都與com端導(dǎo)通,被拉為低電平即p1^3和p1^4電平都為0,此時(shí)讀出p1端口的值為0xe7(二進(jìn)制的11100111),同理按鍵s1~s16被按下時(shí),依次對(duì)應(yīng)的p1端口的值為{0x7e,0xbe,0xde,0xee,0x7d,0xbd,0xdd,0xed,0x7b,0xbb,0xdb,0xeb,0x77,0xb7,0xd7,0xe7},這樣只需要不斷讀取p1端口的值便可以得到按下按鍵的編碼進(jìn)而得到被按下按鍵的編號(hào)。相比于前面敘述的傳統(tǒng)二段輕觸開(kāi)關(guān)構(gòu)成的矩陣鍵盤的檢測(cè)需要依次置低行線再讀取p1^4~p1^7的值來(lái)掃描檢測(cè)每一行的按鍵,這種由三端輕觸開(kāi)關(guān)構(gòu)成的4*4矩陣鍵盤的檢測(cè)大大簡(jiǎn)化,直接通過(guò)讀取p1端口的值便可以檢測(cè)整個(gè)矩陣鍵盤。

除了簡(jiǎn)化了矩陣鍵盤的檢測(cè),這種由三端輕觸開(kāi)關(guān)構(gòu)成的矩陣鍵盤還可以很容易地以中斷的工作方式完成其檢測(cè)。接下來(lái)給出以中斷方式實(shí)現(xiàn)鍵盤檢測(cè)的方法:根據(jù)原理圖4,行線row_1~row_4分別與單片機(jī)p1^0~p1^3相連,列線line_1~line_4分別與單片機(jī)p1^4~p1^7相連,將com端接到單片機(jī)的外部中斷引腳,將外部中斷設(shè)置為下降沿觸發(fā),p1口設(shè)置為推挽輸出模式并全部輸出低電平,這樣,只要有任意一個(gè)按鍵被按下,com端電平便會(huì)被拉低,中斷觸發(fā),進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中,首先將中斷引腳設(shè)置為輸出模式并輸出低電平,p1口設(shè)置為上拉輸入模式,單片機(jī)再讀取p1端口的值,通過(guò)讀取p1端口的值便可以得到被按下按鍵的編碼進(jìn)而得到被按下按鍵的編號(hào),按鍵s1~s16被按下時(shí),依次對(duì)應(yīng)的p1端口的值為{0x7e,0xbe,0xde,0xee,0x7d,0xbd,0xdd,0xed,0x7b,0xbb,

0xdb,0xeb,0x77,0xb7,0xd7,0xe7},得到被按下按鍵的編號(hào)后,再將p1口設(shè)置為輸出模式并輸出低電平,將外部中斷設(shè)置為輸入模式,退出中斷,這樣,單片機(jī)可以工作在低功耗休眠模式,在有按鍵按下時(shí)才將其喚醒。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
玉门市| 阜平县| 大方县| 康定县| 那坡县| 保康县| 嘉义县| 六盘水市| 新余市| 昭平县| 万宁市| 稷山县| 兴城市| 莲花县| 宝应县| 扬州市| 上蔡县| 隆尧县| 兴山县| 什邡市| 尚义县| 仲巴县| 定日县| 东平县| 珠海市| 田林县| 东港市| 深水埗区| 边坝县| 通河县| 溆浦县| 陇南市| 宁德市| 开阳县| 延安市| 桂东县| 翼城县| 武汉市| 岚皋县| 乐平市| 台江县|