0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PT32x033系列 | 血糖儀專題技術(shù)文章連載_02

jf_pJlTbmA9 ? 來源:澎湃微電子 ? 作者:澎湃微電子 ? 2023-10-27 10:09 ? 次閱讀

澎湃微基于超低功耗MCU—PT32x033系列,推出血糖儀專題技術(shù)文章連載,內(nèi)容包括:LCD驅(qū)動器應(yīng)用,OPA ADC DAC聯(lián)合應(yīng)用,NTC、RTC應(yīng)用,超低功耗應(yīng)用等場景,以幫助客戶快速上手,縮短學(xué)習(xí)開發(fā)周期。

wKgaomUD5nyAEdEHAAY6VXwH1u4930.png

01、 概 述

在MCU的應(yīng)用中,人機(jī)界面占據(jù)相當(dāng)重要的地位。人機(jī)界面主要包括事件輸入(鍵盤輸入、通訊接口等)和結(jié)果顯示(LED/LCD 、通訊接口等),LCD技術(shù)由于其具有界面友好,成本較低等特點(diǎn)在很多應(yīng)用場合得以廣泛應(yīng)用。

澎湃微的PT32x033系列單片機(jī)以低功耗和豐富的外設(shè)模塊著稱。針對液晶顯示這一應(yīng)用,MSP430 系列單片機(jī)可分為兩類,一類內(nèi)置LCD 控制器,另一類不帶LCD 控制器。內(nèi)置LCD 控制器的單片機(jī)價(jià)格較高,使用成本增加。不帶LCD 控制器的單片機(jī)可配合液晶驅(qū)動芯片使用,但需增加額外的芯片,也增加了成本。本文介紹的方案,適用于不帶LCD 控制器的MSP430 系列單片機(jī),通過使用通用I/O 口直接驅(qū)動LCD 顯示,其顯示效果以及占用的資源和內(nèi)置液晶控制器的單片機(jī)相同。

02、 LCD顯示原理

在講解驅(qū)動之前,我們先就 LCD 的顯示原理作簡單的介紹。

LCD(Liquid Crystal Display)是利用液晶分子的物理結(jié)構(gòu)和光學(xué)特性進(jìn)行顯示的一種技術(shù),液晶分子的特性:

液晶分子是介于固體和液體之間的一種棒狀結(jié)構(gòu)的大分子物質(zhì)

在自然形態(tài),具有光學(xué)各向異性的特點(diǎn),在電(磁) 場作用下,呈各向同性特點(diǎn)

下面以TN/STN類型的顯示面板基本結(jié)構(gòu)來介紹 LCD 的基本顯示原理,如下圖

wKgZomUD5n2ATmjyAAAdWA7fC-Y337.jpg 圖1 LCD顯示原理示意圖

整個(gè)顯示面板由上下玻璃基板和偏振片(上下偏振片的偏振角度互相垂直)組成。在上下玻璃基板之間,按照螺旋結(jié)構(gòu)將液晶分子有規(guī)律地進(jìn)行涂層,由于液晶分子的排列為螺旋結(jié)構(gòu),因此對光線具有旋光性。液晶面板的電極是通過一種 IT0 的金屬化合物蝕刻在上下玻璃基板上。

當(dāng)上下基板間的電壓為 0 時(shí),自然光通過偏振片后,只有與偏振片方向相同的光線得以進(jìn)入液晶分子的螺旋結(jié)構(gòu)的涂層中,由于螺旋結(jié)構(gòu)的的旋光性,將入射光線的方向旋轉(zhuǎn) 90 度后照射到另一端的偏振片上,同時(shí)由于上下偏振片的偏振角度相互垂直,這樣入射光線通過另一端的偏振片完全的射出,光線完全進(jìn)入觀察者的眼中,看到的效果就為白色。

當(dāng)上下基板間的電壓為 一交流電壓 時(shí),液晶分子的螺旋結(jié)構(gòu)在電(磁) 場的作用下,變成了同向排列結(jié)構(gòu),對光線的方向沒有做任何旋轉(zhuǎn),而上下偏振片的偏振角度相互垂直,這樣入射光線就無法通過另一端的偏振片射出,光線無法進(jìn)入觀察者的眼中,看到的效果就為黑色。

通過在上下玻璃基板電極間施加不同的交流電壓,即可實(shí)現(xiàn)液晶顯示的兩種基本狀態(tài)亮On) 和暗 (Off) 。

2.1 驅(qū)動關(guān)鍵參數(shù)

在LCD 驅(qū)動中,驅(qū)動電壓和掃描頻率非常關(guān)鍵。液晶分子是用交流電壓驅(qū)動的,長時(shí)間的直流電壓加在液晶分子兩端,會影響液晶分子的電氣化學(xué)特性,引起顯示模糊,壽命減少,其破壞性為不可恢復(fù)。在單片機(jī)系統(tǒng)中,一般LCD 的驅(qū)動電壓選擇為MCU 的供電電壓,LCD 電壓高于MCU 電壓易造成亮度不夠,LCD 電壓低于MCU 電壓易造成“鬼影”(不該點(diǎn)亮的點(diǎn)亮)。驅(qū)動液晶分子的交流電壓的頻率依據(jù)LCD 面板的面積和設(shè)計(jì)而定,一般在 60~100Hz 之間。頻率過高,增加驅(qū)動功耗;頻率過低,會導(dǎo)致顯示閃爍,同時(shí)如果掃描頻率同光源的頻率之間有倍數(shù)關(guān)系,顯示也會有閃爍現(xiàn)象出現(xiàn)。

液晶分子是一種電壓積分型材料,它的扭曲程度(透光性)僅和極板間電壓的有效值有關(guān),和充電波形無關(guān)。電壓的有效值用COM/SEG 之間的電壓差值的均方根VRMS 表示

wKgaomUD5n-AbySfAALnY7VuUg8167.png

LCD 顯示“亮”和“滅(透光和不透光)的電壓有效值的分界電壓稱為開啟電壓Vth,當(dāng)電壓有效值超過Vth,液晶分子的排列方向發(fā)生變化,旋光角度加大,透光率急劇變化,從而引起液晶顯示狀態(tài)的變化。光線的透射率與交流電壓的有效值的關(guān)系如圖2所示:

wKgaomUD5oCAehc7AAHzCfFpiGQ848.png 圖2 光線的透射率與交流電壓有效值的關(guān)系

LCD 段上是否存在RMS電壓將決定此段為導(dǎo)通還是截止。圖3中的示例波形給出了一個(gè)導(dǎo)通段和一個(gè)截止段的波形(COMx 和SPx 引腳信號的組合)。導(dǎo)通段比截止段上施加了更大的RMS 電壓。注意,這兩個(gè)段都具有凈零直流電壓的波形,但導(dǎo)通段上的RMS 電壓較高,這使得該段導(dǎo)通并且看起來是暗的。

wKgZomUD5oGADwbyAAAeDFWanq4715.jpg 圖3 LCD交流波形

033內(nèi)嵌的LCD驅(qū)動器,正是通過系統(tǒng)的控制,按照用戶定義的顯示圖案,在I/O 口產(chǎn)生點(diǎn)亮LCD所需的模擬驅(qū)動波形,接到LCD 面板上點(diǎn)亮對應(yīng)的像素而達(dá)到想要的顯示效果。LCD 面板有兩個(gè)重要的參數(shù):

占空比 (Duty)

該參數(shù)一般也稱為Duty 數(shù)或COM 數(shù)。LCD 通常采用時(shí)分動態(tài)掃描的驅(qū)動模式,在此模式下,每個(gè)COM的有效選通時(shí)間與整個(gè)掃描周期的比值即占空比 (Duty)是固定的,等于1/COM 數(shù)。

偏置 (Bias)

LCD 的SEG/COM 的驅(qū)動波形為模擬信號,各檔模擬電壓相對于LCD 輸出的最高電壓的比例稱為偏置,偏壓級數(shù)越多LCD 的對比度級別就越多,能顯示的圖案就越復(fù)雜。一般來講,Bias是以輸出最低檔電壓(0 除外)與輸出最高檔電壓的比值來表示。圖3 所示 為1/4 Duty,1/3 Bias液晶屏的COM端時(shí)序 。

圖3 對應(yīng)的是1/4 duty,1/3 bias 的液晶COM口驅(qū)動波形,COM 數(shù)為4,每個(gè)COM的有效選通時(shí)間與整個(gè)掃描周期的比值(Duty)為1/4,驅(qū)動波形的模擬電壓共分3 檔,V3 為輸出最高電壓,V2,V1 為輸出中間電壓,并且V1/V3=1/3。

為了達(dá)到理想的顯示效果,一般而言,Bias 和COM 之間有一定關(guān)系,COM 數(shù)越多,每根COM 對應(yīng)的選通時(shí)間變短,而要達(dá)到同樣的顯示亮度,VON 的電壓就要提高,要達(dá)到同樣的顯示對比度,選電平和非選電平的差異需要加大,即Bias 需要加大,COM 和Bias 間有一經(jīng)驗(yàn)公式,即:

wKgZomUD5oOAZ-VxAAKWSve5MOk061.png
wKgaomUD5oSATK1nAANWZ6UJdF8722.png 圖4 LCD驅(qū)動波形圖

2.2 LCD管腳多路復(fù)用

033總共有32個(gè)可用于LCD的管腳,使用復(fù)用技術(shù)來限制控制引腳的數(shù)量,可支持2路復(fù)用、4路復(fù)用,6路復(fù)用,甚至最高支持8路復(fù)用。N路復(fù)用符號表示每個(gè)段引腳Sx可以驅(qū)動顯示屏上的N個(gè)段,這同樣意味著有N個(gè)公共(COMx) 引腳。顯示屏上的每個(gè)LCD 段都由一個(gè)COMx引腳和一個(gè)Sx引腳組合為該段的液晶提供電勢差進(jìn)行驅(qū)動。利用多路復(fù)用技術(shù)可實(shí)現(xiàn)用有限的引腳控制更大量的段,例如一個(gè)8路復(fù)用LCD顯示屏,有8個(gè)COM引腳并且每個(gè)段(Sx)引腳可以驅(qū)動8個(gè)段。因此,使用支持8路復(fù)用并有24個(gè)Sx引腳(S0-S23) 的033時(shí),這8個(gè)(COMx) + 24個(gè)(Sx) =32個(gè)引腳可控制192個(gè)段。

wKgaomUD5oiAPLWSAAbCFuntscA152.png 圖5 4路復(fù)用的連接和波形

圖6 給出了基本的2路復(fù)用示例。在這種情況下,每個(gè)段由2個(gè)引腳(一個(gè)COMx引腳和一個(gè)Sx段引腳)的信號進(jìn)行控制。如下顯示的信號是施加到相應(yīng)段的電極上的波形,Sx和COMx信號之間的電勢差即是施加到此區(qū)域液晶上的電壓。該電勢差是圖6(COM0-S0和COM1-S1)中所示的合成波形的電壓。在本示例中,COM0-S0的波形具有高RMS 電壓,盡管該波形具有凈零直流電壓,該段仍然導(dǎo)通。COM1-S1 波形的RMS 電壓較低,因此該段截止。雖然這些波形看起來有些復(fù)雜,但請記住,它們將由033的LCD驅(qū)動器自動生成,用戶只需要指定LCD 的基本設(shè)置,然后指定哪些段應(yīng)該導(dǎo)通或者截止。

wKgZomUD5omAazV0AAB9iXO7ZQE138.png 圖6 2路復(fù)用示例

2.3 驅(qū)動器的電源

液晶驅(qū)動波形為由若干檔直流電平組合而成的模擬波形, 各檔直流電平的比例關(guān)系

反映驅(qū)動波形的Bias比例關(guān)系,各檔電平的具體幅值取決于 LCD Panel 的液晶特性和Duty 數(shù)的多少。圖7為LCD 驅(qū)動電源部分的示意圖:

wKgZomUD5ouAEyW_AAJqsNUS5SE786.png 圖7 LCD驅(qū)動電源部分的示意圖

電源調(diào)整器部分(Power Regulator),產(chǎn)生LCD驅(qū)動所需的最高直流電平,一般分為三種:

LCD驅(qū)動所需的最高直流電平等于外部輸入電源VDD的,此部分就直接將VDD輸入至后續(xù)電路;

LCD驅(qū)動所需的最高直流電平大于外部輸入電源VDD,且不需要穩(wěn)壓輸出的,如固定等于VDD或1.5VDD,此部分通常做法是將外部輸入電源VDD通過升壓電路(pump)升至所需的電壓,輸入至后續(xù)電路;

LCD驅(qū)動所需的最高直流電平大于外部輸入電源VDD,且需要穩(wěn)壓輸出的,即驅(qū)動所需的最高直流電平不隨VDD的變化而變化的,如要求VDD =2.4~5.5V全電壓范圍里,VLCD的輸出電壓都保持不變,此部分通常做法是首先產(chǎn)生一個(gè)誤差范圍符合要求的電壓基準(zhǔn)源,然后將此電壓基準(zhǔn)源比例放大至所需的電壓,同時(shí)外部輸入電源VDD通過升壓電路(pump)升至一定的電壓,如2VDD,作為比例放大部分的電源。

注:033的LCD驅(qū)動電源調(diào)整器部分產(chǎn)生LCD驅(qū)動所需的最高直流電平,只支持前面兩種,也就是VLCD會跟隨著VDD的變化而變化,為了保障在低電壓下仍然有比較高的對比度和顯示效果,可以通過升壓電路升壓至VLCD=1.5VDD。

偏置電壓產(chǎn)生部分(Bias Voltage Generator),LCD 驅(qū)動器輸出的最高電壓通過偏置電壓產(chǎn)生電路,根據(jù)選擇的偏置設(shè)置產(chǎn)生LCD交流驅(qū)動波形所需要的其它幾檔偏置電壓(VLCD,Vn,Vn-1,?V1,V0),提供給后續(xù)的COM/SEG波形產(chǎn)生電路,此部分的實(shí)現(xiàn)方式一般分為兩種:

電阻分壓結(jié)構(gòu)

即依據(jù)Bias的設(shè)置,選擇合適的分壓電阻,產(chǎn)生需要的直流分壓電平,如圖8;

wKgaomUD5o2AX6N_AAGEBJZb8UM725.png 圖8 電阻分壓結(jié)構(gòu)的偏壓電路示意圖

電容結(jié)構(gòu)

這是一種較為特殊的LCD 驅(qū)動的電源結(jié)構(gòu),在這種結(jié)構(gòu)下,電壓調(diào)整部分和電壓偏置部分是整合在一起的,電源升壓部分是直接按照Bias的設(shè)置產(chǎn)生LCD驅(qū)動需要的直流分壓電平,如圖中,VLCD可以是1倍的VDD也可以是1.5倍的VDD。

wKgZomUD5o6ADjdAAADUBbPNNWI207.jpg 圖9 電容分壓結(jié)構(gòu)的偏壓電路示意圖

在此結(jié)構(gòu)下,如圖9所示的外接電容一般情況是必須要的,否則僅僅依靠芯片內(nèi)的電容,其驅(qū)動能力較差。

COM/SEG驅(qū)動波形產(chǎn)生部分(COM/SEG driver),COM/SEG driver可以看作一組多路選擇開關(guān),COM driver依據(jù)掃描計(jì)數(shù)器的值,SEG driver依據(jù)顯示數(shù)據(jù)RAM對應(yīng)的值,從輸入的直流分壓電平中進(jìn)行選擇并從相應(yīng)的COM/SEG引腳加以輸出。這樣從整個(gè)LCD掃描周期來講,從COM/SEG引腳上就輸出了驅(qū)動LCD Panel所需要的模擬電壓波形。

wKgaomUD5pCACzkVAACwj2iPsAc208.png 圖10 COM/SEG驅(qū)動波形產(chǎn)生原理示意圖
wKgZomUD5pOAeQ_OAACCy_GvMJA623.jpg 表1 直流分壓電平的選擇關(guān)系表
wKgaomUD5pSAEOTwAACQ_-JdEsE278.png 圖11 COM/SEG 1/4和1/5 Bias下選通有效電平示意圖
wKgaomUD5piASsWMAAgrsyGbp6g766.png 圖12 1/4Bias下SEG/COM的波形圖

2.4 LCD顯示RAM

用戶對033的LCD 驅(qū)動器的操作一方面是通過操作LCD 驅(qū)動器的控制寄存器來設(shè)置LCD 驅(qū)動的工作模式(包括Duty/對比度/掃描頻率/LCD開關(guān)等的設(shè)置),另一方面LCD 面板上顯示所需的內(nèi)容是通過讀寫LCD顯示RAM來實(shí)現(xiàn)。LCD RAM的結(jié)構(gòu)不同于其它Data RAM,它是一個(gè)雙口RAM(Dual Port)的結(jié)構(gòu),一邊為CPU的讀寫接口,另外一邊是與LCD driver的讀接口。LCD RAM的字節(jié)排列順序是與LCD 輸出的COM/SEG陣列相對應(yīng)的,具體對應(yīng)關(guān)系如圖13所示。比如要將COM2與SEG3交叉點(diǎn)處的點(diǎn)點(diǎn)亮,只需將0x40015404地址的Bit26置1即可,其余的工作由LCD驅(qū)動器的硬件自動完成。

注意:

(1)由于所有的LCD管腳都可以復(fù)用成COM或者SEG,為了更方便驅(qū)動軟件的編程,建議COM從LCD0管腳依次往后配;

(2)圖13是按1/4Duty來分配,033還可以支持1/8Duty,那么只需要往高位延伸即可(圖中無定義的位)

wKgZomUD5pmAA0fGAAE-sbt4jd8714.png 圖13 1/4Duty下SEG/COM的波形圖

033的LCD驅(qū)動器最多可提供16頁獨(dú)立的顯示RAM,支持有四種顯示模式,分別為固定頁面顯示,單次輪顯,單次輪顯關(guān)閉模式和連續(xù)輪顯模式,16頁獨(dú)立顯示RAM的地址分配如表2所示。具體顯示的頁號由頁數(shù)寄存器LCD_PGCNT和輪顯最大頁數(shù)寄存器LCD_PGMAX共同控制,詳見033用戶手冊。

wKgaomUD5qCAV0pzAAzmocxaFpI675.png 表2 16頁顯示RAM地址對應(yīng)的地址范圍

固定頁面顯示:軟件寫LCD_PGCNT寄存器后,LCD模塊會在當(dāng)前幀結(jié)束后去顯示新的第LCD_PGCNT頁的內(nèi)容

單次輪顯顯示:從第LCD_PGCNT頁起輪顯至第LCD_PGMAX頁后自動變?yōu)楣潭@示第LCD_PGMAX頁

單次輪顯關(guān)閉:從第LCD_PGCNT頁起輪顯至第LCD_PGMAX頁后自動關(guān)閉LCD模塊

連續(xù)輪顯顯示:從第LCD_PGCNT頁起輪顯至第LCD_PGMAX頁后,在第0頁至第LCD_PGMAX頁循環(huán)顯示

LCD模塊提供最多16頁顯示內(nèi)容緩存,軟件通過配置顯示數(shù)據(jù)寄存器來配置每頁的顯示內(nèi)容。

LCD顯示RAM決定每頁顯示的內(nèi)容,但是如果軟件是對當(dāng)前顯示頁的數(shù)據(jù)內(nèi)容進(jìn)行更新,在配置完相應(yīng)的顯示RAM后,還需向LCD_CTRL寄存器的更新位DU寫1,LCD驅(qū)動器會在當(dāng)前幀結(jié)束后更新當(dāng)前顯示頁的顯示內(nèi)容,同時(shí)硬件會清零LCD_CTRL寄存器的DU位。

2.5 LCD閃爍顯示

033的LCD驅(qū)動器支持全屏閃爍方式,軟件配置LCD_CTRL寄存器的顯示模式使能BLINK位置1即可實(shí)現(xiàn)以特定頻率自動閃爍,閃爍頻率可通過LCD_BTIME和LCD_BON兩個(gè)寄存器共同配置。

03、LCD驅(qū)動器應(yīng)用實(shí)例

3.1 建立映射表發(fā)

編寫LCD驅(qū)動程序常令人大傷腦筋,因?yàn)檐浖枰紤]許多的硬件因素。LCD屏幕引腳與MCU的引腳連接方式,MCU將引腳映射到LCD顯示RAM的方式,LCD引腳的復(fù)用選擇方式等因素交織在一起會使代碼更加晦澀難懂。本節(jié)將給出一些提示技巧,以幫助用戶做到使LCD 驅(qū)動軟件更加易用和易懂,以及編寫高效的LCD代碼。

本章節(jié)實(shí)例以如下LCD屏幕詳解驅(qū)動軟件的編程思路,采用的LCD屏幕的管腳規(guī)格為4(COM)x 19(SEG),該顯示屏涵蓋了數(shù)碼值和單位顯示要素。

wKgaomUD5qKAC3UcAANdr0oJI3Y111.png 圖14 LCD屏幕的COM和SEG貫穿關(guān)系

從上文LCD顯示原理可知,LCD屏幕COMx和SEGx交叉的液晶段對應(yīng)的驅(qū)動波形(COMx-SEGx)如果是選通電平,那么點(diǎn)亮,如果是非選通電平,那么點(diǎn)滅。該LCD屏幕共有11個(gè)數(shù)碼管(8個(gè)完整的數(shù)碼管和3個(gè)非完整數(shù)碼管),每個(gè)數(shù)碼管由A、B、C、D、E、F、G七段選擇性組成。除了數(shù)碼管之外,還有符號段,比如電池、單位、時(shí)間分格符等。LCD的屏幕每個(gè)顯示點(diǎn)均有穿插對應(yīng)的COM口和SEG口,其對應(yīng)關(guān)系如圖中的表格映射。表中的映射編碼數(shù)字部分表示位置,字母部分表示對應(yīng)的段,比如9F表示第九個(gè)數(shù)碼管位置的F段。

舉個(gè)例子,需要再LCD屏幕的第二個(gè)數(shù)碼管顯示數(shù)值“3”那么對應(yīng)MAP表中的2A、2B、2C、2G必須選通點(diǎn)亮。

wKgZomUD5qaAOPyPAATh4HOmu4s163.png 圖15 LCD屏幕COM和SEG的映射關(guān)系表

基于上文的LCD屏幕,使用033與LCD屏幕的互連關(guān)系如圖所示,MCU的LCD管腳復(fù)用關(guān)系為:LCD0~LCD3復(fù)用為COM口,LCD9~LCD27復(fù)用為SEG口。

wKgaomUD5qeAH7paAAYNXW57E_M911.png 圖16 LCD屏幕和MCU的硬件互連關(guān)系

結(jié)合上文中關(guān)于LCD顯示RAM以及LCD屏幕的段映射表,在屏幕和MCU的硬件互連關(guān)系確認(rèn)的情況下即可得出下圖中的LCD屏幕和RAM的映射陣列表,由該映射表就能夠很清晰的知道要點(diǎn)亮屏幕上的點(diǎn)需要對應(yīng)到RAM的地址和位域。

依舊以上文中需要點(diǎn)亮屏幕第二個(gè)數(shù)碼管使其顯示“3”為例,需要將地址0x40015408的第26位置1,同時(shí)將地址0x4001540C的第0位,第1位和第2位置1。

wKgZomUD5qmAJR5ZAAU9887cNtU190.png 圖16 LCD屏幕和RAM地址的映射關(guān)系

3.2 數(shù)碼管取模編碼

為了更好地對數(shù)碼管進(jìn)行取模編碼,我們把圖16的映射關(guān)系做一個(gè)轉(zhuǎn)換,把每個(gè)數(shù)碼管的所有字段,比如1D,1C,1B,1A,1E,1G,1F組合成一個(gè)字節(jié)(圖中的8位編碼),這里的1代表數(shù)碼管的位置,字母代表數(shù)碼管的組成段,數(shù)值編碼轉(zhuǎn)換后的映射關(guān)系如圖17所示。

從圖17可知,由于LCD屏幕自身的特性,5#、6#、7#數(shù)碼管編碼后高4位和低4位必須做一次轉(zhuǎn)置,才可與其他數(shù)碼管的編碼結(jié)果一致,有利于驅(qū)動軟件編程的一致性。

wKgaomUD5quAJ9yiAACBCyIUs0M138.png 圖17 數(shù)碼管數(shù)值編碼與RAM地址映射關(guān)系

經(jīng)過編碼后,我們可以采用如下宏定義來設(shè)定數(shù)碼管每一段的編碼數(shù)值:

wKgaomUD5quAJ9yiAACBCyIUs0M138.png

數(shù)碼管每一段的編碼值確定后,就可以對0-F以及其他字符形狀取模

wKgZomUD5q-AAaNFAADOcYNnk9s167.png

為了更好的管理上述的取模結(jié)果,定義了如下的數(shù)組,基于數(shù)組的索引,軟件可以更方便針對需要顯示的字符信息進(jìn)行編程。比如顯示“2”對應(yīng)的數(shù)組索引為0x02,顯示“A的數(shù)組索引為0x0A,顯示“U”對應(yīng)的數(shù)組索引為0x17。

wKgZomUD5rGARn77AAS2wyB0pqQ250.jpg

從圖16可以看到基本上每兩段SEG能完全配置一個(gè)數(shù)碼管,那么可以通過一個(gè)共用體(union)來管理所有的數(shù)碼管,使得代碼可以更加簡潔。

wKgaomUD5rKAWt_vAACHWivTxJI324.png

將一些特殊的字段單獨(dú)賦值,比如“電池電量低”、“單位”、“AM”等,因?yàn)檫@些不是數(shù)碼,需要根據(jù)特殊情況來置位,依然使用宏定義來定義并且跟上面定義的共用體對應(yīng)的位域關(guān)聯(lián)起來方便軟件在對數(shù)碼管賦值的時(shí)候能夠聯(lián)動操作這些特殊字符。

wKgZomUD5rOAMMb2AACbU9sYimU210.png

使用宏定義點(diǎn)亮對應(yīng)的特殊字符

wKgaomUD5rWAUQrZAACnAbqJcgk198.png

使用宏定義關(guān)閉對應(yīng)的特殊字符的顯示

wKgZomUD5raAIAWOAAAF_qWjeuM587.png

基于上述這些編碼,液晶屏的取模已經(jīng)全部完成,不管是需要顯示數(shù)碼還是顯示特殊字符,只要對取模數(shù)組GAuB_char_tbl直接對LCD_LgcBuf(軟件已經(jīng)提前開辟共用體空間)賦值即可。比如第6個(gè)數(shù)碼管需要顯示“E”,那么軟件是需要將GAuB_char_tbl[0xE]賦值給LCD_LgcBuf[7]。如果要顯示特定字符“PM”,那么軟件只需要執(zhí)行Dis_Timer_PM_on。

分析到這邊,對LCD顯示字符的軟件操作其實(shí)最終轉(zhuǎn)換成了對共用體LCD_LgcBuf的操作。

首先軟件先開辟一片顯示共用體空間

wKgZomUD5reAdmi-AAG-pVkHjoI074.jpg

根據(jù)圖17的映射關(guān)系以及數(shù)碼管取模結(jié)果,針對需要顯示的數(shù)碼管編號以及需要顯示的數(shù)值的驅(qū)動如下:

wKgaomUD5rqAE7_hAAAj6dX5Gg0755.png

這里面有個(gè)特別需要注意的地方,從圖16也可以看出來,5#、6#和7#數(shù)碼管相對于其他數(shù)碼管編碼的高4位和低4位是轉(zhuǎn)置的,因此這三個(gè)比較特殊的數(shù)碼管在對顯示共用體賦值之前必須先做一個(gè)轉(zhuǎn)置處理(上述軟件中的第17、21、25行),轉(zhuǎn)置軟件實(shí)現(xiàn)方式如下:

wKgaomUD5ryAeD7HAAXOEtg8ch8840.png

3.3 LCD顯示RAM賦值

上文2.4章節(jié)關(guān)于LCD顯示RAM的闡述可知,LCD驅(qū)動器驅(qū)動波形最終是根據(jù)RAM的賦值情況輸出的。3.2章節(jié)我們知道了LCD顯示字符和共用體的關(guān)系,通過一系列的軟件定義,已經(jīng)把LCD比較復(fù)雜的字符顯示關(guān)系已經(jīng)通過軟件解耦,直接通過一個(gè)共用體結(jié)構(gòu)LCD_LgcBuf就可以實(shí)現(xiàn)。那么這里面還差最后一個(gè)步驟,就是LCD_LgcBuf和RAM地址的映射和轉(zhuǎn)換。

wKgZomUD5r6AEeQiAAAexSsfNCg344.png 圖18 LCD共用體結(jié)構(gòu)與RAM地址映射關(guān)系

這里面一個(gè)關(guān)鍵的注意點(diǎn)是每個(gè)RAM的地址是32位并且分配給四個(gè)SEG(參考圖13),同時(shí)LCD是1/duty(4個(gè)COM口)結(jié)構(gòu),因此把顯示結(jié)構(gòu)體每個(gè)字節(jié)的每組位元組分為高低4位,賦值給每個(gè)SEG對應(yīng)的RAM地址的低4位。圖18非常清晰的把COM/SEG、RAM位段、LCD顯示共用體三者的關(guān)系都體現(xiàn)映射出來,軟件基于這個(gè)圖表進(jìn)行編程。

首先定義LCD顯示RAM的地址,033的LCD驅(qū)動器總共支持16頁,每一頁的地址請參考表2

wKgaomUD5r-ARBCOAAIylAGxqSM477.jpg

對LCD顯示共用體的每一個(gè)字節(jié)(每個(gè)字節(jié)對應(yīng)一個(gè)數(shù)碼或者字符)的低4位和高4位進(jìn)行截取,并且按圖18(圖中只是以第0頁來舉例)對應(yīng)的關(guān)系賦值到LCD顯示RAM對應(yīng)地址,由于LCD的顯示RAM總共有16頁,對應(yīng)的軟件賦值方式如下:

wKgaomUD5sCAYuhJAAK3DoDlPi8988.png

上述針對LCD的RAM地址進(jìn)行賦值全部都是針對COM和SEG交叉除的RAM位域操作,但是想讓LCD驅(qū)動器能正常起來,還需要對所有COM口對應(yīng)的LCD的RAM地址對應(yīng)的位置1,如下圖19紅色方框部分所示

wKgZomUD5sKAY6dvAACIMf32n4E430.png 圖19 COM口對應(yīng)的RAM地址位賦值1

本文針對4個(gè)COM口規(guī)格的LCD為例,用如下軟件實(shí)現(xiàn)對COM口對應(yīng)的RAM地址位置1的操作

把32個(gè)LCD管腳分成8組,每一組LCD管腳對應(yīng)一個(gè)RAM地址,從圖13的映射表格也能清楚看出分組的依據(jù),每相鄰組之間對應(yīng)的RAM地址偏移4,軟件定義如下掩碼:

wKgaomUD5sOADEZZAAA9bao91Eg017.png

每一組的4個(gè)LCD管腳供占用一個(gè)32位的RAM地址,對應(yīng)的每個(gè)LCD管腳依次占據(jù)8位,針對分組的每個(gè)LCD管腳起始位軟件定義如下掩碼:

wKgZomUD5sSAWlkGAABJ8ELGwe0597.png

033最高規(guī)格可支持1/8Duty,也就是LCD管腳最多可復(fù)用成8個(gè)COM口,軟件枚舉出所有的COM

wKgZomUD5seAdYAhAAAxRLarDh8691.png

基于如上的掩碼和枚舉定義,軟件通過如下方法將需要配置的COM口的RAM地址對應(yīng)位置1.

wKgaomUD5siAZgerAAAz7n5qTEo968.png

舉個(gè)例子,比如要設(shè)置LCD13為COM5,那么只需執(zhí)行如下語句:

1.LCD_SET_DataBuff_COM(LCD_GroupMask_12_15,LCD_COMMASK1,LCD_COM5);

因此要實(shí)現(xiàn)對圖19所示的4個(gè)COM口所在RAM區(qū)域進(jìn)行配置需要執(zhí)行如下四條語句:

wKgaomUD5sqAQ7gcAACCaGyy_SI146.png

3.4 LCD管腳配置編程技巧

033總共有32個(gè)LCD管腳LCD[31:0],每個(gè)LCD管腳均可復(fù)用成COM管腳或者SEG管腳,可由SEG/COM選擇寄存器LCD_SCSEL來配置,寄存器定義如圖20

wKgZomUD5suAM561AAAI-7TztNY565.png 圖20 COM/SEG選擇寄存器定義

上文中使用的硬件實(shí)例配置的復(fù)用方法為LCD[3:0]作為COM[3:0],LCD[27:9]作為SEG[19:1],基于該復(fù)用配置建立硬件互連關(guān)系以及圖16的映射表,軟件實(shí)現(xiàn)如下:

wKgaomUD5syAFRVWAACVsAmOUPY658.png

LCD的管腳能正常使用,除了配置上述的COM/SEG復(fù)用功能之外,LCD管腳還需要把模擬功能打開(對應(yīng)于GPIO模擬功能使能)以及配置LCD管腳功能使能寄存器如圖21把相應(yīng)的LCD管腳使能。

wKgZomUD5s2AJL1dAAAJaBdVg2U432.png 圖20 LCD管腳功能使能寄存器

本文實(shí)例只用到了LCD[3:0]以及LCD[27:9],因此軟件只需要置位對應(yīng)的管腳位

wKgaomUD5s-AQe-KAACI0QEvrrU434.png

注意:為了更好的降低功耗,其他沒有用到的LCD管腳對應(yīng)的位必須置0

LCD管腳開啟模擬功能的軟件配置如下,LCD管腳和GPIO的對應(yīng)關(guān)系請參考圖16

wKgZomUD5tCAIvP4AAEHbiiPSj8827.png

3.5 LCD驅(qū)動器參數(shù)配置

在了解了LCD顯示RAM和管腳復(fù)用的配置以及編程技巧后,還有一個(gè)管腳的配置就是關(guān)于LCD驅(qū)動器一些關(guān)鍵參數(shù)的配置,包括如下內(nèi)容:

驅(qū)動器時(shí)鐘

幀頻率

占空比

閃爍模式

輪顯模式

驅(qū)動器電源類型

驅(qū)動波形類型

上述這些關(guān)鍵參數(shù)除了幀頻率之外,全部都在LCD控制寄存器中配置,控制寄存器如圖所示,具體也可參考用戶手冊。

wKgZomUD5tGAIPoHAAC-Uf6csQk721.png

基于本文選擇的液晶顯示屏,對LCD控制器的配置(包括使能LCD)如下:

wKgZomUD5tSAUynMAAB5zqGAfSo810.png

LCD的幀刷新頻率可通過LCD_FSET寄存器的FS位來控制。通過設(shè)置FS值,使得幀刷新頻率在25-120Hz之間

幀刷新頻率=LCD時(shí)鐘頻率/(COM數(shù)*2*(FS*8+1))--------COM=2; COM=4

幀刷新頻率=LCD時(shí)鐘頻率/(COM數(shù)*2*(FS*4+1))--------COM=6; COM=8

wKgaomUD5tWAdPCCAAARZsQljco136.png

配置FS值為4,那么幀刷新頻率=32KHz/(4*2*(4*8+1))≈120Hz

3.6 顯示示例

經(jīng)過前面章節(jié)的闡述,我們已經(jīng)知道了LCD的驅(qū)動原理、使用033內(nèi)置LCD驅(qū)動器的軟件編程技巧等,基于上面的配置,這邊以如下圖顯示綠色部分字符進(jìn)一步說明最終要實(shí)現(xiàn)LCD顯示更新的軟件配置流程。

wKgaomUD5teAMSfZAAM55ZyF52E913.png

wKgZomUD5tiAM3ISAAGHWpTjlHs092.png

實(shí)際顯示效果如下圖所示

wKgZomUD5tmAZuOqAAQo53w6JPw662.png

來源:澎湃微電子
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16796

    瀏覽量

    349325
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4384

    瀏覽量

    166675
  • 血糖儀
    +關(guān)注

    關(guān)注

    3

    文章

    70

    瀏覽量

    27160
收藏 人收藏

    評論

    相關(guān)推薦

    電子血糖儀怎么用才正確

    隨著糖尿病患者越來越多,電子血糖儀逐漸成為家庭常備的檢測工具,但是電子血糖儀怎么用正確很多朋友并不了解。只有正確的使用才能測量到準(zhǔn)確的結(jié)果本文詳細(xì)告訴您電子血糖儀的用法。1、電子血糖儀
    發(fā)表于 04-18 14:27

    血糖儀技術(shù)

    本人有些血糖儀技術(shù)方面的事要質(zhì)詢,如可以有酬謝。有意者聯(lián)系我***李先生
    發(fā)表于 05-30 14:46

    騰訊血糖儀:糖大夫讓關(guān)愛不再有距離

    在智能硬件和移動醫(yī)療如火如荼的發(fā)展態(tài)勢之下,以社交和游戲起家的騰訊也不忘前來分一杯移動醫(yī)療的羹,首次涉足醫(yī)療智能硬件領(lǐng)域,推出了家庭自測血糖的儀器——騰愛糖大夫血糖儀,該血糖儀通過連接微信旨在讓兒女
    發(fā)表于 04-06 18:47

    血糖儀開發(fā)方案顧問,插入智能手機(jī)的血糖儀

    插入智能手機(jī)的血糖儀開發(fā)項(xiàng)目:1、血糖儀+手機(jī)app協(xié)作完成血糖檢測、顯示、存儲數(shù)據(jù);2、血糖儀有3.5mm耳機(jī)插頭或mini USB插頭,連接智能手機(jī)(蘋果或安卓),可用手機(jī)供電;3
    發(fā)表于 06-25 12:16

    血糖儀原理設(shè)計(jì)及仿制開發(fā)方案詳解

    血糖儀原理設(shè)計(jì)及仿制開發(fā)方案詳解   本文主要探討基于C8051F系列單片機(jī)的血糖儀電路原理設(shè)計(jì)與應(yīng)用分析,并同時(shí)提供仿制開發(fā)、調(diào)試生產(chǎn)的完整解決方案。  
    發(fā)表于 04-12 15:45 ?8809次閱讀
    <b class='flag-5'>血糖儀</b>原理設(shè)計(jì)及仿制開發(fā)方案詳解

    Maxim血糖儀產(chǎn)品解決方案應(yīng)用

    本資料是Maxim公司的醫(yī)療電子產(chǎn)品血糖儀的應(yīng)用解決方案。主要介紹了血糖儀的智能、便攜、可靠性;血糖儀的設(shè)計(jì)原理;血糖儀的內(nèi)部結(jié)構(gòu);血糖儀
    發(fā)表于 09-26 14:13 ?150次下載

    MSP430血糖儀設(shè)計(jì)詳析

    本文詳細(xì)介紹 了采用 M SP430 系列單片機(jī)設(shè)計(jì)的多功能血糖儀 。
    發(fā)表于 04-24 09:10 ?59次下載
    MSP430<b class='flag-5'>血糖儀</b>設(shè)計(jì)詳析

    有關(guān)血糖儀的基本知識解析

    現(xiàn)在用血糖儀的主要有兩大人群,一是糖尿病患者,另一個(gè)就是孕婦。我自己就是懷孕期間血糖偏高,醫(yī)生讓每天測,所以才買了一個(gè)血糖儀。
    發(fā)表于 04-20 15:58 ?1550次閱讀

    WTN6語音芯片在血糖儀的應(yīng)用方案

    血糖儀相信大家都不陌生,如今許多家庭都擁有了一款家用的血糖儀,不再需要大老遠(yuǎn)去到醫(yī)院花大量時(shí)間去測血糖了,如今的血糖儀都添加了語音功能,在產(chǎn)品上添加了不少的價(jià)值;極大方便了視力不好的中
    發(fā)表于 06-02 10:03 ?726次閱讀

    澎湃微PT32x033系列|血糖儀專題技術(shù)文章連載_08

    澎湃微PT32x033系列 | 血糖儀專題技術(shù)文章連載_08
    的頭像 發(fā)表于 11-07 17:12 ?479次閱讀
    澎湃微<b class='flag-5'>PT32x033</b><b class='flag-5'>系列</b>|<b class='flag-5'>血糖儀</b><b class='flag-5'>專題技術(shù)文章</b><b class='flag-5'>連載</b>_08

    澎湃微PT32x033系列|血糖儀專題技術(shù)文章連載_07

    澎湃微PT32x033系列 | 血糖儀專題技術(shù)文章連載_07
    的頭像 發(fā)表于 11-07 17:11 ?794次閱讀
    澎湃微<b class='flag-5'>PT32x033</b><b class='flag-5'>系列</b>|<b class='flag-5'>血糖儀</b><b class='flag-5'>專題技術(shù)文章</b><b class='flag-5'>連載</b>_07

    澎湃微PT32x033系列|血糖儀專題技術(shù)文章連載_06

    澎湃微PT32x033系列 | 血糖儀專題技術(shù)文章連載_06
    的頭像 發(fā)表于 11-07 17:10 ?567次閱讀
    澎湃微<b class='flag-5'>PT32x033</b><b class='flag-5'>系列</b>|<b class='flag-5'>血糖儀</b><b class='flag-5'>專題技術(shù)文章</b><b class='flag-5'>連載</b>_06

    澎湃微PT32x033系列|血糖儀專題技術(shù)文章連載_04

    澎湃微PT32x033系列 | 血糖儀專題技術(shù)文章連載_04
    的頭像 發(fā)表于 11-07 17:09 ?500次閱讀
    澎湃微<b class='flag-5'>PT32x033</b><b class='flag-5'>系列</b>|<b class='flag-5'>血糖儀</b><b class='flag-5'>專題技術(shù)文章</b><b class='flag-5'>連載</b>_04

    澎湃微PT32x033系列 | 血糖儀專題技術(shù)文章連載_01

    澎湃微PT32x033系列 | 血糖儀專題技術(shù)文章連載_01
    的頭像 發(fā)表于 10-27 10:06 ?719次閱讀
    澎湃微<b class='flag-5'>PT32x033</b><b class='flag-5'>系列</b> | <b class='flag-5'>血糖儀</b><b class='flag-5'>專題技術(shù)文章</b><b class='flag-5'>連載</b>_01

    EPSON愛普生32.768KHz+38.4MHz晶體助力連續(xù)血糖儀CGM新賽道

    ContinuousGlucoseMonitoring,簡稱CGM,連續(xù)血糖監(jiān)測系統(tǒng)。血糖儀是一種現(xiàn)代的醫(yī)療技術(shù),用于測試人體血液中的葡萄糖濃度。與傳統(tǒng)的血糖儀不同,CGM
    的頭像 發(fā)表于 05-21 08:28 ?411次閱讀
    EPSON愛普生32.768KHz+38.4MHz晶體助力連續(xù)<b class='flag-5'>血糖儀</b>CGM新賽道