QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1852|回复: 11

彩色LCD的颜色显示问题:256色为什么只用3位?

[复制链接]
发表于 2005-11-10 21:58:14 | 显示全部楼层 |阅读模式
我正在一块640x480、256色的lcd屏写驱动,第一次写,很多地方不明白。
从时序图看出,一个象素只用了3位,R、G、B各一位。只用了3位那这256种颜色是怎样调出来的呢?屏幕型号:SX19v001-ZZB

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2005-11-11 11:12:18 | 显示全部楼层
D0到D7,8位。
回复

使用道具 举报

 楼主| 发表于 2005-11-11 15:53:02 | 显示全部楼层
D7 D6 D5是一个像素,D4 D3 D2是下一个像素,D1 D0和下一个D7是第三个像素,依此类推,所以8位并不是一个像素的,而是多个像素,也就是8个像素用3个字节,每个像素用3位。
回复

使用道具 举报

发表于 2005-11-14 10:16:46 | 显示全部楼层
这个是资料上明确说的还是你自己推测的?

按这张图,就是指D0-D7为颜色的数据,再说你只是编程的话,大可只管显示缓冲区,不必理会具体的刷新过程是什么,那是驱动芯片的事。
回复

使用道具 举报

 楼主| 发表于 2005-11-14 11:38:15 | 显示全部楼层
不是我猜的,上面写得很清楚啊,这是原始的时序图。
回复

使用道具 举报

发表于 2005-11-15 14:23:48 | 显示全部楼层
光看图,似乎不能理解为“D7 D6 D5是一个像素,D4 D3 D2是下一个像素,D1 D0和下一个D7是第三个像素”,有明确的文字说明吗?

还是把详细的贴上来吧,图上X1到Y0-Y1920指什么?
回复

使用道具 举报

 楼主| 发表于 2005-11-15 21:56:17 | 显示全部楼层
一行是640个像素,一个像素3个点RGB,共1920个,y1到y1920就是一行的所有的点。y1,y2,y3就是第一点的rgb,y4,y5,y6就是第二点的rgb,依此类推,明白?
回复

使用道具 举报

发表于 2005-11-16 11:55:40 | 显示全部楼层
  看来你这张果然是液晶驱动芯片的时序图,写液晶驱动程序完全可以不管它。

  其实液晶驱动程序主要的工作,就是各种参数的设置和显示缓冲区的修改,当然还有注册设备等等。设置好后,驱动芯片自动根据设置的参数将显示缓冲区的图象刷到液晶屏上,通过修改缓冲区修改显示的图象。
  至于驱动芯片的具体工作过程,对写驱动而言没多大作用。
回复

使用道具 举报

 楼主| 发表于 2005-11-16 12:07:47 | 显示全部楼层
你说的是有驱动电路情况,但我现在不想用驱动电路,直接用io模拟出液晶所需的时序。这个问题到此打住,我找一个驱动板先让lcd工作起来,然后用示波器一看就明白。
回复

使用道具 举报

发表于 2005-11-16 17:22:55 | 显示全部楼层
不想用驱动电路,直接 用IO?

难道你想把液晶的所有操作都交给处理器?
强烈建议不要这么干。
回复

使用道具 举报

 楼主| 发表于 2005-11-16 18:35:10 | 显示全部楼层
为什么
回复

使用道具 举报

发表于 2005-11-17 10:49:34 | 显示全部楼层
  现在好些32位的微处理器都是自带LCD控制器,设好参数,写好缓冲,一切交LCD控制器去做。

  如果要用IO去做的话,以你的为例,640*480=307200,30万多一点,每一个点都需要送数据到液晶屏幕,还有行刷新信号和列刷新信号都需要驱动去产生。
不知道你液晶的具体情况,如果遇到只能按顺序刷各个点的液晶,哪怕只改一个点的显示,都得把整个屏幕刷一次,
  另外并不是刷一次,等下一次改变显示的时候再刷那么简单。
  凭记忆说说,就有还需要给液晶屏一定频率的时钟脉冲、刷新脉冲这些活。如果运气不好的话,甚至要求不停刷新液晶屏。具体的要翻液晶的介绍。
  况且驱动是在内核空间运行,这么多操作,这么多时钟信号,如果调的不好,整个系统都要出毛病。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 19:15 , Processed in 0.054732 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表