引言
點陣液晶顯示器具有可顯示復雜的文字及圖形,顯示屏面積大小多樣等優(yōu)點,在智能儀器儀表、電子設備等工業(yè)、民用方面有著廣泛的應用前景。
ST公司的mPSD系列單片機以其接口功能強大、存儲容量大和系統(tǒng)開發(fā)方便等優(yōu)點,逐漸被應用到對功能要求較高的控制領域。其可編程邏輯的豐富外圍接口和大容量存儲器的使用必須通過PSDsoft Express軟件配置,與傳統(tǒng)51系列單片機開發(fā)不同。本文通過在實際項目中對mPSD3334D的應用,重點介紹了其特點及其與內(nèi)置SED1520液晶控制器的液晶模塊GXM12232-1的接口,并給出了mPSD3334D的引腳配置和GXM12232-1顯示控制流程圖。
mPSD3334D及SED1520簡介
mPSD3334D單片機
mPSD33xx系列單片機是高性能嵌入式控制器,整合了8051微控制器、靈活的存儲器結構、可編程邏輯和豐富的外圍接口。芯片由MCU和PSD兩大模塊組成。該系列不同種類單片機的區(qū)別主要體現(xiàn)在存儲器空間大小和MCU模塊、PSD模塊供電電壓的不同。mPSD3334D存儲空間為256KB Flash、8KB SRAM,MCU模塊采用3.3V供電,PSD模塊采用5.5V供電。
與傳統(tǒng)8032單片機比較,除時鐘特性和可控制指令預取、跳轉(zhuǎn)緩存特性不同外,其余不同主要表現(xiàn)在如下方面:
1. 靈活的擴展外圍接口功能。PA、PB、PC、PD口為多功能復用口,通過相應寄存器的設置可根據(jù)系統(tǒng)需要靈活進行功能切換。端口供電電壓與MCU模塊電壓的不同,可方便與外圍不同供電電壓器件接口,減少系統(tǒng)電壓轉(zhuǎn)換的設計。
2. 高性能JTAG調(diào)試、下載功能,方便產(chǎn)品開發(fā)和生產(chǎn)。
SED1520驅(qū)動器
SED1520是一種點陣圖形式液晶驅(qū)動器,可直接與8位CPU相連,使用方便。SED1520通常集列驅(qū)動器和控制器于一體,作為內(nèi)藏式控制器,廣泛應用于小規(guī)模液晶模塊的顯示。
SED1520驅(qū)動器的主要特點為:
1. 內(nèi)部顯示RAM容量為2560b。其每一位數(shù)據(jù)控制液晶屏上一點的亮滅狀態(tài)。“1”表示亮,“0”表示暗。
2. 具有16個行驅(qū)動和61個列驅(qū)動,可方便與SED1521配合,進行單一列的擴展。
3. 總線速度可達10M,顯示占空比為1/16或1/32。
采用SED1520作為驅(qū)動器的液晶模塊,根據(jù)液晶屏的大小不同,SED1520、SED1521對行、列的組合有所不同。如屏大小為141×16、占空比為1/16的液晶模塊采用SED1521進行了列的擴展。當液晶屏行數(shù)超出單片SED1520的行驅(qū)動能力時,可采用主從式SED1520進行行擴展。如圖1所示。
本文介紹的GXM12232-1液晶模塊采用的SED1520驅(qū)動器的內(nèi)部系統(tǒng)框圖即為圖1所示。采用主從結構的兩片SED1520分別控制顯示屏幕左、右半屏顯示。
圖1 采用主從式SED 1520進行擴展
SED1520指令與顯示RAM結構
SED1520指令系統(tǒng)比較簡單,共13條,除讀狀態(tài)指令、讀顯示RAM數(shù)據(jù)指令外,其他指令均為寫操作,并且讀寫指令均為單字節(jié)指令。在送出每條指令時,必須進行控制器狀態(tài)檢測,狀態(tài)字節(jié)的含義如下:
D7:1/0,模塊忙/準備就緒;
D5:1/0,模塊顯示關/開;
D4:1/0,模塊復位/正常;
D3-D0:未用
在指令使用中,關鍵要分清顯示行、列設置和顯示頁面設置的關系。單片SED1520可驅(qū)動61×16液晶屏,其內(nèi)部顯示RAM相對于COM0每8行為一個顯示頁面,故本文使用的模塊可顯示4頁。
液晶模塊與mPSD3334D的
硬件接口與配置
SED1520驅(qū)動器設計有80-CPU和68-CPU兩種接口時序。GXM12232-1模塊在采用不同控制時序時,引腳連接功能不同。本設計在使用該模塊時采用了68-CPU的控制時序。PA口與液晶模塊數(shù)據(jù)線連接,PB4、PB3分別連接液晶模塊引腳E1、E2,PB2連接模塊RW,PB1連接模塊數(shù)據(jù)命令控制引腳A0。
PSD模塊PA、PB口引腳定義
mPSD3334D單片機的PA是多功能復用口,PB口具有可編程邏輯輸出功能。在本文中為便于程序移植和接口時序要求,PA口設置成外圍設備模式;PB4、PB3設置成CPLD輸出外部片選、高電平有效模式,命名為LCD_E2、LCD_E1;PB2、PB1設置成CPLD輸出Combinatorial模式,命名為LCD_RW、LCD_A0。PA口的外圍設備模式的引腳定義必須使用PSDsoft_Express軟件才能完成,在程序運行時引腳工作模式不能更改。
PSD模塊邏輯功能設置
根據(jù)接口時序的要求,對PA、PB口進行相應邏輯功能的設置。與本文涉及密切的邏輯功能主要有PSEL和PB[4:1]引腳信號。PSEL、PB4和PB3是片選邏輯設置,PB2和PB1是I/O邏輯功能設置。片選邏輯功能設置時必須保證與mPSD3334D中Flash和SRAM存儲區(qū)的地址分布不相沖突。以上邏輯功能的設置必須在PSDsoft Express軟件的設計輔助窗口中完成。
當PA口工作在外圍設備I/O模式時,PSEL片選邏輯地址即為PA口的外圍設備I/O地址空間。在PA口外圍設備I/O模式中,可以設置其中任意一項。主程序必須初始化VM寄存器使能PA口外圍設備I/O模式。
設置PB4、PB3邏輯,使能LCD_E1、LCD_E2信號用于選中LCD模塊的Master、Slave控制器。當I/O地址范圍在Hex Start和Hex End之間,且讀或?qū)懶盘栍行r,LCD_E1和LCD_E2引腳信號被選中。
LCD_RW用于區(qū)別命令或數(shù)據(jù)的讀、寫,LCD_A0用于區(qū)別命令或數(shù)據(jù)。在I/O邏輯功能設置中,根據(jù)片選信號的設置,LCD_RW與地址信號a0相連,LCD_A0與地址信號a1相連,LCD_A0=0表示命令,LCD_A0=1表示數(shù)據(jù)。
根據(jù)上述設置情況可以看出,地址信號a2用于區(qū)分master、Slave驅(qū)動器的選擇,a1a0組合實現(xiàn)對命令、數(shù)據(jù)的讀寫控制。GXM12232-1模塊Master、Slave驅(qū)動器相應命令、數(shù)據(jù)控制地址如表1所示。
液晶模塊顯示軟件設計流程
SED1520控制器的控制命令是單字節(jié)指令。在GXM12232-1模塊中進行控制時,根據(jù)Master、Slave模塊的數(shù)據(jù)、命令地址送出相應數(shù)據(jù)、命令字節(jié)。但是在每次讀寫數(shù)據(jù)或命令時,必須進行忙狀態(tài)檢測。有關命令字在前面和相關數(shù)據(jù)手冊中有具體介紹。圖2給出了控制命令字流程圖。
圖2 控制命令流程圖
SED1520控制器正常工作必須進行一定配置,其中包括顯示開關、靜態(tài)或動態(tài)顯示、占空比等,該過程主要是寫命令控制過程,通過多次調(diào)用OutMasterCom(unsigned char i)、OutSlaveCom(unsigned char i)完成。以GXM12232-1模塊的Master控制器為例,其命令控制代碼如下。對于Slave控制器,更改相應地址即可。
void OutMasterCom( unsigned char i ) // write master command
{
while ((rm_status & 0x80)); //rm_status the command read address of master
wm_command = i; //wm_command the command write address of master
}
以GXM12232-1模塊的Master控制器為例,其寫數(shù)據(jù)代碼如下。
void OutMasterDat( unsigned char i ) //write master data
{
while ((rm_status & 0x80));
wm_data = i; //wm_data the data write address of master
}
液晶屏的數(shù)據(jù)顯示過程主要分為顯示地址命令設置和送出顯示數(shù)據(jù)兩步。GXM12232-1模塊由Master、Slave兩個控制器構成。當設置顯示列地址大于60時,顯示窗口切換為Slave,即屏幕顯示的右半屏。在應用中顯示數(shù)據(jù)采用縱向取模方式。在GXM12232-1模塊進行字符、圖形顯示時必須注意顯示窗口和PAGE的范圍。程序流程如圖3所示。因?qū)τ诓煌娘@示對象頁占據(jù)的大小不同,在頁范圍檢測時需根據(jù)對象大小確定檢測范圍。
圖3 字符、圖形顯示流程圖
結語
本文介紹了mPSD系列單片機PA口在外圍設備I/O模式下與GXM12232-1模塊的連接與相應顯示程序設計。GXM12232-1模塊的程序設計采用了C51硬件語言,可移植性較強,同時有助于其他內(nèi)置SED1520液晶控制器的模塊應用。