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

发布者:数据舞者最新更新时间:2012-07-10 来源: 21ic 关键字:彩色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单片机的DS18B20温度测量实验
下一篇:51单片机驱动蜂鸣器发声的实验

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

基于51单片机的简易数字频率计
要求使用定时/计数器1作定时用,定时1s;定时/计数器0作计数器用,被计数的外部脉冲从P3.4(T0)接入。 单片机将在1s内对脉冲计数并送四位数码管显示,最大计数显示值为0FFFFH。 求程序。 ;=============================================== 最佳答案:这是个简易频率计,程序如下: ;--------------------------------- ORG 0000H JMP START ORG 000BH JMP T0_INT ;--------------------------------- START: MOV TMOD, #51H ;/*01
[单片机]
基于<font color='red'>51单片机</font>的简易数字频率计
基于51单片机的红外线遥控器解码程序设计
描述 下面是一个对51实验板配套的红外线遥控器的解码程序,它可以把红外遥控器每一个按键的键值读出来,并且通过实验板上P1口的8个LED显示出来,在解码成功的同时并且能发出“嘀嘀嘀”的提示音。 ;================================================= ; 红外遥控接收 ;================================================= ; ew51仿真编程器 配套实验板学习例程 ; ; 中山单片机学习网 智佳科技 逸风 ; ; http://www.zsMCU.com ; E-mail:info@zsmcu.com ;===============
[单片机]
基于<font color='red'>51单片机</font>的红外线遥控器解码程序设计
51单片机 SPI nRF24L01 无线简单程序 1
main.c 1 #include reg51.h 2 #include api.h 3 4 #define uchar unsigned char 5 6 /***************************************************/ 7 #define TX_ADR_WIDTH 5 // 5字节宽度的发送/接收地址 8 #define TX_PLOAD_WIDTH 4 // 数据通道有效数据宽度 9 #define LED P2 10 11 uchar code TX_ADDRESS = {0x34,0x43,0x10,0x10,0x01}; // 定义一个静态发送地址 12
[单片机]
<font color='red'>51单片机</font> SPI nRF24L01 无线简单程序 1
基于AT89C51单片机的便携式数字血压计的设计
引言 目前,由于不科学的饮食习惯以及不健康的生活习惯,导致人们容易患上各种疾病而高血压作为其中的一类疾病,己经严重威胁着现代人的健康。如何及早的检测高血压就成为人们抗击高血压的首要问题。目前的数字血压计亦是多种多样,但大多数不具有自动报数和自主监测功能。本文所设计的便携式数字血压计即是一种操作简单的测压装置,为家庭保健提供了方便。其主动报数及超压监测提酿功能尤其是对于眼睛不好的老人和盲人来说,提供了极大的方便。 2.数字血压计系统设计框图 2.1数字血压计工作原理 本血压计采用示波法测量血压其测压过程与柯氏音法相同,将袖带加压至胧动脉处阻断血管血液,然后缓慢减压,此时血管中而液由于压力发生脉冲示波法即是用仪器来识别从手臂传入袖
[单片机]
基于AT89C<font color='red'>51单片机</font>的便携式数字血压计的设计
基于51单片机的数码管动态显示
#include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit P2_6=P2^6; //数码管位选74HC573锁存端 sbit P2_7=P2^7; //数码段位选74HC573锁存端 oid delay(uchar xms); //声明函数delay()原型,延时函数 void display(char *ptr); uchar code seg = {0x3f,0x06,0x5b,0x4f,0x66, //段码表:0,1,2,3,4 0x6d,0x7d,0x07,0x7f,0x6f, //段码表
[单片机]
51单片机:串口向电脑发送数据
单片机的串口配置可以使用SCT-ISP软件,方法如下,我的单片机晶振频率是11.0592Hz 试验程序如下: #include regx52.h #include intrins.h unsigned int num; //建立全局变量 void Delay1000ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 8; j = 1; k = 243; do { do { while (--k); } while (--j); } while (--i); } void
[单片机]
<font color='red'>51单片机</font>:串口向电脑发送数据
8051单片机教程第二课:单片机的内部、外部结构(一)
一、单片机的外部结构 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。1、电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。3、复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。4、EA引脚:EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。 我们的第一个任务是要用单片机点亮一只发光二极
[单片机]
80<font color='red'>51单片机</font>教程第二课:单片机的内部、外部结构(一)
51单片机+CPLD让系统更高效
  一、引言   随着数字电子技术的发展,一种新的器件正在被广泛应用,那就是CPLD(ComplexProgrammable Logic Device) 复杂可编程逻辑器件,通俗的说就是可以把以上那些分离器件都放进去的一种可以二次开发的IC.基于此,本刊用这篇文章深入浅出的介绍一种采用51 单片机和CPLD 构建复杂电路系统的设计思想。   二、单片机系统中几个典型电路介绍   首先从熟悉的最小系统电路电路说起,如图1所示,图中用网络标号实现电路连接,这样绘制的电路图清晰整洁,U1 是经典的51 单片机 IC,复位电路和晶振电路是传统电路,这里C5 电容是靠近单片机VCC 引脚的,用来对电源滤波,图中其它芯片VCC 附近都有
[单片机]
<font color='red'>51单片机</font>+CPLD让系统更高效
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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