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