簡單的4×4行列式鍵盤控制電路設(shè)計
1.概述
鍵盤是一組按壓式開關(guān)的集合,是微機(jī)系統(tǒng)不可缺少的輸入設(shè)備,用于輸入數(shù)據(jù)和命令。鍵盤的每一個按鍵都被賦予一個代碼,稱為鍵碼。鍵盤系統(tǒng)的主要工作包括及時發(fā)現(xiàn)有鍵閉合,求閉合鍵的鍵碼。根據(jù)這一過程的不同,鍵盤可以分為兩種,即編碼鍵盤和非編碼鍵盤。編碼鍵盤是通過一個編碼電路來識別閉合鍵的鍵碼,非編碼鍵盤是通過軟件來識別鍵碼。由于非編碼鍵盤的硬件電路簡單,用戶可以方便地增減鍵的數(shù)量,因此在單片機(jī)應(yīng)用系統(tǒng)中,非編碼鍵盤得到廣泛的應(yīng)用,有較好的應(yīng)用價值。
2.設(shè)計原理
首先應(yīng)該了解本次設(shè)計的基本要求和目的,再通過查找資料了解80C51單片機(jī)的工作原理、結(jié)構(gòu)圖,數(shù)碼顯示管的結(jié)構(gòu)和工作原理。根據(jù)設(shè)計要求可以將單片機(jī)P3口接4×4鍵盤,P0口接數(shù)碼顯示管,根據(jù)掃描原理進(jìn)行行掃描,用CJNE指令判斷P3口的狀態(tài)。采用軟件延時去抖動,用MOVC A,@A+DPTR取鍵值。
建立鍵值對應(yīng)的顯示碼,通過查表指令實現(xiàn)鍵值的顯示。由此畫出設(shè)計流程圖和利用匯編語言進(jìn)行編程。最后利用Proteus畫出電路圖進(jìn)行仿真。其系統(tǒng)原理框圖如圖1所示。
3.單元電路設(shè)計
3.1 顯示電路
按顯示方式分,用單片機(jī)驅(qū)動LED數(shù)碼管的方法有靜態(tài)顯示和動態(tài)(掃描)顯示兩種。
靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后需要刷新,直到下一次顯示內(nèi)容需要更新時再傳送新的數(shù)據(jù),這種方法顯示穩(wěn)定,占用CPU時間少。本設(shè)計主要是用的動態(tài)顯示,它的特點正好與靜態(tài)顯示相反,需要CPU時刻對顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多,但動態(tài)顯示所需硬件少,電路相對簡單,能節(jié)省線路板空間。采用1位8段共陰極LED,P0口作為LED顯示碼輸出端,因為只采用1位數(shù)碼管,因此線選端直接接地。
如圖2所示。
3.2 鍵盤電路
用AT89S51的并行口P3接4×4行列式鍵盤,以P3.0-P3.3作輸出線,以P3.4-P3.7作輸入線;在數(shù)碼管上顯示每個按鍵的“0-F”
序號。對應(yīng)的按鍵的序號排列如圖3所示。
3.3 電路仿真
采用Proteus仿真軟件進(jìn)行仿真,在仿真之前先按照預(yù)設(shè)值好的電路圖進(jìn)行連線,以及布局,最后確定線路已連接好,將匯編程序編譯生成。hex文件,加載到51芯片中,再運(yùn)行開始仿真,電路仿真效果圖如圖4所示。
4.結(jié)束語
本設(shè)計是以單片機(jī)為控制核心的鍵盤系統(tǒng),對該系統(tǒng)的結(jié)構(gòu)原理進(jìn)行了相應(yīng)的描述。通過對鍵盤的操作在數(shù)碼管上顯示相應(yīng)的按鍵字符,具有使用方便、操作簡單等特點。隨著單片機(jī)的日益發(fā)展,它必將更多的電子系統(tǒng)設(shè)計中得到更多的應(yīng)用,為電子設(shè)計增加更多精彩。