LCD简括

1. LCD显示屏

1.1 LCD简介

1.1.1 LCD是什么??

LCD就是液晶显示器,其实本质就是灯,无数的灯组成的,每个灯如果只有两种颜色就是黑白,如果颜色较多就是彩屏。

1.1.2 LCD有什么用?

显示图形图像。

1.1.3 LCD如何使用?

点亮指定位置的灯组合成图形图像。

怎么点亮?0x2C之后写入RGB颜色

怎么指定位置?0x2A+0x2B

显示器肯定与主控连接,主控发送数据给它。

1.2 LCD资料

1.2.1 LCD原理图

从上面可以看到只有五条线有用,其中有一条是复位,我们需要了解其它四条是什么。

  • LCD屏幕的尺寸:1.3英寸。
  • LCD屏幕分辨率:240*240。
  • LCD屏幕颜色位深:16BPP(颜色RGB比例:5:6:5)。
  • LCD驱动接口:4线SPI。
  • 硬件接口
    1. LCD_CS:片选PB4。
    2. D/C:命令/数据PD2。
    3. SCLK:同步时钟线。
    4. RST:TFTLCD硬复位。
    5. SDI:数据线,写入数据。
    6. LEDK:LCD液晶屏背光灯PA15。

又是SPI,哈哈哈o(* ̄▽ ̄*)ブ。

 

1.3 LCD操作流程

  • LCD初始化:引脚初始化、SPI初始化、屏幕参数配置(直接找产商)
  • SPI收发数据
  • LCD显示数据和指令发送:0x2A、0x2B、0x2C

1.3.1 引脚初始化

 PA15(背光,高电平有效)和PB4(片选,我们这里使用一直拉低)、以及PD2(数据命令端,0是命令、1是数据)

​​​​​​​1.3.2 SPI初始化

​​​​​​​1.3.3 SPI收发数据

 

​​​​​​​1.3.4 LCD发送数据

 

​​​​​​​1.3.5 屏幕参数配置

 

LCD_BLK = 1;	//打开背光
	delay_ms(100);
	
	//************* Start Initial Sequence **********//
	LCD_WR_DATA(0x11,LCD_CMD,8); //Sleep out 
	delay_ms(120);              //Delay 120ms 
	//************* Start Initial Sequence **********// 
	LCD_WR_DATA(0x36,LCD_CMD,8);
	LCD_WR_DATA(0x00,LCD_DATA,8);

	LCD_WR_DATA(0x3A,LCD_CMD,8);
	LCD_WR_DATA(0x05,LCD_DATA,8);

	LCD_WR_DATA(0xB2,LCD_CMD,8);
	LCD_WR_DATA(0x0C,LCD_DATA,8);
	LCD_WR_DATA(0x0C,LCD_DATA,8);
	LCD_WR_DATA(0x00,LCD_DATA,8);
	LCD_WR_DATA(0x33,LCD_DATA,8);
	LCD_WR_DATA(0x33,LCD_DATA,8);

	LCD_WR_DATA(0xB7,LCD_CMD,8);
	LCD_WR_DATA(0x35,LCD_DATA,8);  

	LCD_WR_DATA(0xBB,LCD_CMD,8);
	LCD_WR_DATA(0x19,LCD_DATA,8);

	LCD_WR_DATA(0xC0,LCD_CMD,8);
	LCD_WR_DATA(0x2C,LCD_DATA,8);

	LCD_WR_DATA(0xC2,LCD_CMD,8);
	LCD_WR_DATA(0x01,LCD_DATA,8);

	LCD_WR_DATA(0xC3,LCD_CMD,8);
	LCD_WR_DATA(0x12,LCD_DATA,8);   

	LCD_WR_DATA(0xC4,LCD_CMD,8);
	LCD_WR_DATA(0x20,LCD_DATA,8);  

	LCD_WR_DATA(0xC6,LCD_CMD,8);
	LCD_WR_DATA(0x0F,LCD_DATA,8);   

	LCD_WR_DATA(0xD0,LCD_CMD,8);
	LCD_WR_DATA(0xA4,LCD_DATA,8);
	LCD_WR_DATA(0xA1,LCD_DATA,8);

	LCD_WR_DATA(0xE0,LCD_CMD,8);
	LCD_WR_DATA(0xD0,LCD_DATA,8);
	LCD_WR_DATA(0x04,LCD_DATA,8);
	LCD_WR_DATA(0x0D,LCD_DATA,8);
	LCD_WR_DATA(0x11,LCD_DATA,8);
	LCD_WR_DATA(0x13,LCD_DATA,8);
	LCD_WR_DATA(0x2B,LCD_DATA,8);
	LCD_WR_DATA(0x3F,LCD_DATA,8);
	LCD_WR_DATA(0x54,LCD_DATA,8);
	LCD_WR_DATA(0x4C,LCD_DATA,8);
	LCD_WR_DATA(0x18,LCD_DATA,8);
	LCD_WR_DATA(0x0D,LCD_DATA,8);
	LCD_WR_DATA(0x0B,LCD_DATA,8);
	LCD_WR_DATA(0x1F,LCD_DATA,8);
	LCD_WR_DATA(0x23,LCD_DATA,8);

	LCD_WR_DATA(0xE1,LCD_CMD,8);
	LCD_WR_DATA(0xD0,LCD_DATA,8);
	LCD_WR_DATA(0x04,LCD_DATA,8);
	LCD_WR_DATA(0x0C,LCD_DATA,8);
	LCD_WR_DATA(0x11,LCD_DATA,8);
	LCD_WR_DATA(0x13,LCD_DATA,8);
	LCD_WR_DATA(0x2C,LCD_DATA,8);
	LCD_WR_DATA(0x3F,LCD_DATA,8);
	LCD_WR_DATA(0x44,LCD_DATA,8);
	LCD_WR_DATA(0x51,LCD_DATA,8);
	LCD_WR_DATA(0x2F,LCD_DATA,8);
	LCD_WR_DATA(0x1F,LCD_DATA,8);
	LCD_WR_DATA(0x1F,LCD_DATA,8);
	LCD_WR_DATA(0x20,LCD_DATA,8);
	LCD_WR_DATA(0x23,LCD_DATA,8);
	LCD_WR_DATA(0x21,LCD_CMD,8); 

	LCD_WR_DATA(0x29,LCD_CMD,8);

​​​​​​​1.3.6 屏幕显示

显示位置设置:0x2A和0x2B

颜色的组成是RGB,屏幕是16位真彩,所以选择的比例是5:6:5。

什么意思呢,比如说你随机取色RGB为255:120:64,5: 6:5就是分别取这三个数的高五位、高6位、高五位,然后拼成16位酱紫......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值