LCD液晶显示模块功耗的测量方法

发布者:EternalSmile最新更新时间:2023-06-28 来源: elecfans关键字:LCD  液晶显示模块  功耗  测量方法 手机看文章 扫描二维码
随时随地手机看文章

一 测量原理图

说明K1 K2 K3 是LCD 模块的设置开关K1 是WDT 选择开关闭合时打开WDT 否则关闭
WDT K2 是TONE 选择开关闭合时打开音频输出否则关闭K3 是LCD 模块振荡器选择开关K3 闭合时是选择外部32.768K 晶振否则选择内部RC 振荡器256K KEY 是确认键用于循环测量流程LED 是测量值可读数指示灯当MCU 对LCD 模块设置完后将把接口的IO 口P0.1 P0.3 P0.5 置为高阻态再点亮LED 指示测量值可读
测量方法通过对K1 K2 K3 选择LCD模块的工作方式然后按一下KEY 键等LED 点亮时观
察LCD 若LCD 全显则此时电流表测出的电流就是当前设置工作方式全显的电流再按一下KEY 键LCD 则全灭此时电流测量值就是掉电方式下的电流


二 源程序
/***********************************************************
DLCD.c
本程序是对本公司水表LCD 模块进行调试及参数测量,可对LCD 模块的全显时的
功耗掉电模工下的功耗WDT及音频输出时的功耗进行测量.........
**********************************************************/
#include
#define uint unsigned int
/*为SPI.h 设置LCD 模块接口端口参数*/
sbit CS_PORT=P0^1; /*CS 端口*/
sbit CLK_PORT=P0^3; /*WR 端口*/
sbit SDA_PORT=P0^5; /*DATA端口*/
#include /*SPI.h 文件内已定义了uchar*/
/*模式选择开关定义*/
sbit K1=P0^0; /*WDT打开关闭选择*/
sbit K2=P1^6; /*音频输出打开关闭选择*/

sbit K3=P1^4; /*内外部晶振选择*/
sbit KEY=P1^1; /*'确认'按键*/
sbit LED=P0^7; /*可读数指示灯*/
/*命令字定义命令字是'命令模式'的低8 位数据*/
#define BIAS 0X52 /*定义1 3 偏压4 背极*/
#define XTAL32 0X28 /*使用外部晶振*/
#define RC256 0X30 /*使用内部256KRC 振荡器*/
#define SYSEN 0X02 /*打开振荡发生器*/
#define LCDON 0X06 /*打开LCD*/
#define SYSDIS 0X00 /*关闭振荡发生器*/
#define LCDOFF 0X04 /*显示关闭*/
#define TONE4 0X80 /*设置BZ 输出频率为4K*/
#define TONEON 0X12 /*打开BZ 音频输出*/
#define TONEOFF 0X10 /*关闭BZ 音频输出*/
#define CLRWDT 0X1c /*清零WDT*/
#define F1 0X40 /*WDT设置为4 秒溢出*/
#define IRQEN 0X10 /*IRQ 输出禁止*/
#define IRQDIS 0X00 /*IRQ 输出允许*/
#define WDTEN 0X0e /*打开WDT*/
#define WDTDIS 0X0a /*关闭WDT*/
#define TIMERDIS 0X08 /*关闭时基输出*/
/************************************************************
延时函数
函数原型: void Delay()
使用: SPI 操作的延时
**********************************************************/
void Delay()
{
uchar i;
for(i=0;i<10;i++); /*用于调整CLK 脉冲宽度*/
}
/*****************************************************
长延时函数
函数原型: void Delay1s()
使用: 长延时.....
******************************************************/
void Delay1s()
{
uchar i;
uint j;

for(i=0;i<10;i++)
for(j=0;j<1300;j++);
}
/*****************************************************
发送命令函数A类
函数原型: void SENDCOMA(uchar com)
使用: 发送还HT1621 命令时要先发送ID 值,及命令字用于设置HT1621.
*********************************************************/
void SENDCOMA(uchar com)
{
Start_spi();
SendBit(0X80,4); /*发送设置命令ID=100 0*/
SendByte(com); /*发送命令字*/
}
/******************************************************
发送命令函数B 类
函数原型: void SENDCOMB(uchar adr)
使用: 发送还HT1621 命令时要先发送ID 值,后发送要写入数据起始地址,
用于对RAM 写操作(调用此函数后即可发送数据) adr 是高5 位有效
*******************************************************/
void SENDCOMB(uchar adr)
{
Start_spi();
SendBit(0XA0,4); /*发送写显示RAM 命令ID=101 0*/
SendBit(adr,5); /*指定写入地址*/
}
/********************************************************
发送命令函数(C 类)
函数原型: void SENDCOMC(uchar com)
使用: 发送还HT1621 命令时要先发送ID 值.然后发送C 类的命令字
*******************************************************/
void SENDCOMC(uchar com)
{
Start_spi();
SendBit(0X90,4); /*发送命令ID=100 1*/
SendByte(com); /*发送命令字*/
}

/********************************************************
向显示缓冲区填充
原型: void disp(ucahr dat)
功能: 向显示缓冲区填充,以最简便的形式显示数据
***********************************************************/
void disp(uchar dat)
{
uchar i;
SENDCOMB(0x00); /*把数据指针指回0 接着写入数据*/
for(i=0;i<16;i++) /*写入16 字节数据*/
{
SendByte(dat); /*写入数据*/
}
}
/******************************************************
全显示的电流测量
可选择部件WDT 音频输出内部RC 外部晶振选择
时基输出关闭
******************************************************/
void DISP_ALL()
{
/*显示芯片初始化同时也是LCD 模块掉电唤醒程序*/
SENDCOMA(BIAS); /*设置偏压,背极数*/
/*选择晶振类型*/
K3=1;
if(K3==1)SENDCOMA(RC256); /*设为内晶振256K*/
else SENDCOMA(XTAL32);
/*启动LCD 振荡器*/
SENDCOMA(SYSEN); /*启动振荡器*/
Delay1s();
SENDCOMA(LCDON); /*显示使能*/
SENDCOMA(TIMERDIS); /*禁止时基输出*/
/*看门狗选择*/
K1=1;
if(K1==0)
{
SENDCOMC(F1); /*WDT设置为4S*/
SENDCOMA(WDTEN); /*打开WDT*/
SENDCOMA(CLRWDT); /*清零WDT*/

SENDCOMC(IRQEN); /*打开IRQ*/
}
else
{
SENDCOMC(IRQDIS); /*禁止IRQ*/
SENDCOMA(WDTDIS); /*禁止WDT溢出标志输出*/
}
/*音频输出选择*/
K2=1;
if(K2==0)
{
SENDCOMA(TONE4); /*音频输出设为4KHz*/
SENDCOMA(TONEON); /*打开音频输出*/
}
else SENDCOMA(TONEOFF); /*否则关闭音频输出*/
disp(0xff); /*输出全显数据*/
PT0AD=0x3e; /*SPI 接口数字输入功能禁止*/
P0M1=P0M1|0x3e; /*设SPI 口为仅为输入P0M2 对应位已经是0*/
LED=1; /*指示测量值可读*/
KEY=1; /*等待'确认'按键*/
while(KEY==1);
P0M1=P0M1&0xc1; /*设SPI 口为双向口*/
PT0AD=0x00;
LED=0; /*关LED 指示*/
while(KEY==0);
}
/*********************************************************
掉电测量部分
先把音频输出关闭再进入掉电方式
掉电后LCD 接口置为高阻态I O 口没有高阻态方式时应置为1
********************************************************/
void DISP_OFF()
{
SENDCOMA(TONEOFF); /*音频输出禁止*/
Delay1s();
SENDCOMA(LCDOFF); /*显示禁能*/
Delay1s();
SENDCOMA(SYSDIS); /*停止振荡器*/
P0M1=P0M1|0x3e; /*设SPI 口为仅为输入*/

PT0AD=0x3e; /*SPI 接口数字输入功能禁止*/
LED=1; /*指示掉电电流测量值可读*/
KEY=1;
while(KEY==1);
P0M1=P0M1&0xc1; /*设SPI 口为双向口*/
PT0AD=0x00;
LED=0;
while(KEY==0);
}
/****************************************************
主函数
原型: void main()
功能: 对KEY 不断查询若有按键则进行全显测量状态若再次按键则进入
掉电测量状态依次循环测量
**********************************************************/
void main()
{
P0M1=P0M1&0x7f; /*设LED 口为上拉输出*/
P0M2=P0M2|0x80;
while(1)
{
LED=0; /*关指示灯*/
DISP_ALL(); /*全显示测量*/
DISP_OFF(); /*掉电测量*/
}
}
头文件SPI.h
/****************************************************************
SPI.h
此头文件是对SPI 进行读写的一些基本函数用于对本公司水表等LCD 模块
驱动调试
************************************************************/
#define uchar unsigned char
extern void Delay(); /*器件驱动程序的延时程序*/
/*************************************************************/
名称: 发送数据位
原型: void SendBit(uchar dat,uchar bitcnt)
用途: 向SPI 发送dat 的bitcnt 位数据由高位开始.(bitcnt 不能大于8)
/***************************************************************/

void SendBit(uchar dat,uchar bitcnt)
{
uchar i;
for(i=0;i{
if(( dat & 0X80 ) == 0)
SDA_PORT = 0;
else
SDA_PORT = 1; /*发送数据由高位到低位传送*/
Delay();
CLK_PORT = 1; /*置时钟线为高通知被控器开始接收数位*/
Delay();
CLK_PORT = 0; /*钳住总线准备下一个数据位*/
dat=dat<<1; /*发送数据左移一位*/
}
}
/*************************************************************
起动spi
原型: void Start_spi()
作用: 起动spi,以便进行器件操作
************************************************************/
void Start_spi()
{
CS_PORT=1;
CLK_PORT=1;
SDA_PORT=1;
Delay();
CS_PORT=0; CS_PORT=0;
CLK_PORT=0; CLK_PORT=0;
}
/***************************************************************/
名称: 发送字节函数
原型: void SendByte(uchar dat)
用途: 向SPI 发送字节数据数据单元dat
/***************************************************************/
void SendByte(uchar dat)
{
SendBit(dat,8); /*发送字节*/
}

三测量数据
测量条件VDD 3.6V,测量时与LCD 接口的IO 口为高阻态电流表是Agilent 6 1/2(LCD模块的RD 及
IRQ 脚悬空) P87LPC764 采用片内振荡12 clock 内部上电复位看门狗禁止复位IO 口
为高电平掉电检测2.5V
注意事项与LCD 模块接口的IO CS WR DATA 平时应设置为高阻态若所用的单片机IO 没
有高阻态方式则应置为高电平状态若置为低电平LCD 模块电流会增加120uA 左右
(VDD=3.6V) 音频输出时功耗很大主要是蜂鸣器讯响器驱动电流应避免长时间输出
且进入掉电模式前一定要关掉音频输出退出掉电模式只要打开系统振荡器打开LCD 偏置
发生器即可但最好再次设置其工作方式由于要测量的电流值较小LCD 模块接口上VDD
和VSS 及其它各点焊接要注意焊锡不要态多尽量防止松香开成漏电回路
部分水表LCD 模块在各工作方式下的电流测量表

LCD模块数据表


关键字:LCD  液晶显示模块  功耗  测量方法 引用地址:LCD液晶显示模块功耗的测量方法

上一篇:液晶电视系统解决方案
下一篇:基于Genesis gm5020芯片的等离子彩电的设计

推荐阅读最新更新时间:2024-11-06 10:05

基于FPGA的高光效LCD投影机设计
引言 显示技术正朝着大屏幕、高清晰度、高亮度和高分辨率的方向发展。通常说来,将屏幕显示面对角线尺寸在1米(40英寸)以上的显示称为大屏幕显示。投影机作为一种重要的显示设备,已经广泛地应用到了金融、教育、企业、军事等多个领域,它所具有的大幅面、高清晰多媒体演示功能,使信息的传递具有更好的效果。目前,市面上的主流产品是三片式LCD投影机和DLP投影机,其中,三片式LCD投影机的市场份额高达三分之二。 然而,投影机的主要采购者绝大多数是政府部门、企业和高校。无论是三片式LCD投影机还是DLP投影机,其高昂的价格一直妨碍着投影机进入普通家庭。为了简化设备结构,降低成本,本文给出了一种基于FPGA的高光效单片彩色LCD投影机的设计方
[电源管理]
基于FPGA的高光效<font color='red'>LCD</font>投影机设计
莱迪思ECP5 FPGA实现低功耗周边嵌入式视觉系统
莱迪思半导体(Lattice)近日宣布ECP5 FPGA解决方案,应用于智能监控和汽车领域中的周边网络嵌入式视觉应用。莱迪思持续且更加地投入于工业和汽车市场,低功耗、小尺寸的ECP5 FPGA系列产品能够加速中央处理器(CPU),提供车牌辨识功能与影像增强功能,实现智能交通监控。此外,ECP5 FPGA还可提供进阶驾驶辅助系统(Advanced Driver Assistance System, ADAS)360度环景影像拼接以及3D连接功能。 莱迪思半导体产品营销总监Deepak Boppana表示,基于低功耗和小尺寸特性,该公司ECP5 FPGA为灵活的智能互联和加速应用,是周边网络的理想选择。随着周边网络应用的智能化程度不断
[半导体设计/制造]
s3c2440 LCD及触摸屏的学习笔记(2)
触摸屏是通过中断来实现的。我的程序是在sdram中运行的,要想正确的实现中断跳转,就要使MMU工作,实现物理地址与虚拟地址的映射,把虚拟地址0x00000000映射到物理地址0x30000000(sdram的首地址)。MMU相应的函数在2440slib.s中。 触摸屏可分为矢量压力传感式、电阻式、电容式、红外式和表面声波式等,我用的是最普遍的-四线电阻式。 s3c2440集成了4线制电阻式的触摸屏接口,触点坐标的检测是通过A/D转换来实现的。s3c2440提供8路A/D模拟输入,其中有4路是与触摸屏复用的,s3c2440比s3c2410改进的地方是片内部加入了开关用的MOS管,在设计电路时,直接将4路触摸屏引出外加一路基准电
[单片机]
面板厂瀚宇彩晶计划扩大LCD的产能
面板厂瀚宇彩晶(HannStar Display)计划投资170亿元新台币(约合6.074亿美元)以增加每月30000片玻璃基板的LCD面板产能,新产能预计将于2023年上线。 据《电子时报》报道,瀚宇彩晶的5.3G工厂目前每月可加工约130,000-140,000块玻璃基板,此次投资将是该工厂自2005年投产以来的首次扩产。 瀚宇彩晶表示,新产能将主要用于生产智能手机、可穿戴设备、平板电脑、工业控制和汽车所用的中、小尺寸面板,以及推动Mini/Micro LED的发展。 在宅经济的强劲需求下,IT面板的订单一直在增加,从而推高了价格。瀚宇彩晶预计第二季度毛利率或超过50%,其中中尺寸面板预期将贡献50%以上的收入。
[手机便携]
ZETAOTA远程升级功能,大大节约功耗,方便物联网部署
近日,纵行科技与 OTA 领域专业服务商艾拉比达成合作,将采用艾拉比差分 OTA 远程升级解决方案升级 ZETA 服务。通过搭载 OTA 升级,海量的 ZETA 系列产品均可通过远程协作方式进行自我诊断、升级与维护,在降低终端设备维护成本的同时推动 ZETA 无线通讯技术在物联网应用的加速落地和敏捷迭代,助力 ZETA 生态高效智能化运营。 ZETA OTA 远程升级 OTA 是“Over The Air”的缩写,意思为“空中推送升级”或者“远程升级”。随着智能网联化的发展,OTA 也应用到了更多的设备以及场景中。智能化的一个特点就是为用户提供更多的产品功能、增加用户体验,终端设备会不断的升级,这样也让 OTA 这种空
[网络通信]
ZETAOTA远程升级功能,大大节约<font color='red'>功耗</font>,方便物联网部署
昆泰发布三款低功耗视频芯片CH7033
    昆泰集成电路作为全球领先的视频接口技术供应商,今天发布了三款低功耗视频芯片,适用于移动互联网设备,笔记本,平板电脑,便携式电子书和智能手机。CH7033,CH7034和CH7035,被精心设计于支持和包括主流ARM架构移动处理器在内各种主处理器的无缝连接,可以转换和发送多种格式视频给各种系统外部显示设备,数字电视和嵌入式显示器   CH7033是一款视频编码器,设计应用于通过HDMI,DVI,YPbPr和VGA接口驱动系统外部高清视频显示设备。其中,HDMI/DVI输出可以和VGA/YPbPr输出管脚复用,并可以通过软件控制切换。CH7034设计应用于集成LVDS嵌入式显示设备的移动系统,嵌入式显示设备通过活页连接到系统中。
[手机便携]
linux中LCD设备驱动(1)——framebuffer(帧缓冲)
1、framebuffer 帧缓冲 帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。 framebuffer机制模仿显卡的功能,将显卡硬件结构抽象为一系列的数据结构,可以通过framebuffer的读写直接对显存进行操作。用户可以将framebuffer看成是显存的一个映像,将其映射到进程空间后,就可以直接进行读写操作,写操作会直接反映在屏幕上。 framebuffer是个字符设备,主设备号为29,对应于/de
[单片机]
linux中<font color='red'>LCD</font>设备驱动(1)——framebuffer(帧缓冲)
三星HBM-PIM芯片问市,功耗可降低70%
三星宣布,其新的基于HBM2的内存具有集成的AI处理器,该处理器可以提供最高达1.2 TFLOPS的嵌入式计算能力,从而使内存芯片本身能够执行通常由CPU,GPU,ASIC,或FPGA处理的工作。 新的HBM-PIM(processing-in-memory)芯片将AI引擎注入每个存储体中,从而将处理操作转移到HBM本身。新型的内存旨在减轻在内存和处理器之间移动数据的负担,因为这个操作带来的功耗和时间比实际的计算操作更为昂贵。 三星表示,将其应用于现有的HBM2 Aquabolt内存后,该技术可以提供两倍于系统的性能,同时将能耗降低70%以上。该公司还声称,新内存不需要任何软件或硬件更改(包括对内存控制器的更改),从而为早
[嵌入式]
三星HBM-PIM芯片问市,<font color='red'>功耗</font>可降低70%
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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