1.8寸TFT屏幕的使用(一)——初始化、画点、颜色填充

一、引脚介绍

1.8寸TFT屏幕除去电源引脚还有6个引脚,分别为SCL、SDA、RST、DC、CS、BLK。

SCL:液晶屏SPI总线时钟信号

SDA:液晶屏SPI总线数据写信号

RST:液晶屏复位控制信号,为0则复位。

DC :液晶屏数据/命令控制信号,1为数据,0为命令

CS :液晶屏片选控制信号,0为片选开启

BLK:液晶屏背光控制信号,1为开启背光,0为关闭背光

这里附上我的接线图:         由于1.8寸的TFT使用的是SPI的时序,但其好像又好像有不同,细看之下还是一样的。这里的SDA是液晶屏SPI总线数据写信号,是由主机控制的,是不是很熟悉,不就是SPI的MOSI么?其中SCK为时钟线引脚,那么唯一便是少了MISO(我们不需要读数据)。

二、 时序介绍

        由于没有MISO引脚,也就是我们根本用不到读,所以就没有读时序。上图便是其写时序了,SDA在SCL的上升沿采样(高位先行),在SCL低电平数据变化;初始时SCL为低电平,第一个边沿采样,也就是(CPOL = 0、CPHA = 0)不就是相当于舍弃了读数据的SPI的模式0么?对于SPI时序这里就不作介绍了,可以参考我的文章:协议篇之SPI通信(软件篇)

2.1 SPI引脚初始化

2.1.1 引脚的定义:

        (DC是控制写的是数据还是命令的,正常的SPI是先发寄存器在发要写的数据,这里直接用这个线代替)

#define TFT_MOSI_PORT       GPIOA
#define TFT_MOSI_PIN        GPIO_Pin_7
#define TFT_SCK_PORT        GPIOA
#define TFT_SCK_PIN         GPIO_Pin_5
#define TFT_NSS_PORT        GPIOB
#define TFT_NSS_PIN         GPIO_Pin_7
#define TFT_DC_PORT         GPIOB
#define TFT_DC_PIN          GPIO_Pin_6

#define TFT_MOSI(x)  TFT_MOSI_PORT->BSRR = TFT_MOSI_PIN<<(16*(!x))
#define TFT_SCK(x)   TFT_SCK_PORT->BSRR = TFT_SCK_PIN<<(16*(!x))
#define TFT_NSS(x)   TFT_NSS_PORT->BSRR = TFT_NSS_PIN<<(16*(!x))
#define TFT_DC(x)    TFT_DC_PORT->BSRR = TFT_DC_PIN<<(16*(!x))

2.1.2 引脚初始化

由于这些全是由主机控制的,所以全初始化为推挽输出模式:

void lcd_spi_init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;//定义一个GPIO_InitTypeDef类型的结构体
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值