4X4行列式鍵盤控制電路(一)1.概述鍵盤是一組按壓式開(kāi)關(guān)的集合,是微機(jī)系統(tǒng)不可缺少的輸入設(shè)備,用于輸入數(shù)據(jù)和命令。鍵盤的每一個(gè)按鍵都被賦予一個(gè)代碼,稱為鍵碼。鍵盤系統(tǒng)的主要工作包括及時(shí)發(fā)現(xiàn)有鍵閉合,求閉合鍵的鍵碼。根據(jù)這一過(guò)程的不同,鍵盤可以分為兩種,即編碼鍵盤和非編碼鍵盤。編碼鍵盤是通過(guò)一個(gè)編碼電路來(lái)識(shí)別閉合鍵的鍵碼,非編碼鍵盤是通過(guò)軟件來(lái)識(shí)別鍵碼。由于非編碼鍵盤的硬件電路簡(jiǎn)單,用戶可以方便地增減鍵的數(shù)量,因此在單片機(jī)應(yīng)用系統(tǒng)中,非編碼鍵盤得到廣泛的應(yīng)用,有較好的應(yīng)用價(jià)值。 2.設(shè)計(jì)原理首先應(yīng)該了解本次設(shè)計(jì)的基本要求和目的,再通過(guò)查找資料了解80C51單片機(jī)的工作原理、結(jié)構(gòu)圖,數(shù)碼顯示管的結(jié)構(gòu)和工作原理。根據(jù)設(shè)計(jì)要求可以將單片機(jī)P3口接4&TImes;4鍵盤,P0口接數(shù)碼顯示管,根據(jù)掃描原理進(jìn)行行掃描,用CJNE指令判斷P3口的狀態(tài)。采用軟件延時(shí)去抖動(dòng),用MOVCA,@A+DPTR取鍵值。 建立鍵值對(duì)應(yīng)的顯示碼,通過(guò)查表指令實(shí)現(xiàn)鍵值的顯示。由此畫(huà)出設(shè)計(jì)流程圖和利用匯編語(yǔ)言進(jìn)行編程。最后利用Proteus畫(huà)出電路圖進(jìn)行仿真。其系統(tǒng)原理框圖如圖1所示。
3.單元電路設(shè)計(jì)3.1.顯示電路 按顯示方式分,用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管的方法有靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示兩種。 靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后需要刷新,直到下一次顯示內(nèi)容需要更新時(shí)再傳送新的數(shù)據(jù),這種方法顯示穩(wěn)定,占用CPU時(shí)間少。本設(shè)計(jì)主要是用的動(dòng)態(tài)顯示,它的特點(diǎn)正好與靜態(tài)顯示相反,需要CPU時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時(shí)間多,但動(dòng)態(tài)顯示所需硬件少,電路相對(duì)簡(jiǎn)單,能節(jié)省線路板空間。采用1位8段共陰極LED,P0口作為L(zhǎng)ED顯示碼輸出端,因?yàn)橹徊捎?位數(shù)碼管,因此線選端直接接地。 如圖2所示。
3.2.鍵盤電路 用AT89S51的并行口P3接4&TImes;4行列式鍵盤,以P3.0-P3.3作輸出線,以P3.4-P3.7作輸入線;在數(shù)碼管上顯示每個(gè)按鍵的“0-F”序號(hào)。對(duì)應(yīng)的按鍵的序號(hào)排列如圖3所示。
3.3.電路仿真 采用Proteus仿真軟件進(jìn)行仿真,在仿真之前先按照預(yù)設(shè)值好的電路圖進(jìn)行連線,以及布局,最后確定線路已連接好,將匯編程序編譯生成。hex文件,加載到51芯片中,再運(yùn)行開(kāi)始仿真,電路仿真效果圖如圖4所示。
4X4行列式鍵盤控制電路(二)如圖2所示,用AT89S51的并行口P1接4&TImes;4矩陣鍵盤,以P1.0-P1.3作輸入線,以P1.4-P1.7作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的“0-F”序號(hào)。對(duì)應(yīng)的按鍵的序號(hào)排列如圖1所示:
圖1 1.把“單片機(jī)系統(tǒng)“區(qū)域中的P3.0-P3.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中的C1-C4R1-R4端口上; 2.把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個(gè)a-h端口上;要求:P0.0/AD0對(duì)應(yīng)著a,P0.1/AD1對(duì)應(yīng)著b,……,P0.7/AD7對(duì)應(yīng)著h。
圖2 4X4行列式鍵盤控制電路(三)PIC單片機(jī)人機(jī)接口模塊4&TImes;4行列式鍵盤的電路設(shè)計(jì)本實(shí)例的4×4行列式鍵盤的原理圖如圖1所示,在輸出時(shí),采用端口C的低4位來(lái)顯示按鍵的輸入值。
圖1 外部上電復(fù)位電路 單片機(jī)的時(shí)鐘電路和復(fù)位電路可以采用如圖2所示的電路,也可以采用一種更加簡(jiǎn)單的時(shí)鐘電路,即如圖2所示的時(shí)鐘電路和復(fù)位電路。在實(shí)現(xiàn)時(shí)也可以用PIC16C5X端口作為輸入端,其電路如圖3所示。
圖2 時(shí)鐘電路和復(fù)位電路
圖3 4×4行列式鍵盤的電路圖 其中,RD0~RD3用來(lái)進(jìn)行列掃描,RD4~RD7用來(lái)進(jìn)行行掃描。RD4~RD7各自通過(guò)一個(gè)電阻接到電源上,并和RD0~RD3通過(guò)一個(gè)按鍵連接起來(lái)。 當(dāng)一個(gè)按鍵按下時(shí),對(duì)應(yīng)的行輸入口的電平為通過(guò)按鍵連接的列輸入端口的電平。普通狀態(tài)下,各個(gè)列端口的輸出是低電平,在掃描到任一行端口的電壓變低后,再將4條列端口 的電平變?yōu)楦唠娖?,每一個(gè)列端口依次變低,然后判斷出現(xiàn)低電平的行端口是否為低電平,如果是,則可以確定是哪一個(gè)按鍵按下。
圖4 端口C的低4位輸出電路圖 在輸出顯示時(shí),采用端口C的低4位作為輸出,4位二進(jìn)制的輸出對(duì)應(yīng)16個(gè)按健,按下按鍵后,就會(huì)在端口C的低4位輸出,直到再一次按動(dòng)其他的按鍵輸出才會(huì)改變。端口C的低4位輸出電路圖如圖4所示。 |
|
來(lái)自: 凡葉s > 《技術(shù)資料》