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

发布者:BlossomBeauty最新更新时间:2011-05-22 关键字:STN模块  VP2188  51单片机 手机看文章 扫描二维码
随时随地手机看文章

  VP2188是精电蓬远生产的一款彩色STN液晶显示模块,此模块为点阵透射式彩色STN显示屏,色阶为65 k色、白色LED背光,其核心控制器是Philips COG封装的PCF8837.PCF8837是单片式彩色STN控制驱动器,存储容量为176*132*16=45 kB,有3种颜色显示模式(RGB 565或444或332),驱动能力为176行,396列(132*RGB)输出.

  PCF8837的特点是有内部集成驱动电源功能模块及OPT功能模块,具备内部DC-DC升压、变换及电压、帧频率温度补偿电路,可以通过软件管理驱动电源的工作 ,并有灵活的串口和并口连接方式、矩阵式存储器管理以及由此带来的方便的图像管理功能、区域滚动模式,此外有可软件编程的局部显示及色阶模式,通过PWM16脉宽调制和相位混频组合实现FRC4的多极灰度控制、N-线反转和超频反转以消减串色等等.

  1 PCF8837的主要特点

  PCF8837驱动电压和偏压生成电路包括电压乘法器、偏压生成电路1、偏压生成电路2、行倍压电路,它们共生成V1、V2、V3、Vc、MV1、MV2、MV3 7个电压值,其中偏压生成电路1通过SETVOP指令对VPR编程生成电压V2,公式为:

  V2=a+b × VOP,(a=3.79,b=0.015,VOP=VT+VPR+(VCON-63)+ MVOP)

  式中VT为附加的温度补偿参数,由传感器输出和TCVOPAB和TCVOPCD指令设定;VPR为主要的参考量,由SETVOP指令设定,范围14~214 dec;VCON 为对比度参数,由SETCON设置,范围为7位2进制数-63H~63H MMVOP是OTP中的预设偏移量.

  偏压生成电路2通过生成电压V1,Vc,MV1,行倍压指令SETBS通过对VB模块编程在VBIASGEN模块生成电压V3、MV3,MV2由电源电压Vss供给,和Vss电压相同.

  此外,PCF8837还可以分段设置温度补偿以及设置最佳对比度,消除来自周围的光线干扰,这些功能是在通过一次可编程(OTP,One-Time-Programmable)校准功能设置的.

  PCF8837显示存储器为矩阵式寻址结构,它的1个单元为16位,代表1个显示像素的3色数据RGB.矩阵式存储器管理为局部图像显示和图像旋转显示提供了简便的方法.

  PCF8837的寻址由行列地址指针X、Y共同决定,每组指针都配有两组可编程的地址寄存器:起始点地址寄存器XS和YS,结束点地址寄存器指针XE和YE.通过指令PTLAR可以设置有效显示区域的起始地址和结束地址,通过指令PTLON可以打开局部显示模式.指令PTLMCTL控制局部模式的N线反转功能和行选脉冲,提供局部显示的效果.通过指令MADCTL设置MY、MX、V、LAO、RGB来实现图像的旋转功能.MY、MX、V,LAO、RGB的取值和图像显示的关系如表1所示.

  表1 图像旋转需设定的参数

  参数01

  MX图像正常水平镜像颠倒

  MY垂直镜像颠倒图像正常

  V水平寻址方式写存储器垂直寻址方式写存储器

  RGB显示数据顺序为R、G、B显示数据顺序为B、G、R

  图1为存储器实现图象旋转时的数据送显流程,X为显示数据行,Y为显示数据列.根据此流程图,要实现图像的逆时针旋转90°,只需要设定好需要显示的起始行和列以及结束的行和列,将MX、V和RGB的值取反,然后开局部显示即可.其他的显示效果也可以通过设置MADCTL指令的相应位来实现.通过指令VSCRDEF设置滚动模式列的定义以及滚动列的顶部和底部,SEP指令设置滚动模式起始行和启动滚动模式.PCF8837还提供休闲模式的开关,当不用显示时可以打开休闲模式,此时仅保留MSN数据,且频率降低,使驱动器的功率消耗减小.

  

 

  图1 程序流程图[page]

2 硬件接口电路

 

  VP2188一共有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与VP2188数据低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 结束语

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

 

关键字:STN模块  VP2188  51单片机 引用地址:彩色STN模块VP2188与51单片机接口

上一篇:51单片机外扩ROM方法
下一篇:51单片机DS18B20测量温度实验

推荐阅读最新更新时间:2024-03-16 12:36

基于C51单片机的手动计数器设计电路图
利用 AT89S51 单片机来制作一个手动计数器,在 AT89S51 单片机的 P3.7 管脚接一个轻触开关,作为手动计数的按钮,用单片机的 P2.0 - P2.7 接一个共阴数码管,作为00-99计数的个位数显示,用单片机的 P0.0 - P0.7 接一个共阴数码管,作为 00 - 99 计数的十位数显示;硬件电路图如图所示。   1 . 把 “ 单片机系统 ” 区域中的 P0.0/AD0 - P0.7/AD7 端口用 8 芯排线连接到“ 四路静态数码显示模块 ” 区域中的任一个 a - h 端口上;要求: P0.0/A D0对应着 a , P0.1/AD1 对应着 b , …… , P0.7/AD7 对应着 h 。   2
[模拟电子]
基于C<font color='red'>51单片机</font>的手动计数器设计电路图
8051单片机的机器周期解析
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。8051系列单片机的一个机器周期同6个S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。参见后面的时序图。
[单片机]
80<font color='red'>51单片机</font>的机器周期解析
51单片机开发原则知识介绍
1.尽可能让变量使用占用代码空间最小的变量类型。例如无符号字符型和位操作(8051作为一款8位处理器提供了位操作支持,而且大多数操作指令都是8位或者位操作的通常用小的数据类型去编写代码其效率更高) 2.尽可能使用无符号类型数据(8051单片机不直接支持有符号的数据类型,有符号的操作需要额外的指令来支持,但是无符号的数据类型是直接就能被8051支持的) 3.尽可能选择小的存储模式即small(绝大多数的应用采用small存储模式都能满足,也可以选择large存储模式,将一些数组和结构体存入xdata或者pdata存储空间的话选择极大存储模式,注意的是keil c51实时库使用的基本指针可以工作在任何存储模式) 4.当应用
[单片机]
51单片机指令详解
数据传递类指令     以累加器为目的操作数的指令        MOV A,Rn       MOV A,direct       MOV A,@Ri        MOV A,#data    第一条指令中,Rn代表的是R0-R7。第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的。第四条指令是将立即数data送到A中。 下面我们通过一些例子加以说明:       MOV A,R1 ;将工作寄存器R1中的值送入A,R1中的值保持不变。       MOV A,30H ;将内存30H单元中的值送入A,30H单元中的值保持不变。        MOV A,@R1 ;先看R1
[单片机]
利用89c51单片机编写可调万年历
最近需要编写我学单片机一个星期以来最大的一个项目,目前感觉相当有挑战性,题目如下: 1)项目一(远程时钟控制系统) 项目背景:时间对于每个人都很重要,特别是对于高速发展的今天。每个城市都有中央LED显示,上面一般包含有时间,天气相应的信息。说近一点,比如我们学校体育馆的LED屏。对于这些显示系统,我不可能每次调整信息都爬到那么高的位置去调节。为此,我们需要设计一个远程时钟控制系统。 项目要求: 1,能够在开发板上的液晶1602上设计出电子钟万年历。 2,设计串口通信协议。 3,通过串口协议,能够通过串口将时钟信息发送到PC机上。 4,通过串口协议,设置的时钟的年,月,日,时,分,秒。 5,通过串口协
[单片机]
51单片机连接24C02-C语言测试代码
我总结3点需要注意的地方 1.关闭非IIC通信器件,比如我的开发板SDA和SCL也连接了DS1302,造成干扰会没有结果。 2.IIC通信的应答,发送端在SCL为0时将SDA置1,等待接收端拉低SDA;接收端在拉低SDA持续一个周期后,应将SDA置1释放总线。 主机作为发送端等待应答 SDA=1; SCL=1; while(SDA); SCL=0; 主机作为接收端,进行应答或不应答 SDA=0; //不应答则为1 SCL=1; SCL=0; SDA=1; 3.24C02在写入周期完成后还有有内部写入时间Twr,所以可以查手册加入适当时间的延时函数,或者使用查询应答的方式进行延时等待。 总之,关键是注意
[单片机]
基于51单片机的无线温湿度控制系统
发射_DHT11程序 //宏定义 #define uchar unsigned char #define uint unsigned int //头函数 #include reg51.h #include intrins.h //无线模块 #include api.h #include nRF24L01P.h #include DHT11.h //LED 管脚定义 sbit TXLED_R=P1^3; sbit RXLED_Y=P1^5; //主机询问命令 uchar CMD ={0xaa,0xbb,0xcc,0xdd}; //主函数 void main() { TXLED_R=0;
[单片机]
基于<font color='red'>51单片机</font>的无线温湿度控制系统
采用二维模糊控制器和C8051单片机实现室内自然采光系统的设计
1、 引言 从远古的篝火、油灯到蜡烛、白炽灯,再到今天千家万户的荧光灯,人类已经基本适应了人工光源的室内照明环境。但是由于千万年来的环境影响,自然光仍然是人类最习惯、感觉最舒适的光源,自然采光一直受到建筑师和照明设计师的高度重视。当今社会建筑的节能环保需求更对自然采光照明提出了进一步的要求。《建筑采光设计标准》 中的国家技术经济政策指出: 建筑设计要充分利用天然光,创造良好的光环境。 对室内照明自然采光的研究具有重要的意义: (1) 资料表明,照明用电占整个商业建筑能耗的25 - 40% ,而自然采光在特定的情况下可以节省52% 的照明用电,大大节约了能源。 (2) 相关研究表明,人在自然光条件下工作,可以增加满意度和提高工作
[单片机]
采用二维模糊控制器和C80<font color='red'>51单片机</font>实现室内自然采光系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved