硬件部分包括單片機(jī)最小系統(tǒng),串口通信、液晶顯示界面三大部分。最小系統(tǒng)部分單片機(jī)選用了AT89C51單片機(jī),串口選用232電平轉(zhuǎn)TTL電平的MAX232)芯片,進(jìn)行電平轉(zhuǎn)換。液晶選用128X64點(diǎn)陣的液晶模塊。
穩(wěn)壓直流電源設(shè)計(jì)
圖1
流程圖如下圖所示:
圖2
矩陣鍵盤(pán)的設(shè)計(jì)
矩陣按鍵部分由8個(gè)輕觸按鍵,單片機(jī)的P2口檢測(cè)及按鍵狀態(tài),并記錄相應(yīng)的鍵值,指示相應(yīng)的指示燈亮,并同步把相應(yīng)信息通過(guò)串口傳給PC機(jī)。
圖3
鍵連擊現(xiàn)象的克服和處理
當(dāng)我們按下某個(gè)鍵時(shí),對(duì)應(yīng)的功能便會(huì)通過(guò)鍵盤(pán)分析程序得以執(zhí)行,如果在操作者釋放之前,對(duì)應(yīng)的功能多次執(zhí)行,如同操作者在連續(xù)不斷的操作該鍵一樣,這種現(xiàn)象就稱(chēng)為連擊。連擊先可流程圖的軟件方法來(lái)解決:當(dāng)某個(gè)鍵按下時(shí),首先進(jìn)行軟件去抖處理,確認(rèn)鍵被按下后,便執(zhí)行與該鍵相對(duì)應(yīng)的功能,執(zhí)行完后不是立即返回,而是等待鍵釋放之后再返回,使每一次按鍵只被響應(yīng)一次,從而達(dá)到避免連擊的目的。
圖4:指示燈硬件圖
液晶顯示驅(qū)動(dòng)電路的設(shè)計(jì)
圖5
現(xiàn)在,在市場(chǎng)上所使用的液晶都是液晶模塊,也就是說(shuō),現(xiàn)在的液晶模塊都是將液晶以及相應(yīng)的驅(qū)動(dòng)芯片,寄存器,驅(qū)動(dòng)電源電路等一系列的輔助電路都集成在了一起,從二使用戶(hù)能夠更加的方便是液晶,即所謂的大眾化。12864采用的是點(diǎn)陣式液晶,分為128X64個(gè)點(diǎn),即有1204個(gè)字節(jié),也就是說(shuō)每一個(gè)ROM內(nèi)存單元對(duì)應(yīng)一個(gè)點(diǎn)陣。如何對(duì)其驅(qū)動(dòng)是對(duì)12864的主要難點(diǎn),對(duì)于其驅(qū)動(dòng)大致可以分為:初始化,設(shè)置起始位顯示,輸送數(shù)據(jù)幾大塊。初始化主要的就是按照芯片手冊(cè)來(lái),因?yàn)槟切┟钫Z(yǔ)句的內(nèi)存單元都是定的,不能夠根據(jù)用戶(hù)的喜好來(lái)自己定義。設(shè)置起始位數(shù)據(jù)顯示位置,主要是要搞清楚ROM的對(duì)應(yīng)地址。12864分為左半屏面和右半屏面。其中左邊占64列,右邊占64列。共128列。行分為64行。又將其分為8頁(yè),每一頁(yè)占8行。列的起始地址為40H,行的起始地址為B8H。
系統(tǒng)仿真
圖6