單鍵,就是每個按鍵占用一個單片機(jī)的管腳,這種接法的特點是電路和程序都很簡單,缺點是占用單片機(jī)的管腳多、消耗硬件資源大。這種接法一般適合于 6個或不多于6個按鍵。
單鍵電路的電路圖見圖1,由圖可以看出,每一個按鍵的一端都直接連有一個8255的PC端口的一個管腳作為輸入管腳,并且這個端口管腳只連有一個按鍵,這樣的接法就是單鍵接法。單鍵接法要求按鍵的一端接有一個上拉電阻,而按鍵的另一端直接接地,這樣可以在按鍵沒有合上的時候保持輸入管腳始終是高電平。如果程序檢測到這個管腳為高電平,就會認(rèn)為該管腳的按鍵沒有按下,而按鍵合上以后,輸入管腳的電平就會變成低電平,這樣當(dāng)程序檢測出輸入管腳為低電平以后,就會認(rèn)為這個按鍵被按下。
單鍵電路
圖1單鍵電路
按鍵,特別是機(jī)械按鍵按下后會有一定的抖動,這個抖動會持續(xù)很短的時間。這個抖動會引起程序的異常,因為程序很可能會認(rèn)為在這么短的時間內(nèi)這個按鍵被按下很多次,有很多資料特別提到了防抖電路。實踐證明,這個電路完全可以忽略,使用程序完全可以代替這個電路。
有些資料也是使用程序代替防抖電路,但是是用數(shù)十毫秒的延時電路,這樣的程序毫無疑問會增加程序時間的開銷,對程序快速反應(yīng)不利。
我們可以通過程序處理把按鍵變成所謂的微分按鍵,所謂微分,實際上是指我們只處理按鍵的變化,沒有變化的按鍵信息我們是不處理的,由于微分按鍵只處理第一次變化的信息,因此短時間的按鍵抖動是不會產(chǎn)生誤操作的。
下面給出相應(yīng)的按鍵程序并分析。
在本程序中,所謂的單鍵輸入實際上就是讀出8255的PC口的信息。
程序首先檢查是不是有按鍵按下,如果沒有,則將按鍵特征變量ktz置0,同時退出本函數(shù),這樣減少了無用程序的運行時間。如果有按鍵按下同時 ktz等于0(表明是第一次按下),則轉(zhuǎn)入按鍵處理部分。按鍵處理主要是定義按鍵編碼,因為從輸入口讀入的按鍵值通常需要處理,以便過濾不必要的信息或干擾,同時將輸入值規(guī)整為便于我們處理的鍵碼。這里的鍵碼就是1、2、3、4、5、6、7、8,這8個數(shù)字對應(yīng)8個按鍵。單鍵輸入函數(shù)的流程圖如圖2所示,對應(yīng)程序如下:
單鍵輸入函數(shù)的流程圖
圖2 單鍵輸入函數(shù)的流程圖
圖2 單鍵輸入函數(shù)的流程圖
我們是否設(shè)計了一個電源,后來才發(fā)現(xiàn)我們的布局效率低下?按照這些關(guān)鍵提示創(chuàng)建電源布局并避免調(diào)試壓力。什么是電源設(shè)計的布局?你知道嗎?一個完美的電路設(shè)計,電源布局顯得尤為重要。由于不同的設(shè)計方案的出發(fā)點不同,而有所差異,但是...
摘要:基于攝像機(jī)遠(yuǎn)程操作技術(shù),利用單片機(jī)控制步進(jìn)電機(jī),建立攝像鏡頭的電力驅(qū)動系統(tǒng)。此系統(tǒng)節(jié)約了經(jīng)濟(jì)成本,通過人機(jī)交互閉環(huán)系統(tǒng)、模塊化等方法,進(jìn)一步提高了系統(tǒng)的通用性,使其可以應(yīng)用于工程。
關(guān)鍵字: 步進(jìn)電機(jī) 單片機(jī) 電路設(shè)計許多同步降壓轉(zhuǎn)換器設(shè)計人員面臨一個共同的問題:如何最好地連接開漏電源良好標(biāo)志,也稱為電源良好 (PGOOD) 引腳。在這篇文章中,我將探討電源良好與各種不同的上拉源相關(guān)聯(lián)時的預(yù)期行為。有一些錯誤信息四處流傳,希望這篇文章...
關(guān)鍵字: 降壓轉(zhuǎn)換器 電路設(shè)計嵌入式開發(fā)是指利用分立元件或集成器件進(jìn)行電路設(shè)計、結(jié)構(gòu)設(shè)計,再進(jìn)行軟件編程(通常是高級語言),實驗,經(jīng)過多輪修改設(shè)計、制作,最終完成整個系統(tǒng)的開發(fā)。
關(guān)鍵字: 嵌入式開發(fā) 電路設(shè)計 結(jié)構(gòu)設(shè)計