簡(jiǎn)易信息發(fā)布電路設(shè)計(jì)
知道鍵盤(pán)已經(jīng)上電就緒;其次,單片機(jī)發(fā)送初始化命令,初始化鍵盤(pán);再次,單片機(jī)判斷鍵盤(pán)是否有按鍵被按下,并且識(shí)別其碼號(hào);最后,單片機(jī)發(fā)送控制命令給液晶控制器,使液晶顯示所要顯示的信息。
3.2.PS/2鍵盤(pán)程序設(shè)計(jì)
在PS/2通信過(guò)程中,主設(shè)備(單片機(jī))是在時(shí)鐘信號(hào)為低時(shí)發(fā)送和接收數(shù)據(jù)信號(hào)的。因?yàn)閱纹瑱C(jī)到鍵盤(pán)發(fā)送的是指令,需要鍵盤(pán)回應(yīng),所以這部分程序采用查詢方式;而單片機(jī)接收鍵盤(pán)數(shù)據(jù)時(shí),數(shù)據(jù)線上的信號(hào)在時(shí)鐘為低時(shí)已經(jīng)穩(wěn)定,所以這部分程序采用中方式,且不需要在程序中加入延時(shí)程序。
程序模塊主要包括串口中斷模塊、定時(shí)器中斷模塊、外部中斷0服務(wù)程序模塊、掃描鍵盤(pán)程序模塊、發(fā)送鍵盤(pán)命令模塊。其主程序流程圖如圖3:
3.3.LCD液晶顯示驅(qū)動(dòng)程序設(shè)計(jì)
按照設(shè)計(jì)要求,本課題的液晶顯示驅(qū)動(dòng)軟件包括初始化部分和顯示應(yīng)用程序兩部分。初始化部分包括對(duì)液晶顯示模塊的初始化設(shè)置、液晶顯示模塊的顯示RAM清零、單片機(jī)內(nèi)部RAM的清零。
顯示應(yīng)用程序部分主要是單獨(dú)的顯示子程序,通過(guò)一個(gè)單獨(dú)的按鍵進(jìn)行控制,按一次按鍵執(zhí)行一個(gè)顯示子程序,顯示完最后一個(gè)顯示子程序,自動(dòng)回到第一個(gè)顯示子程序,實(shí)現(xiàn)循環(huán)顯示。
顯示子程序包括漢字、圖形及圖像的顯示,并且實(shí)現(xiàn)了漢字的平移和圖形的動(dòng)態(tài)顯示。其中漢字的平移是通過(guò)執(zhí)行一個(gè)定時(shí)中斷程序來(lái)不斷改變顯示區(qū)域的首地址實(shí)現(xiàn)的,由于顯示區(qū)域的首地址是與液晶顯示模塊的顯示RAM單元的每一字節(jié)相對(duì)應(yīng)的,首地址加一意味著顯示RAM單元的一個(gè)字節(jié)的改變,在黑白模式下即對(duì)應(yīng)著八個(gè)像素的改變,所以在顯示屏上漢字的平移是跳躍式的,間距為八個(gè)像素點(diǎn);而圖形的平移是通過(guò)顯示控制器T6963C的位操作指令實(shí)現(xiàn)的,該位操作指令可以實(shí)現(xiàn)對(duì)顯示屏每一像素點(diǎn)的亮暗操作,因而可以實(shí)現(xiàn)圖形的平滑移動(dòng)。流程圖如圖4。
4、小結(jié)
本文完成了一種基于MCS-51單片機(jī)的簡(jiǎn)易信息發(fā)布系統(tǒng)的設(shè)計(jì),采用了普通的PC機(jī)鍵盤(pán)作為信息的輸入端,可以輸入簡(jiǎn)單的信息,單片機(jī)作為控制器,首先,它要實(shí)現(xiàn)與PC機(jī)鍵盤(pán)的通信,就是要用C語(yǔ)言編程以實(shí)現(xiàn)ps/2協(xié)議,當(dāng)有按鍵按下時(shí),單片機(jī)要識(shí)別是哪個(gè)鍵沒(méi)按下,然后發(fā)送控制信息,使SED1335控制液晶模塊顯示信息。完成了預(yù)計(jì)的功能。