[活动专区] 【N32G430开发板试用】+ST7789V液晶屏点亮显示(软件模拟SPI)

[复制链接]
970|3
 楼主| wuxiubo 发表于 2022-8-13 19:56 | 显示全部楼层 |阅读模式

@安小芯

今天先尝试下先移植显示ST7789V液晶显示,还是先建立我们自己的库,后期添加啥也方便。

图片1.png

我选择的这款就是来自之前稚晖君的一个开源项目买剩下的,焊接式所以需要自己改动下,做个小板子即可。

  1. void LCD_GPIO_Init(void)



  2. {



  3.        GPIO_InitTypeDef  GPIO_InitStructure;



  4.       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    //使能A端口时钟



  5.        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;   



  6.       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;         //推挽输出



  7.        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz



  8.       GPIO_Init(GPIOA, &GPIO_InitStructure);      //初始化GPIOA



  9.       GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4);



  10. }

软件模拟的相对简单很多,需要搞定延时函数和GPIO初始化即可。

  1.       LCD_GPIO_Init();//初始化GPIO



  2.       



  3.        LCD_RES_Clr();//复位



  4.        delay_ms(100);



  5.        LCD_RES_Set();



  6.        delay_ms(100);



  7.       



  8.        LCD_BLK_Set();//打开背光



  9.        delay_ms(100);



  10.       



  11.        //************* Start Initial Sequence **********//



  12.        LCD_WR_REG(0x11); //Sleep out



  13.        delay_ms(120);              //Delay 120ms



  14.        //************* Start Initial Sequence **********//



  15.        LCD_WR_REG(0x36);



  16.        if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x00);



  17.        else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC0);



  18.        else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x70);



  19.        else LCD_WR_DATA8(0xA0);







  20.        LCD_WR_REG(0x3A);



  21.        LCD_WR_DATA8(0x05);







  22.        LCD_WR_REG(0xB2);



  23.        LCD_WR_DATA8(0x0C);



  24.        LCD_WR_DATA8(0x0C);



  25.        LCD_WR_DATA8(0x00);



  26.        LCD_WR_DATA8(0x33);



  27.        LCD_WR_DATA8(0x33);







  28.        LCD_WR_REG(0xB7);



  29.        LCD_WR_DATA8(0x35);  







  30.        LCD_WR_REG(0xBB);



  31.        LCD_WR_DATA8(0x19);







  32.        LCD_WR_REG(0xC0);



  33.        LCD_WR_DATA8(0x2C);







  34.        LCD_WR_REG(0xC2);



  35.        LCD_WR_DATA8(0x01);







  36.        LCD_WR_REG(0xC3);



  37.        LCD_WR_DATA8(0x12);   







  38.        LCD_WR_REG(0xC4);



  39.        LCD_WR_DATA8(0x20);  







  40.        LCD_WR_REG(0xC6);



  41.        LCD_WR_DATA8(0x0F);   







  42.        LCD_WR_REG(0xD0);



  43.        LCD_WR_DATA8(0xA4);



  44.        LCD_WR_DATA8(0xA1);







  45.        LCD_WR_REG(0xE0);



  46.        LCD_WR_DATA8(0xD0);



  47.        LCD_WR_DATA8(0x04);



  48.        LCD_WR_DATA8(0x0D);



  49.        LCD_WR_DATA8(0x11);



  50.        LCD_WR_DATA8(0x13);



  51.        LCD_WR_DATA8(0x2B);



  52.        LCD_WR_DATA8(0x3F);



  53.        LCD_WR_DATA8(0x54);



  54.        LCD_WR_DATA8(0x4C);



  55.        LCD_WR_DATA8(0x18);



  56.        LCD_WR_DATA8(0x0D);



  57.        LCD_WR_DATA8(0x0B);



  58.        LCD_WR_DATA8(0x1F);



  59.        LCD_WR_DATA8(0x23);







  60.        LCD_WR_REG(0xE1);



  61.        LCD_WR_DATA8(0xD0);



  62.        LCD_WR_DATA8(0x04);



  63.        LCD_WR_DATA8(0x0C);



  64.        LCD_WR_DATA8(0x11);



  65.        LCD_WR_DATA8(0x13);



  66.        LCD_WR_DATA8(0x2C);



  67.        LCD_WR_DATA8(0x3F);



  68.        LCD_WR_DATA8(0x44);



  69.        LCD_WR_DATA8(0x51);



  70.        LCD_WR_DATA8(0x2F);



  71.        LCD_WR_DATA8(0x1F);



  72.        LCD_WR_DATA8(0x1F);



  73.        LCD_WR_DATA8(0x20);



  74.        LCD_WR_DATA8(0x23);



  75.        LCD_WR_REG(0x21);







  76.        LCD_WR_REG(0x29);



  77. }


初始胡基本就是配置屏幕内置芯片ST7789V这个芯片参数,通过发送多个数据到其寄存器中即可完成初始化了。

图片2.png

在其驱动中我们可以显示各种内容,这里初始化之后显示的就是一些文字,数字,图片这些。还可以绘制一些图形,如矩形,正方形,圆形等等。

图片3.jpg

图片4.jpg

后续我们再添加一些功能,显示一些东西在这个液晶屏上。

1988020566 发表于 2022-12-3 12:06 | 显示全部楼层
这个的驱动速度很快的吗?              
chenci2013 发表于 2022-12-3 12:54 | 显示全部楼层
彩色屏幕的用来显示还是比较棒的。
phoenixwhite 发表于 2022-12-6 16:51 | 显示全部楼层
ST7789V是否支持5V的输入电压呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

259

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部