圖形點(diǎn)陣式液晶顯示模塊在沖擊力監(jiān)測(cè)系統(tǒng)中
摘要:介紹了圖形點(diǎn)陣式液晶控制模塊(STN3224-2A)在沖擊力監(jiān)測(cè)系統(tǒng)中的應(yīng)用方法,給出了用該液晶顯示模塊與凌陽(yáng)單片機(jī)通過(guò)硬件接口和軟件設(shè)計(jì)來(lái)實(shí)現(xiàn)沖擊力監(jiān)測(cè)的沖擊力曲線實(shí)時(shí)顯示實(shí)現(xiàn)方案。
關(guān)鍵詞:圖形點(diǎn)陣式 LCD 凌陽(yáng)單片機(jī) 沖擊力 實(shí)時(shí)曲線 STN3224-2A
由于點(diǎn)陣式液晶顯示模塊功耗低、體積小,且可以顯示各種字符、漢字以及圖形,因而可廣泛應(yīng)用于數(shù)字式儀表和各種低功耗監(jiān)測(cè)系統(tǒng)中。筆者利用該模塊設(shè)計(jì)的沖擊力監(jiān)測(cè)系統(tǒng)能夠?qū)崟r(shí)顯示沖擊力的大小、速度、峰值及平均值,且操作界面友好。同時(shí)在每次測(cè)試的開(kāi)始,都有語(yǔ)音提示;此外,還可根據(jù)需要選擇資料的存儲(chǔ)和打印。本文將重點(diǎn)介紹圖形點(diǎn)陣式液晶控制模塊與凌陽(yáng)單片機(jī)之間的硬件設(shè)計(jì)電路和軟件編程方法。
1 沖擊力監(jiān)測(cè)系統(tǒng)的組成和功能
圖1 所示是一個(gè)沖擊力監(jiān)測(cè)系統(tǒng)的功能框圖。本系統(tǒng)由信號(hào)采集、信號(hào)處理和信號(hào)輸出三部分組成。其中信號(hào)采集部分由力傳感器(BK-2Y)和光電編碼器(ZKX-6-50BM7.5-G05E)組成。BK-2Y是一款高精度力傳感器,主要測(cè)量作用力的大小,測(cè)量范圍最大可達(dá)500kg,其輸出信號(hào)經(jīng)TS-2放大器放大后,輸出電壓范圍為-5V~+5V;光電編碼器是高精度角位移傳感器,其工作原理是采用圓光柵經(jīng)光電轉(zhuǎn)換將軸的角度位移轉(zhuǎn)換成電脈沖信號(hào),然后直接用于測(cè)量角位移和角速度,或間接用于測(cè)量直線位移和直線速度。
中央處理器選用凌陽(yáng)單片機(jī)SPCE061A。由于沖擊力監(jiān)測(cè)系統(tǒng)要求CPU響應(yīng)速度快、處理能力強(qiáng)并能夠?qū)崟r(shí)處理信息,所以本設(shè)計(jì)選用功能強(qiáng)大的凌陽(yáng)16位單片機(jī)。SPCE061A在2.6V~3.6V工作電壓范圍內(nèi)的工作速度為0.32MHz~49.152MHz。SPCE061A自帶2kB flash、32位可編程的多功能I/O端口、兩個(gè)16位定時(shí)器/計(jì)數(shù)器、32768Hz實(shí)時(shí)時(shí)鐘低壓復(fù)位/監(jiān)測(cè)電路、8通道10位模 - 數(shù)轉(zhuǎn)換輸入等。
輸出部分選用320240點(diǎn)陣的LCD液晶顯示屏,顯示控制器選用STN3224-2A。由于STN3224-2A是針對(duì)圖形顯示而設(shè)計(jì)的,因此編程十分簡(jiǎn)單。
2 系統(tǒng)顯示部分的硬件設(shè)計(jì)
本監(jiān)測(cè)系統(tǒng)的顯示屏采用LFUBK911A,與之配套的顯示控制器STN3224-2A具有以下特點(diǎn):
●適用于圖形顯示較多的環(huán)境,可顯示數(shù)字、字母、漢字和特殊字符;
●每一次寫(xiě)一點(diǎn),8bit色彩深度,共256色;
●總共8頁(yè)顯示緩沖,可以設(shè)定顯示頁(yè)和寫(xiě)入面;
●每次寫(xiě)入或讀出后,X方向或Y方向的自動(dòng)加1、均加1或不變可通過(guò)參數(shù)設(shè)定;
STN3224-2A顯示控制器的接口線包括數(shù)據(jù)D0~D7,地址線A0和A1、片選線CS、讀信號(hào)RD、寫(xiě)信號(hào)WR、電源VCC、地GND以及背光信號(hào)等。SPCE061A與STN3224-2A有兩種接口方法,一種是在兩者之間加一個(gè)鎖存器,另一種是直接連接。硬件接法不同會(huì)影響到軟件的設(shè)計(jì)。本文采用直接連接的方法,其接口電路如圖2所示。其中CPU垢端口IOA2~I(xiàn)OA6和IOA8~I(xiàn)OA15將被初始化為輸出口,端口IOA0、IOA1(輸入力信號(hào))和IOA7將被初始化為輸入口。
圖2
3 系統(tǒng)顯示軟件設(shè)計(jì)
3.1 軟件設(shè)計(jì)流程
STN3224-2A分四步完成一個(gè)點(diǎn)的操作,筆者在編寫(xiě)曲線程序時(shí),先定義了一個(gè)寫(xiě)點(diǎn)的子程序(Write-dot),以便于主程序的操作。程序如下:
寫(xiě)參數(shù)
A> 寫(xiě)參數(shù)到端口1(A0=1,A1=0),其定義為:
bit7=1,Y方向在讀/寫(xiě)后自動(dòng)加1;
bit6=1,X方向在讀/寫(xiě)后自動(dòng)加1;
bit[5……3],顯示頁(yè)號(hào)(0~7);
bit[2……0],讀/寫(xiě)頁(yè)號(hào)(0~7);
B> 讀一次端口1以鎖存參數(shù)(這一步很重要,如果沒(méi)有讀Port1,系統(tǒng)將把剛才輸入的數(shù)據(jù)默認(rèn)為X值)。
(2)分兩次寫(xiě)入X(0~511,只顯示0~319);
A> 寫(xiě)bit8到端口1(對(duì)應(yīng)關(guān)系X8→D0);
B> 寫(xiě)bit[7……0]到端口1(如果僅為讀數(shù)據(jù),則寫(xiě)到端口3)。
(3)寫(xiě)Y(0~255,只顯示0~319)
寫(xiě)bit[7……0]到端口2(A0=0,A1=1)。
(4)數(shù)據(jù)到端口0(A0=0,A1=0),bit8O數(shù)據(jù)表示顏色灰度。圖3所示是其寫(xiě)數(shù)據(jù)流程。
3.2 軟件實(shí)現(xiàn)方法
液晶顯示控制器的軟件部分包括初始化程序和應(yīng)用程序。初始化包括清屏和初始化參數(shù)。應(yīng)用程序分為顯示背景和顯示實(shí)時(shí)曲線兩部分。背景部分是指預(yù)先建立的(x,y)坐標(biāo)軸以及相關(guān)的說(shuō)明(漢字)。本控制器不帶漢字庫(kù),顯示漢字時(shí),首先根據(jù)漢字字形編出字模數(shù)據(jù)塊,用戶可以根據(jù)要求編寫(xiě)任意大小的漢字,本文采用的漢字大小為1616點(diǎn)陣。
顯示實(shí)時(shí)光滑曲線是本監(jiān)測(cè)系統(tǒng)顯示部分的關(guān)鍵。結(jié)點(diǎn)陣式液晶屏的操作實(shí)際是對(duì)點(diǎn)的操作,曲線是由一系列不連續(xù)的點(diǎn)組成的。本系統(tǒng)主要測(cè)試沖擊力,而沖擊力作為輸入數(shù)據(jù)必然有著很大的跳躍性,這就造成了曲線的不連續(xù)。為了美觀和實(shí)用,本方利用編程技巧來(lái)對(duì)曲線進(jìn)行了修飾。
子程序write-y-line (x,l,h,color)是修飾曲線的一個(gè)子函數(shù),其中x表示點(diǎn)的x坐標(biāo),1表示前一個(gè)點(diǎn)的y坐標(biāo),h表示后一個(gè)點(diǎn)的y坐標(biāo),color表示點(diǎn)的顏色。在子程序中,先比較前后兩個(gè)點(diǎn)的y坐標(biāo)的大小。如果1小于h,則以點(diǎn)(x,l)為終點(diǎn)畫(huà)一直線。這樣就把不連續(xù)的點(diǎn)連成了曲線。Write-y-line(x,l,h,color)程序流程圖如圖4所示。其顯示實(shí)時(shí)曲線主程序(C語(yǔ)言)如下:
p=0x0010; //采集數(shù)據(jù)存儲(chǔ)區(qū)首地址
for(x=280;x>0;x- -) //坐標(biāo)原點(diǎn)在液晶上對(duì)應(yīng)的坐標(biāo)是(280,40)
{
ad_one(280-x); //ad_one是A/D轉(zhuǎn)換子程序,這是將采集的第0個(gè)力信號(hào)進(jìn)行轉(zhuǎn)換
l=*p; //取前一個(gè)數(shù)據(jù)
p + + ;
h= * p; //取后一個(gè)數(shù)據(jù)
if((1 - h>2) | | (h - 1>2)) //判斷前一個(gè)數(shù)據(jù)與后一個(gè)數(shù)據(jù)間隔是否大于2,若大于將在兩點(diǎn)之間畫(huà)一直線。
{set_option(m,m,2) //設(shè)置操作參數(shù),讀/寫(xiě)后Y自動(dòng)加一
write_y_line(x,l,h,0xlc); //調(diào)子程序,畫(huà)直線
set_option(m,m,0) //設(shè)置操作參數(shù),讀/寫(xiě)后X、Y均不加一
write_dot(x,h,0xlc) //在(x,h)描點(diǎn),點(diǎn)的顏色為綠色
}
else //判斷前一個(gè)數(shù)據(jù)與后一個(gè)數(shù)據(jù)間隔是否大于2,若小于將在(x,h)描點(diǎn)
{
set_option(m,m,0);
write_dot(x,h,0xlc);
}
}
4 結(jié)束語(yǔ)
針對(duì)圖形顯示而設(shè)計(jì)的STN3224-2A具有編程簡(jiǎn)單,應(yīng)用靈活等特點(diǎn)。它與功能強(qiáng)大的凌陽(yáng)單片機(jī)配合使用可現(xiàn)對(duì)沖擊力曲線的實(shí)時(shí)顯示。目前,該系統(tǒng)已在實(shí)驗(yàn)過(guò)程中取得良好的效果。
評(píng)論