基于单片机的GBLED背光源设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘 要:为设计背光源提出了一种解决方案。根据三原色原理,利用单片机作为控制元件、结合NCP 5623三原色控制芯片,设计了一种RGB LED背光源。对于NCP 5623的控制所用的I2 C总线的实现上,采取利用单片机任意2个通用I/O管脚和NCP两5623的I2 C引脚连接,作为I2 C总线,通信协议实现上采用软件模拟的方式,且单片机作为控制单元,只需实现最小系统的功能。这种方式简化了设计,节约了I2 C总线主控制器器件,降低了成本。在软件设计上,在此给出了软件模拟I2 C协议方式下的NCP 5623每一个功能的实现程序模板,给出了NCP 5623应用的一种通用方法,组合使用可实现三原色及亮度可调的基本功能。对教学和实践都有深刻意义。   0 引 言   液晶显示器(LCD)是光调制器件,自身并不发光,所以为了可以清楚地看到透射式液晶显示器的显示内容,需要给液晶屏匹配一个背光源。目前的背光模组一般使用冷阴极管(CCFL)为光源,包含了红、绿、蓝等各色光的频率。CCFL因辉度高、成本低廉、技术成熟等优点被广泛的运用在平板显示器上。随着发光二极管(LED)亮度的改善,LED背光模组显示出CCFL无法比拟的优点,如色彩还原性好、寿命长、不含汞、有利于环境保护,这些使其成为LCD背光模组中的研究热点。LED背光模组的设计主要包括光学结构设计,驱动电路设计以及程序设计,显示性能主要表现在亮度、色度、均匀性等方面。本文将从驱动电路和软件设计的角度进行阐述,讲述了设计所采用的元器件、硬件原理及其软件编程,详细地探讨了RGB LED背光源的设计方案。   1 硬件设计   本设计采用单片机作为LED的控制核心器件,选用NCP 5623实现LED背光源的静态显示。单片机主要实现的功能是通过I2C协议控制NCP 5623芯片,NCP 5623根据单片机发送的命令调节3种颜色的LED的亮度从而达到背光的效果。NCP 5623是安森美半导体日前推出的高能效3路输出LED驱动器,带有I2C接口,并且内置渐进调光功能,3路LED可独立控制,总LED电流9可达0mA,并且是一种无铅器件。   该器件特别适用于驱动手机和MP3播放器等便携产品中的3色RGB(红、绿、蓝)LED装饰光和增强型LCD背光。硬件结构图如图1所示。      图1 三原色LED驱动硬件结构图   2 软件设计   NCP 5623是接受单片机的命令而产生动作,单片机给NCP 5623芯片发送指令是通过I2C总线,两者之间通过I2C协议进行通信。I2C总线的实现可以有多种方法,而对于本文的情况,速率不是问题的重点,所以采取一般的单片机用某两个普通I/O 口模拟I2C 总线。对于单片机模拟I2C总线已经非常成熟,只要根据以往的程序根据自己的需要略加修改即可。对于背光光源来说,主要调整三原色之间的亮度比例和根据自己的需要进行总体亮度调节,这些都可以通过NCP 5623所提供的命令实现,所以只要掌握了这些指令传输的程序实现,可以自己根据需要组合实现自己想要的功能,下面就给出NCP 5623各个命令的子程序实现。   NCP 5623能实现的功能如表1。   表1 NCP 5623编程序列图      该表的$70代表NCP 5623的I2C器件写地址。 对于NCP 5623来讲没有读操作。该器件的命令为1个字节,它可以被认为是I2C传输的内容部分。该字节最高3位用来表征命令,后面5位用来表征命令的参数,比如001表示对3个LED亮度同时进行控制,而后面5位则表示亮度。下面是每个命令的子程序实现,I2C_Start()是启动I2C总线读写函数,I2C_Stop()是停止I2C传输函数,writeByte()是传输数据函数。每个命令的实现开头都应该有I2C_Start()启动传输,最后应该有I2C_Stop()停止I2C总线活动。   灯灭命令实现:   bit tempbit;   tempbit=0;   I2 C_Start();   writeByte(0x70);   tempbit=checkAck();   writeByte(0x00);   tempbit=checkAck();   I2 C_Stop();   为了节约篇幅,下面的程序省略I2C_Start();I2C_Stop()和每个writeByte()函数后面的tempbit =checkAck()。   同时控制3个灯的亮度命令模板:   writeByte(0x70);   writeByte(value); //value可取0x20-0x3f   控制红灯的亮度命令模板:   writeByte(0x70);   writeByte(value); //value可取0x40-0x5f   I2 C_Stop

文档评论(0)

135****6041 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档