新闻中心

EEPW首页>嵌入式系统>设计应用> 彩色STN模块VP2188与51单片机接口设计

彩色STN模块VP2188与51单片机接口设计

作者: 时间:2012-07-18 来源:网络 收藏

2 硬件电路

本文引用地址://m.amcfsurvey.com/article/171140.htm

一共有27根输出引脚,分别为控制、数据信号线DB0-DB15,读信号RD(低电平有效),写信号WR(低电平有效),数据和控制信号选择RS(低电平为控制信号、高电平为数据信号),片选信号CS(低电平有效),复位信号RESETB(低电平有效),电源VDD,液晶驱动电源PS1、PS2,背光灯正极LED 、负极LED-,地线GND.

方式为串口3线9位或并口8位/16位,可满足80系列时序.当使用51系列8位接口时可将PCF8837高8位悬空.

  与51系列8位并口接口的示意图如图2所示:P0与数据低8位相连高8位不用悬空.P2口0~4位分别作读写、数据程序选择、片选以及复位信号.

  图2 硬件连接图

  3 PCF8837的指令系统与软件编程

  PCF8837支持两套不同的指令系统,通过ISS管脚设置指令0或1来选择,这里我们只介绍指令系统0,指令1只是和指令1代码不同,其功能是一样的,其中数据传送格式位如表2所示.

  PCF有3种不同的数据格式支持不同的色阶:

  (1)64*210色(16位)RGB 5-6-5位输人.数据来自于接口的16位直接存储于RAM 中.

  (2)4*210色(12位)RGB 4-4-4位输入.数据来自于接口的12位,按照LUT图映射成16位后存储于RAM 中.

  (3)256色(8位)RGB 3-3-2位输入.数据来自于接口的8位,按照可编程LUT图(RGBSET指令)映射成12位,再按照LUT图映射成16位后存储于RAM 中.

  表2 数据传送格式

  数据传送如果采用16位接口模式,那么数据格式(1)中一像素16位色阶信息仅需一步就可以传输到显示RAM.数据格式(2)中传送过来的R4、G5、G4、B4舍弃不用,数据格式(3)舍弃高8位.8位接口模式中一像素16位色阶信息需二步传输到数据锁存器再转送到显示RAM,如果只传送一位字节,则所传送的字节不送到RAM 中.采用数据格式(2)还可以分3步传送2个像素色阶信息.

  PCF8837的OTP编程要设定的参数有显示器识别信息、分段温度补偿参数、驱动电压和偏压生成电路参数、分段帧频设置参数、N线反转间隔、行列充电时间、RGB相位混合偏移量、振荡器调整等等 .初始化程序中需要设定的量有局部标准显示模式、内部振荡器、显示对比度、电压器偏压值、接口模式、存储器控制等 .

  当采用8位接口模式与51单片机如上图连接时,主要的编程如下(由于篇幅有限,这里省略了某些控制指令的设置,用户可根据实际需要添加设置):

  //DEMO源程序

  //写指令函数

  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位数据函数

  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数值

  Write_com2188(0x25); //设置对比度

  Write_data2188(contrast);//对比度数值

  Write_com2188(0xc7);//设置偏压比

  Write_com2188(0x01);//偏压比数值

  Write_com2188(0x36);//MADCTL

  Write_data2188(0x00);//正向

  Write_com2188(Oxl1);//休眠结束

  Write_com2188(0x29);//开显示

  )

  //旋转功能实现

  void Circum_lcd2188()

  {Write_com2188(0x30); //设置局部显示区域的RAM 地址

  Write_data2188(0xxx); //局部显示区域RAM 起始

  Write_data2188(0xxx); //局部显示区域RAM结束

  Write_com2188(0x36); //设置MADCTL命令

  Write_com2188(0x11); //休眠结束

  Write_com2188(0x29); //开显示

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

  4 结束语

  本文介绍的精电蓬元液晶,在中小屏幕液晶显示领域是一款技术先进、功能强大、使用方便的产品,由于其模组驱动能力强,显示效果清晰,同时价格不高,所以在便携产品、游戏机市场以及工业领域得到了广泛的应用.本文编写的程序在Keil uVision3编译器中顺利编译通过,添加要显示的图形和字模代码后移植到电路板能够正确显示所要求的图形和文本,图像旋转功能以及局部显示能够正确工作.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭