首页 > 其他分享 >LCD显示器 --- 8080接口 和 RGB接口 的区别

LCD显示器 --- 8080接口 和 RGB接口 的区别

时间:2024-04-19 21:11:56浏览次数:39  
标签:控制器 8080 LCD 接口 像素 RGB 数据

主要介绍LCD显示的基本原理,涉及像素、分辨率、颜色模型、RGB888等格式、Framebuffer、8080接口、RGB接口。

1.LCD显示出图片的基本原理

LCD作为显示器,它的显示原理和图片是一样的。

图片可以看作由一个一个点(即像素pixel)组成。每行有xres个像素,有yres行,则这个图片的分辨率(resolution)是:xres * yres。

同理,LCD屏幕也是由一个个像素点组成,若要显示一张相同分辨率的图片即把LCD上和图片对应位置的像素修改成同样的颜色。

我们现在的目标变成了修改LCD上一个点的颜色。怎么表示颜色?肯定是发数据给LCD,所以问题变成数据和颜色之间是什么关系?

2.颜色基本知识

颜色有很多颜色模型,这方面我不是专业的,但是只需要知道,颜色模型相当于用不同的格式来描述一个颜色。常见的有RGB、YUV、HSV、HSI等。最常用的为RGB,我们从RGB入手。

RGB模型用红绿蓝三原色来描述一个颜色,所有颜色都是红绿蓝混合而成。

所以你可以认为一个像素点上包含了RGB三种数据。三个数据合一即一个像素点上的数据。这个数据是多少位的?这就出现了一个概念:bpp(bits per pixel),每个像素用多少位来表示。

可以用24位数据来表示红绿蓝,也可以用16位(还有其他),比如:

24bpp:RGB888实际上会用到32位,其中8位未使用,其余24位中分别用8位表示红(R)、绿(G)、蓝(B)

16bpp:有RGB565,RGB555

  • RGB565:用5位表示红、6位表示绿、5位表示蓝
  • RGB555:16位数据中用5位表示红、5位表示绿、5位表示蓝,浪费一位

 现在知道了数据和颜色之间的关系,数据如何到像素上?

3.Framebuffer和LCD控制器

前面已知,让LCD显示图片,就是修改LCD上的每一个像素。全部LCD像素数据合起来存储的地方(也不一定是全部,总之就是存储了数据)叫做Framebuffer,frame为帧,一幅图片可叫做一帧,buffer为缓存。

LCD控制器(LCD Controller)从Framebuffer中取出数据,修改LCD。

所以要驱动LCD有一个工作就是设置LCD控制器。先不讲怎么设置,假设我们会设置了。

4.两大类LCD

Framebuffer可以在LCD内,也可以在外部,这就使得LCD分成了两大类。

一类适用于性能弱的单片机如stm32f1、51,称为LCD模组(LCM):

它集成了Framebuffer,LCD控制器,LCD屏幕

 一类适用于性能强的MPU\SOC如S3C2440、IMX6ULL,它只有LCD屏幕,LCD控制器在SOC内,Framebuffer可能是外接的内存。

 显然,构造不一样,LCD和芯片之间接口肯定不一样,LCM和单片机通信的接口一般为8080接口。LCD屏幕和SOC通信的接口一般为RGB接口

5.LCD接口

介绍两种常用的接口

5.18080接口

对于LCM的接口8080非常简单,就和内存差不多。

需要读数据,所以有一个读信号RD;

需要写数据,所以有一个写信号WR;

需要分辨这个模组和其他东西,所以有一个片选信号CS;

需要传输数据,需要数据线DB0-DB15,

需要分辨传输的地址,所以需要地址线,但是地址线和数据线共用,通过RS信号来分辨DB0-DB15上传输的是地址还是数据。

 

5.2RGB接口

RGB接口即LCD控制器和LCD屏幕之间的接口。可以把原理认为是LCD控制器去一个一个修改像素。

修改了一个像素后需要知道什么时候切换下一个像素,所以有点时钟信号DCLK;

需要知道什么时候改完了一行像素(因为要到下一行去),所以有水平方向同步信号HSYNC(Horizontal Synchronization);

需要知道什么时候全部改完(因为改完要回到第一个位置),所以有垂直方向同步信号VSYNC(Vertical Synchronization);

需要有数据,所以有RGB三组线;

在切换的时候(切换到下一行,切换到首位置)时数据无效,所有需要数据使能信号DE。

 

看似比较复杂,其实也就是设置LCD控制器。

到这我们就明白了,无论是哪一类的LCD,我们需要做的工作是,设置LCD控制器,准备数据。根据不同LCD有不同的驱动方式和数据格式,得根据LCD的手册来确定,在今后的文章中将给出具体例子。

最后附上所有知识点思维导图

 

标签:控制器,8080,LCD,接口,像素,RGB,数据
From: https://www.cnblogs.com/god-of-death/p/18146782

相关文章

  • APP阿里云一键取号 (一键登陆)php接口-- (阿里云号码认证服务)
    #通过composer安装阿里云SDK"alibabacloud/dypnsapi-20170525":"^1.1.2","alibabacloud/darabonba-openapi":"^0.2.10","alibabacloud/tea-console":"^0.1.0","alibabacloud/tea-utils":"^0......
  • AXIOS的封装拦截以及API接口管理详解
    在我们做vue项目时,使用axios请求数据已经是司空见惯了,它是基于promise的http库,可以运行在浏览器和nodejs中,其实他有很多的优秀特性,例如,请求拦截,响应拦截,以及取消请求,json转换,客户端防御XSRF等,所以尤大大直接推荐我们使用axios库。我们先看axios如何封装,首先我在src下创建requestj......
  • 5 步轻松上手,教你从 0 到 1 落地 Jmeter 接口自动化脚本!
    Jmeter是进行接口测试的一款非常主流的工具,但绝大部分测试工程师,对于Jmeter接口测试脚本整理都是一知半解的。今天这篇文章,就以一个金融项目中接口为例,通过简单5步,教大家如何0代码编写Jmeter接口自动化脚本!0、金融项目接口1、登录接口信息  2、新增投资项目接口信息 ......
  • 若依框架中配置使得每次打包不修改前端访问接口IP和端口
    1.添加配置文件配置文件中的数据和application.yml中的context-path保持一致 2.添加配置代码<scripttype="text/javascript">document.write("<scriptsrc='./static/config.js?v="+newDate().getTime()+"'><\/script>");&......
  • YUV420 转RGB图像
     YUV420转RGB图像      在数字图像处理种YUV格式也是我们经常遇到,与RGB一样也是一种编码格式,开始主要用于电视系统以及模拟视频领域。YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色......
  • redis+lua脚本实现接口限流
    写在前面在多线程的情况下对一个接口进行访问,如果访问次数过大,且没有缓存存在的情况下大量的请求打到数据库可能会存在数据库宕机,从而造成服务的不可用性。往往我们需要对其进行限流操作用来保证服务的高可用性,以下介绍下redis限流如何使用。lua脚本Lua是一种轻量小巧的脚本语......
  • Service 层和 Dao 层真的有必要每个类都加上接口吗?
    引言Service层和Dao层是否有必要为每个类都加上接口,这是一个在软件开发中常被讨论的问题,且答案往往取决于具体项目的实际需求、技术选型、团队协作方式、未来可扩展性及维护成本等因素。以下是支持使用接口和认为可以酌情省略接口的几种观点:支持为每个类添加接口的观点:扩......
  • 08-接口文档和JWT
    接口文档楔子接口文档对于协调前后端开发非常重要,可以避免因为开发习惯不同而导致的意外情况。在项目中,如果前后端开发各自为战,可能会出现不一致的情况。因此,接口文档可以约束双方,确保他们按照统一的规范进行开发,从而提高协同开发的效率和一致性。规范接口文档一般包括以下内......
  • 异常处理、接口文档、 jwt介绍、
    【异常处理详见excel的异常处理的源码总结】#APIView--->dispatch--->三大认证,视图类的方法,如果出了异常,#会被异常捕获,捕获后统一处理#关键就是dispatch里面的response=self.handle_exception(exc)这行代码#drf内置了一个函数,只要上面过程出了异常,就会执行这个函......
  • TS — 接口
    TS接口通常指的是TypeScript接口,它是TypeScript中用来描述对象的形状的一种方式。接口可以定义对象的结构,包括属性、方法和方法的参数类型以及返回值类型。1.定义接口:interfacePerson{name:string;age:number;greet():void;}2.使用接口:functiongreet......