C8051F020在LED顯示控制系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
在單片機(jī)系統(tǒng)設(shè)計(jì)中,LCM(液晶顯示模塊)人機(jī)交互界面的設(shè)計(jì)往往是很重要的一個(gè)環(huán)節(jié)。LCM可以用于智能儀器上的顯示設(shè)定參數(shù)、狀態(tài)提示符、檢測(cè)結(jié)果和待輸入?yún)?shù)等功能。本文結(jié)合電解質(zhì)分析儀的設(shè)計(jì)要求,采用深圳市燁新達(dá)實(shí)業(yè)有限公司生產(chǎn)的YXD-12864A2LCM,研究并實(shí)現(xiàn)了以C8051F020 為基礎(chǔ)的液晶顯示的接口電路和程序設(shè)計(jì),添加了按鍵系統(tǒng),從而達(dá)到方便用戶使用的目的。
1 電解質(zhì)分析儀簡(jiǎn)介
本系統(tǒng)所設(shè)計(jì)的電解質(zhì)分析儀(Electrolyte Analyzer)是一種具有高分辨率和高精度的儀器,可以與多種離子選擇電極配套使用,可用自動(dòng)方法測(cè)定樣品中鉀、鈉、氯、鈣離子的濃度和pH 值。其結(jié)構(gòu)方框圖如圖1 所示。儀器采用單片機(jī)C8051F020為核心芯片進(jìn)行設(shè)計(jì),在測(cè)量室內(nèi)由化學(xué)傳感器采集電解質(zhì)的電位信號(hào)傳送給信號(hào)調(diào)理電路,經(jīng)過信號(hào)調(diào)節(jié)后送給主電路板進(jìn)行A/D轉(zhuǎn)換,然后輸出顯示到LCM上,LCM參數(shù)、測(cè)量結(jié)果的顯示等都可由鍵盤操作。與上位機(jī)的通信上,采用RS 232通信方式傳輸數(shù)據(jù)。本儀器的特點(diǎn)是可以單機(jī)使用、也可以與上位機(jī)連接使用,與上位機(jī)連接后通過界面操作可以幫助用戶完成病人信息的查詢、存儲(chǔ)、儀器工作情況的實(shí)時(shí)檢測(cè)等功能。
系統(tǒng)顯示部分采用圖形液晶顯示模塊YXD -12864A2LCM,安裝在儀器的表面,用來顯示參數(shù)設(shè)置、測(cè)量結(jié)果、定標(biāo)、質(zhì)控等的情況。界面顯示與參數(shù)設(shè)定及翻頁等功能通過按鍵的控制來實(shí)現(xiàn)。
2 YXD-12864A2LCM
2.1 模塊介紹
YXD-12864A2LCM是由深圳市燁新達(dá)實(shí)業(yè)有限公司生產(chǎn)的,是一種圖形點(diǎn)陣液晶顯示模塊,它主要由行驅(qū)動(dòng)器、列驅(qū)動(dòng)器及128×64 全點(diǎn)陣液晶顯示器組成。
可完成圖形顯示,也可以顯示4×8 個(gè)(16×16 點(diǎn)陣)漢字。YXD-12864A2 模塊共有20 個(gè)引腳。其中,第1 腳VSS接系統(tǒng)地;第2腳VDD接電源電壓;第3腳V0接液晶顯示器驅(qū)動(dòng)電源;第4 腳D/I 接數(shù)據(jù)指令選擇信號(hào);第5腳R/W接讀寫選擇信號(hào);第6腳接讀寫使能信號(hào),E為高時(shí),數(shù)據(jù)被讀出,而在E的下降沿到來時(shí),數(shù)據(jù)被鎖存到DB0~DB7;第7~14腳接三態(tài)數(shù)據(jù)總線;第15、16腳接片選信號(hào);第17 腳R-S-T- 接復(fù)位信號(hào);第18 腳Vout接內(nèi)部負(fù)壓發(fā)生器輸出電壓端;第19腳接LED 背光電源正極;第20腳接LED背光電源負(fù)極。
2.2 接口電路
接口電路圖和原理圖如圖2,圖3所示,C8051F020的P3口作為數(shù)據(jù)口與液晶模塊DB口相連;P2.0為復(fù)位引腳R-S-T- 控制端;P2.1、P2.4、P2.5 作為普通的I/O 口使用,分別接液晶模塊的使能端E、寄存器選擇引腳D/I、讀寫引腳R/W;P2.2、P2.3分別接片選信號(hào)左或者右,對(duì)顯示進(jìn)行定位。
圖2的電路圖中,R28 和R41 為上拉電阻,因?yàn)樗總€(gè)端口是與單片機(jī)相連的,對(duì)于顯示器而言工作電壓是5 V,而C8051F020 工作電壓是3.3 V,要使C8051F020輸出能更好地驅(qū)動(dòng)5 V輸入的LCM,就要將每個(gè)端口通過一個(gè)上拉電阻接到5 V 電源,這樣就可以保證C8051F020的邏輯“1”輸出能被提升到5 V.
2.3 軟件設(shè)計(jì)
顯示字符:從屏幕指定的位置開始顯示指定的字符串。此LCM 是128×64位的液晶顯示屏,每個(gè)字符所占用的點(diǎn)陣是8×8.顯示位置由兩個(gè)坐標(biāo)參數(shù)據(jù)決定,橫坐標(biāo)x 表示“行”,取值范圍為0~7;第0行對(duì)應(yīng)屏幕最上邊的一行,第7 行對(duì)應(yīng)最下面一行??v坐標(biāo)y 表示“列”,取值范圍為0~15,第0列對(duì)應(yīng)屏幕最左邊的一列,第15列對(duì)應(yīng)屏幕最右邊的一列。
假設(shè)要從第4 行第8 列的位置顯示字符“K”,則漢字的顯示與字符類似,只是漢字所占的點(diǎn)陣為16×16的形式,因此在本LCM 中,漢字只可以顯示4 行8列。第一行漢字的坐標(biāo)為00H~07H,第二、三、四行坐標(biāo)依次為10H~17H、20H~27H、30H~37H.漢字的顯示要先將漢字的坐標(biāo)起始位置作為命令寫入,把漢字的字模作為數(shù)據(jù)寫入,連續(xù)寫入多個(gè)漢字可用查表法。
3 按鍵系統(tǒng)
按鍵系統(tǒng)的硬件設(shè)計(jì)可以采用獨(dú)立方式和矩陣方式兩種。
(1)獨(dú)立式中每一個(gè)鍵單獨(dú)占用一根I/O口線,每一根I/O 口線上的按鍵工作狀態(tài)不會(huì)影響其他I/O 口線上的狀態(tài),一般應(yīng)用于按鍵數(shù)量較少的場(chǎng)合;(2)矩陣式的按鍵排列為行列式矩陣結(jié)構(gòu),4行4列共16 個(gè)鍵,只占用8 根I/O 口線,因此當(dāng)按鍵數(shù)目較多時(shí),可以使用這種方式節(jié)省I/O口線。
本儀器共定義了8個(gè)按鍵,考慮到C8051F020上的I/O 接口非常豐富,因此采用了獨(dú)立式。在儀器上共設(shè)計(jì)了“Yes”、“No”、“↑(上)”、“↓(下)”、“←(左)”、“→(右)”、“復(fù)位”和“打印”8個(gè)按鍵,除“復(fù)位”鍵(其按下后直接復(fù)位)不通過鍵盤信息處理程序處理外,其余的7 個(gè)鍵的按下處理均由鍵盤信息處理程序在主循環(huán)程序中完成。對(duì)于獨(dú)立式按鍵,CPU可以通過直接讀取I/O口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值可直接進(jìn)行按鍵識(shí)別。每個(gè)鍵的編碼值如表1所示。
按鍵的具體定義如下:
(1)“↑(上)”、“↓(下)”、“←(左)”、“→(右)”:移動(dòng)光標(biāo)或切換不同內(nèi)容的屏目、數(shù)據(jù)修改、完成口令輸入等;
(2)“Yes”:確認(rèn)所做的操作,包括確認(rèn)所選擇的菜單項(xiàng)或數(shù)據(jù)、確認(rèn)所輸入的口令、確認(rèn)被修改的數(shù)據(jù)等;
(3)“No”:可取消輸入的口令值或被修改的數(shù)據(jù);
(4)“復(fù)位”:軟復(fù)位系統(tǒng);
(5)“打印”:控制打印機(jī)打印輸出。
按鍵的工作方式分為編程控制方式和中斷控制方式兩種。本儀器采用中斷控制方式,流程圖如圖4所示。此方式可以提高CPU的效率,當(dāng)有鍵按下時(shí),便向CPU 申請(qǐng)中斷,CPU 響應(yīng)中斷后,在中斷服務(wù)程序中進(jìn)行鍵盤掃描、查鍵值與處理等工作。而編程控制方式是指在一個(gè)工作周期內(nèi),利用完成其他任務(wù)的空余時(shí)間,調(diào)用按鍵掃描子程序。經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個(gè)鍵,并執(zhí)行相應(yīng)的鍵處理程序。這樣對(duì)CPU的使用效率就受到了影響。因此選用中斷控制方式。
本儀器采用的按鍵的開關(guān)為機(jī)械彈性開關(guān)。從按鍵按下到接觸穩(wěn)定要經(jīng)過數(shù)毫秒的抖動(dòng)時(shí)間,松開時(shí)也有這樣的問題。抖動(dòng)時(shí)間的長短由按鍵的機(jī)械特性決定,一般為5~10 ms.這樣就會(huì)引起一次按鍵多次讀取,對(duì)于抖動(dòng)問題可以采用軟件方法??梢酝ㄟ^延時(shí)去抖動(dòng)的方法避免,即檢測(cè)出按鍵閉合后執(zhí)行一個(gè)延時(shí)程序產(chǎn)生20 ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給20 ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。
4 結(jié)語
利用YXD-12864A2圖形液晶顯示模塊設(shè)計(jì)電極質(zhì)分析儀的顯示界面,采用8位并型模式傳遞數(shù)據(jù),主要是因?yàn)殡m然占用了較多的I/O引腳,但與串行模式相比,編程簡(jiǎn)單的多;而且C8051F020有8個(gè)8位I/O端口、64個(gè)數(shù)字I/O引腳,非常豐富,所以也不用考慮引腳不夠的問題。通過添加按鍵系統(tǒng),使顯示的內(nèi)容可以由用戶來操作,非常方便。