新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 彩色STN模塊VP2188與51單片機(jī)接口

彩色STN模塊VP2188與51單片機(jī)接口

作者: 時(shí)間:2011-05-12 來源:網(wǎng)絡(luò) 收藏
2 硬件電路

本文引用地址:http://butianyuan.cn/article/172791.htm

  一共有27根輸出引腳,分別為控制、數(shù)據(jù)信號(hào)線DB0-DB15,讀信號(hào)RD(低電平有效),寫信號(hào)WR(低電平有效),數(shù)據(jù)和控制信號(hào)選擇RS(低電平為控制信號(hào)、高電平為數(shù)據(jù)信號(hào)),片選信號(hào)CS(低電平有效),復(fù)位信號(hào)RESETB(低電平有效),電源VDD,液晶驅(qū)動(dòng)電源PS1、PS2,背光燈正極LED 、負(fù)極LED-,地線GND.

  方式為串口3線9位或并口8位/16位,可滿足80系列時(shí)序.當(dāng)使用51系列8位接口時(shí)可將PCF8837高8位懸空.

  與51系列8位并口接口的示意圖如圖2所示:P0與數(shù)據(jù)低8位相連高8位不用懸空.P2口0~4位分別作讀寫、數(shù)據(jù)程序選擇、片選以及復(fù)位信號(hào).

  

  圖2 硬件連接圖

  3 PCF8837的指令系統(tǒng)與軟件編程

  PCF8837支持兩套不同的指令系統(tǒng),通過ISS管腳設(shè)置指令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位直接存儲(chǔ)于RAM 中.

  (2)4*210色(12位)RGB 4-4-4位輸入.數(shù)據(jù)來自于接口的12位,按照LUT圖映射成16位后存儲(chǔ)于RAM 中.

  (3)256色(8位)RGB 3-3-2位輸入.數(shù)據(jù)來自于接口的8位,按照可編程LUT圖(RGBSET指令)映射成12位,再按照LUT圖映射成16位后存儲(chǔ)于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ù)鎖存器再轉(zhuǎn)送到顯示RAM,如果只傳送一位字節(jié),則所傳送的字節(jié)不送到RAM 中.采用數(shù)據(jù)格式(2)還可以分3步傳送2個(gè)像素色階信息.

  PCF8837的OTP編程要設(shè)定的參數(shù)有顯示器識(shí)別信息、分段溫度補(bǔ)償參數(shù)、驅(qū)動(dòng)電壓和偏壓生成電路參數(shù)、分段幀頻設(shè)置參數(shù)、N線反轉(zhuǎn)間隔、行列充電時(shí)間、RGB相位混合偏移量、振蕩器調(diào)整等等 .初始化程序中需要設(shè)定的量有局部標(biāo)準(zhǔn)顯示模式、內(nèi)部振蕩器、顯示對(duì)比度、電壓器偏壓值、接口模式、存儲(chǔ)器控制等 .

  當(dāng)采用8位接口模式與51單片機(jī)如上圖連接時(shí),主要的編程如下(由于篇幅有限,這里省略了某些控制指令的設(shè)置,用戶可根據(jù)實(shí)際需要添加設(shè)置):

  //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); //軟件復(fù)位

  DelayX10ms(10); //延時(shí)0.1s

  Write_com2188(0x11); //休眠結(jié)束

  Write_com2188(0x03); //倍壓開

  Write_com2188(0x29); //顯示開

  Write_com2188(0xc0); //選內(nèi)部振蕩器

  Write_com2188(0x13); //標(biāo)準(zhǔn)模式開

  Write_com2188(0x20); //反轉(zhuǎn)關(guān)

  Write_com2188(0x3a); //像素接口

  Write_data2188(0x02); //8位

  Write_com2188(0xb); //設(shè)置vop

  Write_data2188(0x13); //vop數(shù)值

  Write_com2188(0x25); //設(shè)置對(duì)比度

  Write_data2188(contrast);//對(duì)比度數(shù)值

  Write_com2188(0xc7);//設(shè)置偏壓比

  Write_com2188(0x01);//偏壓比數(shù)值

  Write_com2188(0x36);//MADCTL

  Write_data2188(0x00);//正向

  Write_com2188(Oxl1);//休眠結(jié)束

  Write_com2188(0x29);//開顯示

  )

  //旋轉(zhuǎn)功能實(shí)現(xiàn)

  void Circum_lcd2188()

  {Write_com2188(0x30); //設(shè)置局部顯示區(qū)域的RAM 地址

  Write_data2188(0xxx); //局部顯示區(qū)域RAM 起始

  Write_data2188(0xxx); //局部顯示區(qū)域RAM結(jié)束

  Write_com2188(0x36); //設(shè)置MADCTL命令

  Write_com2188(0x11); //休眠結(jié)束

  Write_com2188(0x29); //開顯示

  Write_com2188(0x12); //局部模式開

  4 結(jié)束語(yǔ)

  本文介紹的精電蓬元液晶,在中小屏幕液晶顯示領(lǐng)域是一款技術(shù)先進(jìn)、功能強(qiáng)大、使用方便的產(chǎn)品,由于其模組驅(qū)動(dòng)能力強(qiáng),顯示效果清晰,同時(shí)價(jià)格不高,所以在便攜產(chǎn)品、游戲機(jī)市場(chǎng)以及工業(yè)領(lǐng)域得到了廣泛的應(yīng)用.本文編寫的程序在Keil uVision3編譯器中順利編譯通過,添加要顯示的圖形和字模代碼后移植到電路板能夠正確顯示所要求的圖形和文本,圖像旋轉(zhuǎn)功能以及局部顯示能夠正確工作.


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉