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