VP2188一共有27根輸出引腳,分別為控制、數(shù)據(jù)信號線DB0-DB15,讀信號RD(低電平有效),寫信號WR(低電平有效),數(shù)據(jù)和控制信號選擇RS(低電平為控制信號、高電平為數(shù)據(jù)信號),片選信號CS(低電平有效),復位信號RESETB(低電平有效),電源VDD,液晶驅動電源PS1、PS2,背光燈正極LED 、負極LED-,地線GND.
接口方式為串口3線9位或并口8位/16位,可滿足80系列接口時序.當使用51系列單片機8位接口時可將PCF8837高8位懸空.
與51系列單片機8位并口接口的示意圖如圖2所示:單片機P0與VP2188數(shù)據(jù)低8位相連高8位不用懸空.P2口0~4位分別作讀寫、數(shù)據(jù)程序選擇、片選以及復位信號.
?
圖2 硬件連接圖
3 PCF8837的指令系統(tǒng)與軟件編程
PCF8837支持兩套不同的指令系統(tǒng),通過ISS管腳設置指令0或1來選擇,這里我們只介紹指令系統(tǒng)0,指令1只是和指令1代碼不同,其功能是一樣的,其中數(shù)據(jù)傳送格式位如表2所示.
PCF有3種不同的數(shù)據(jù)格式支持不同的色階:
(1)64*210色(16位)RGB 5-6-5位輸人.數(shù)據(jù)來自于接口的16位直接存儲于RAM 中.
(2)4*210色(12位)RGB 4-4-4位輸入.數(shù)據(jù)來自于接口的12位,按照LUT圖映射成16位后存儲于RAM 中.
(3)256色(8位)RGB 3-3-2位輸入.數(shù)據(jù)來自于接口的8位,按照可編程LUT圖(RGBSET指令)映射成12位,再按照LUT圖映射成16位后存儲于RAM 中.
表2 數(shù)據(jù)傳送格式
數(shù)據(jù)傳送如果采用16位接口模式,那么數(shù)據(jù)格式(1)中一像素16位色階信息僅需一步就可以傳輸?shù)斤@示RAM.數(shù)據(jù)格式(2)中傳送過來的R4、G5、G4、B4舍棄不用,數(shù)據(jù)格式(3)舍棄高8位.8位接口模式中一像素16位色階信息需二步傳輸?shù)綌?shù)據(jù)鎖存器再轉送到顯示RAM,如果只傳送一位字節(jié),則所傳送的字節(jié)不送到RAM 中.采用數(shù)據(jù)格式(2)還可以分3步傳送2個像素色階信息.
PCF8837的OTP編程要設定的參數(shù)有顯示器識別信息、分段溫度補償參數(shù)、驅動電壓和偏壓生成電路參數(shù)、分段幀頻設置參數(shù)、N線反轉間隔、行列充電時間、RGB相位混合偏移量、振蕩器調整等等 .初始化程序中需要設定的量有局部標準顯示模式、內部振蕩器、顯示對比度、電壓器偏壓值、接口模式、存儲器控制等 .
當采用8位接口模式與51單片機如上圖連接時,主要的編程如下(由于篇幅有限,這里省略了某些控制指令的設置,用戶可根據(jù)實際需要添加設置):
//DEMO源程序
//寫指令函數(shù)
void Write_com2188(unsigned char c1)
{RS=0;
CS2188=0;
LCD+RD=1;
WE=0;
P0=c1;
_nop_();
_nop_();
WE=1:
_nop_();
CS2188=1;
)
//寫8位數(shù)據(jù)函數(shù)
void Write_data2188(unsigned char c1)
{RS=1;
CS2188=0;
LCD_RD=1;
WE=0;
P0=c1;
_nop_();
_nop_();
WE=1;
_nop_();
CS2188=1;
}
//初始化程序
void Init_lcd2188(unsigned char contrast)
{Write_com2188(0x01); //軟件復位
DelayX10ms(10); //延時0.1s
Write_com2188(0x11); //休眠結束
Write_com2188(0x03); //倍壓開
Write_com2188(0x29); //顯示開
Write_com2188(0xc0); //選內部振蕩器
Write_com2188(0x13); //標準模式開
Write_com2188(0x20); //反轉關
Write_com2188(0x3a); //像素接口
Write_data2188(0x02); //8位
Write_com2188(0xb); //設置vop
Write_data2188(0x13); //vop數(shù)值
Write_com2188(0x25); //設置對比度
Write_data2188(contrast);//對比度數(shù)值
Write_com2188(0xc7);//設置偏壓比
Write_com2188(0x01);//偏壓比數(shù)值
Write_com2188(0x36);//MADCTL
Write_data2188(0x00);//正向
Write_com2188(Oxl1);//休眠結束
Write_com2188(0x29);//開顯示
)
//旋轉功能實現(xiàn)
void Circum_lcd2188()
{Write_com2188(0x30); //設置局部顯示區(qū)域的RAM 地址
Write_data2188(0xxx); //局部顯示區(qū)域RAM 起始
Write_data2188(0xxx); //局部顯示區(qū)域RAM結束
Write_com2188(0x36); //設置MADCTL命令
Write_com2188(0x11); //休眠結束
Write_com2188(0x29); //開顯示
Write_com2188(0x12); //局部模式開
4 結束語
本文介紹的精電蓬元彩色STN液晶模塊VP2188,在彩色中小屏幕液晶顯示領域是一款技術先進、功能強大、使用方便的產品,由于其模組驅動能力強,顯示效果清晰,同時價格不高,所以在便攜產品、游戲機市場以及工業(yè)領域得到了廣泛的應用.本文編寫的程序在Keil uVision3編譯器中順利編譯通過,添加要顯示的圖形和字模代碼后移植到電路板能夠正確顯示所要求的圖形和文本,圖像旋轉功能以及局部顯示能夠正確工作.
評論
查看更多