段式液晶程式設計技巧

2021-09-26 18:40:32 字數 1440 閱讀 9425

該項引數一般也稱為duty數或者com數,段式液晶一般採用時分動態掃瞄的驅動模式,此模式下,每個com的有效選通時間與整個掃瞄週期的比值即占空比是固定的,等於1/com數。

lcd的seg/com的驅動波形為模擬訊號,而各檔模擬電壓相對於lcd輸出的最高電壓的比例稱為偏置,而一般來講,bias是以最低一檔與輸出最高電壓的比值來表示。一般而言,bias和duty之間是有一定聯絡的,duty數越多,每根com對應的掃瞄時間變短,而要達到同樣的顯示亮度和顯示對比度,von的電壓就要提高,選電平和非選電平的差異需要加大,即bias需要加大,duty和bias間有乙個經驗公式,即:

bias = 1/(√duty + 1)

液晶分子是需要交流訊號來驅動的,長時間的直流電壓加在液晶分子兩端,會影響液晶分子的電氣化學特性,引起顯示模糊,壽命減少,其破壞性不可恢復。

掃瞄頻率,直接驅動液晶分子的交流電壓的頻率一般在60~100hz之間,具體是依據lcdpanel的面積和設計而定,頻率過高,會導致驅動功耗的增加,頻率過低,會導致顯示閃爍,同時如果掃瞄頻率同光源的頻率之間有整數倍關係,則顯示也會有閃爍現象出現。

其他諸如可視角度,連線方式,工作溫度範圍之類的,那就根據具體需求讓**商做就好了;

這個如果設計好了,程式寫起來也會方便很多,以下面的為例:

主要是中間8個顯示數字的段碼,所有的最好按照同樣的規律排布:

這樣我們就好計算出顯示不同數字所需要的陣列:

然後將陣列寫到程式中:

至於如何控制段碼屏顯示,有的mcu如msp4304152支援段碼驅動,如果不支援可以使用專門的驅動ic如ht1621b/ht1622等,驅動搞定之後,無非就是寫入資料,每個資料位控制對應的段碼顯示還是不顯示;

道理都一樣,但是使用一些c語言的技巧會使程式更簡潔,效率更高;

下面要介紹的就是乙個結構體和乙個陣列組合為乙個共用體:

typedef union _displaysegment;

//段碼真值表中對應到seg18*4 = 72 ,共72個段碼,這裡是以乙個位元組(8bit)為單位寫資料,所以陣列大小為72/8 = 9

uint8 content[9]

;}display

;

void

(void

)

段式LCD液晶顯示屏的玩法

本次任務用華大微控制器hc32l136驅動定製的段式液晶,4com,34seg,1 3偏壓。由於微控制器本身有段式液晶驅動,根據資料手冊可以知道其工作過程及控制方法。過程分2步 1,配置硬體驅動暫存器。2,根據具體液晶情況,取模,定義聯合結構體。步驟1可以檢視資料手冊,根據步驟配置寫程式配置程式如下...

程式設計技巧 適配技巧 2

上篇講了一些對尺寸的簡單適配 縮放適配 我們這裡來講一些對於需求而言的 適配 1.案例一 如果版本一需要四行檢視,版本二需要二行檢視,怎麼用最少的 和邏輯判斷去實現?這裡可以用到uiview的tag property nonatomic nsinteger tag default is 0 null...

「三段式」程式設計結構(最初版)

一 結構圖釋 二 結構實現建議 1.命名空間命名規則 性質 公司 作者 專案名稱 所屬 段 名稱 業務 operation 模組 module 基礎 base 例如 personal.ygl.mycodesource.module 2.針對 基礎段 的編寫說明 從設計角度來說,完全可以將所有的 基礎...