內置T6963C控制器的Y240128A液晶模塊由雙電源(VDD/V0)供電。工作時需要提供一個負電壓 (即液晶驅動電壓V0/VEE),用以調節對比度,接至液晶模塊的V0引腳。基于液晶材料的物理特性,液晶的對比度會隨著溫度的變化相應變化,因此,所提供的負電壓必須隨溫度變化作相應的調整,大致變換關系是溫度變化10℃,電壓變化1V左右。此外,液晶模塊在正常工作前必須提供驅動電源。由于選用的Y240128A液晶模塊中已具備提供負電壓的功能,只需接一個可調電位器(阻值20kΩ)就可方便地為液晶提供驅動電源。具體如圖1所示。 引腳1、2:接地;引腳3:接+5V電壓為LCD邏輯電源;引腳5~8:液晶控制信號;引腳10~17:液晶數據信號;引腳4和引腳19:引腳4為液晶驅動電源,并可進行對比度調節。液晶驅動電源要求是負電壓,將引腳19(VEE)提供的負電壓(-23V),和引腳4連接后即可為液晶屏提供負電壓。對于在溫度變化不大的使用范圍內,建議用穩壓模塊較合適,在設計中也可用穩壓芯片輸出負壓來穩壓,同樣能使液晶正常驅動。 SPCE061A單片機配置2個16位的并行I/O口:A口和B口,提供32個I/O線。其中,A口16個(IOA0~IOA15),B口16個(IOB0~IOB15)。它們都是16位可編程,具有位控制結構的I/O端口,每一位都可以被單獨定義用于輸入或輸出數據。對某一位的設定包括以下3個基本項:數據向量Data、屬性向量Attribution和方向控制向量Direction。 因此,在設計中,通過SPCE061A單片機內置的I/O口電路和利用匯編語言對I/O端口的功能設置,就可以很簡單的完成液晶模塊接口的設置。 對液晶模塊的軟件采用三層模式設計:底層程序設計、上層程序設計和應用層程序設計。底層程序設計完成對液晶模塊的底層驅動。主要是編寫基于對T6963C指令應用的子函數,從而能夠直接調用函數驅動液晶模塊,讀寫液晶屏數據。 T6963C控制器的指令很豐富,通過分析,建立雙參數指令子函數OutCmd2()、單參數指令子函數OutCmd1()和無參數指令子函數OutCmd0()。底層驅動用匯編語言編寫,以4個函數作為底層驅動函數:讀數據、寫數據、讀狀態、寫指令。如對指令寫入子函數OutCmd的編寫,其底層驅動程序的建立,源代碼如下: 完成了對底層驅動函數的編寫,第二步設計就是編寫上層驅動函數。上層驅動函數編寫的出發點是保證靈活性和可移植性,利用底層的4個驅動子函數,向應用部分提供各種常用操作。上層函數用C語言編寫。例如,液晶模塊的初始化等。 上層驅動子函數的建立,源代碼如下: 完成了上層驅動子函數的編寫,就可以調用它,建立應用層,編寫軟件模塊。如:顯示靜態菜單等等。 應用層的建立,源代碼如下: 從上面的設計可以看到用三層軟件模塊設計思想,可以很快的在應用層中調用子函數來編寫程序,并且編寫很簡單,如漢字顯示等。對于復雜的菜單設計,更能突出這種軟件設計思想的優勢。 介紹了SPCE061A單片機驅動內含T6963C控制器的圖形液晶模塊。它利用豐富的I/O口資源驅動液晶模塊,簡化了電路設計,并結合T6963C控制器的圖形液晶模塊的指令特點,設計出液晶模塊軟件驅動模式,使得在對驅動液晶模塊的軟件編寫上更方便,這一設計思想在實際應用中取得了很好的效果。 |