新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 調(diào)試初級階段之二--如何讓鍵盤、顯示正常

調(diào)試初級階段之二--如何讓鍵盤、顯示正常

—— 調(diào)試初級階段之二—如何讓鍵盤、顯示正常
作者: 時間:2014-07-08 來源:網(wǎng)絡(luò) 收藏

  調(diào)試之一說明如何讓系統(tǒng)成功運行。分別列出了幾種不同的應(yīng)對之策。

本文引用地址:http://www.butianyuan.cn/article/249400.htm

  調(diào)試之二說明、等簡單的外圍設(shè)備出現(xiàn)問題時如何快速分析出故障點,同時提出幾種應(yīng)對之策。

  調(diào)試:

  硬件部分總體來說很簡單,無非就是檢測跳變。高電平跳轉(zhuǎn)到低電平,低電平跳轉(zhuǎn)到高電平,或者是掃描式的跳變檢測。

  ▲:對于直接式的鍵盤解法,一般只要用萬用表測量相應(yīng)的,看看是否按鍵前后是否有電平變化就可以判斷出硬件是否有問題。為什么要檢測這一步呢?因為我們的按鍵也還是可能存在質(zhì)量問題,如果你拿到的按鍵是一個壞的按鍵,無論你怎么按都不會產(chǎn)生跳變,那么你的程序如果得到正確的結(jié)果?還有一點就是假定你的按鍵是好的,但是,你把線接錯了,也會發(fā)生故障。目前我們使用的按鍵一般是四條腿的按鍵,其中分別兩條腿可以看作一個引腳,所以,有可能會存在接錯的情況。

  △:焊接按鍵之前,先用萬用表找到按鍵的兩個引腳,焊接之前就必須判斷按鍵前后鍵盤兩個引腳之間存在變化,具體就是用萬用表的電阻檔或者二極管檔,如果按下,兩個引腳之間短路,不按時,引腳之間開路,表明按鍵本身是好的。焊接以后,用萬用表或者示波器檢測是否在按鍵前后存在電平的差異。

  ▲:行列式的鍵盤處理。由于程序工作時行列式的鍵盤引腳之間的信號是一個變化的。所以,行列式鍵盤的調(diào)試復(fù)雜一些,需要程序的配合處理。


如圖式,上圖為4*4的行列式鍵盤,節(jié)點處為按鍵。右邊電阻為4.7K—10K均可,可以看出沒有任何按鍵按下時,P5—P8應(yīng)當為低電平。 正常程序掃描過程如下:

 ?、?先P1,P2,P3,P4 全部送高電平

  ② 然后檢測P5,P6,P7,P8的狀態(tài)

 ?、?如果有鍵按下,則P5,P6,P7,P8至少會有一個不再為0

 ?、?此時則開始P1,P2,P3,P4分別送高電平掃描處理……

  從硬件和軟件的處理可以看出,如果要判斷按鍵是否正常,則在①之后,②之前程序需要停下來。此時 P1—P4 四個端口全部送出的是高電平,那么沒有鍵按下時,P5—P7之間應(yīng)該是低電平,否則對應(yīng)列引腳有高電平。

  △:在判斷出按鍵好壞之后焊接到電路板。然后運行程序到①之后,讓程序進入死循環(huán),保留在當前狀態(tài),然后分別測量每一個按鍵是否正常。這里拿P1和P5之間的按鍵說明。P1和P5之間的按鍵未按下時,P5上的電平是低電平,按下后,P5上的點評將變?yōu)楦唠娖?,如果沒有這種變化,則表明電路出錯或者是按鍵損壞(可能在焊接過程中損壞)又或者是焊接問題。

  調(diào)試:

  部分分為8段式發(fā)光數(shù)碼管和發(fā)光二極管兩種。兩種顯示裝置都是利用發(fā)光二極管的特性,所以,他們的硬件檢測理論上是一致的。

  △:通常在使用前,兩種發(fā)光管都應(yīng)當經(jīng)過檢測是否好壞。具體使用萬用表的二極管檔,表筆正極接二極管正極,表筆負極接二極管負極,此時可以看到二極管被點亮。 發(fā)光二極管驅(qū)動分為驅(qū)動,VCC驅(qū)動。值得注意的是,VCC驅(qū)動的話,一定要加限流電阻,否則發(fā)光二極管必定會被燒毀。IO驅(qū)動的話,要分開來看,如果是灌電流驅(qū)動,一定要加限流電阻,因為灌電流通??梢赃_到幾十毫安。如果是拉電流驅(qū)動的話,就要根據(jù) IO 驅(qū)動能力來判斷了。如果是拉電流小于5毫安的,不加限流電阻也可以驅(qū)動,如果大于10毫安,則一定需要加限流電阻,經(jīng)過實驗,10毫安以上的拉電流驅(qū)動的話,時間長了以后發(fā)光二極管會損壞。值得注意的是,如果用的是 IO 直接驅(qū)動不加限流電阻,測量IO口電平的時候,如果是0.7V左右就表明已經(jīng)輸出了高電平,因為二極管的鉗位作用電壓被鉗在0.7V了。添加限流電阻的話就不存在這種情況。

  ▲:使用 8 段數(shù)碼管的時候,發(fā)生了某一段從來不亮,又或者某一段從來不滅。

  △:此時有幾種可能性。從來不亮,是否存在虛焊,虛焊為開路的話,對應(yīng)段是不會亮的。從來不滅,是否存在短路。如果和VCC或者GND短路了,可能發(fā)生從來從來不亮和從來不滅,具體看你的驅(qū)動方式。檢測時,應(yīng)當采用測量 IO 驅(qū)動腳和數(shù)碼管引腳相結(jié)合的方式來判斷是否硬件問題。舉例來說,74HC595輸出驅(qū)動共陰極數(shù)碼管,有限流電阻,公共端接地。如果測量IO口上為高電平,而此時對應(yīng)的段不亮,則表明兩種情況,要么對應(yīng)段對地短路,要么對應(yīng)段連接線路中存在開路,開路要么是線斷了,比如過孔不通,要么是焊接虛焊開路,需要逐一排查。

  調(diào)制之三準備說說串口如何調(diào)試。由于串口調(diào)試過于復(fù)雜,專門做一章講解。

DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY


萬用表相關(guān)文章:萬用表怎么用




關(guān)鍵詞: 鍵盤 IO 顯示

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉