STC8硬件SPI方式驱动1.8“ ST7735S显示示例

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STC8硬件SPI方式驱动1.8“ ST7735S显示示例相关的知识,希望对你有一定的参考价值。

STC8硬件SPI方式驱动1.8" ST7735S显示


  • 🌿采用的是1.8寸TFT LCD128X160 ST7735S SPI串口屏
  • 🌿采用的单片机:STC8H8K64U
  • 🔖采用的屏幕:

✨在采用STC8H8K64U或者是stc32G12k128单片机时注意切换硬件SPI引脚组。因为以上两个型号单片机没有P12引脚。

  • 📚屏幕驱动资料:

✨以下是由中景园提供的,里面包含了:

链接:https://pan.baidu.com/s/10G6apA8plumMz1A8FLoGhg
提取码:1111

  • 📌另外相关的资料参考:http://www.lcdwiki.com/
  • 📌提供网盘资源链接:

链接: https://pan.baidu.com/s/1uWvP2M0fhoVnpsmKW8uDEA
提取码: 8gh6

STC硬件SPI方式驱动程序说明

程序来自1.8寸SPI模块配套资料包:

  • 📑引脚接线

定义在lcd.h头文件中

//STC8H8K64U(没有P12)SPI切换到2组引脚 IO连接//SS_4/P3.5, MOSI_4/P3.4, MISO_4/P3.3, SCLK_4/P3.2 
sbit LCD_RS = P3^6;  		 //数据/命令切换,DC
sbit LCD_SDI = P3^4;		  //SPI写,SDA
sbit LCD_SDO = P1^6;		     //SPI读(没有此引脚,可不接)
sbit LCD_CS = P3^5;		//片选	
sbit LCD_CLK = P3^2;   //SPI时钟,SCK
sbit LCD_RESET = P3^7;	   //复位 
sbit LCD_BL = P1^1;		//背光控制,如果不需要控制,接3.3V
//STC12C5A60S2
//sbit LCD_RS = P1^2;  		 //数据/命令切换
//sbit LCD_SDI = P1^5;		  //SPI写
//sbit LCD_SDO = P1^6;		     //SPI读
//sbit LCD_CS = P1^3;		//片选	
//sbit LCD_CLK = P1^7;   //SPI时钟
//sbit LCD_RESET = P3^3;	      //复位 
//sbit LCD_BL=P3^2;		//背光控制,如果不需要控制,接3.3V

🎉应该可以适配STC12、stc15、stc8、stc32带硬件SPI接口的单片机型号上。

📝主程序

  • 📍程序来源:http://www.lcdwiki.com/zh/1.8inch_SPI_Module_ST7735S_SKU:MSP1803#.E7.A8.8B.E5.BA.8F.E4.B8.8B.E8.BD.BD
#include "sys.h"
#include "lcd.h"
#include "gui.h"
#include "test.h"
#include "touch.h"
//#include <STC8H.H>

//STC单片机IO推挽输出设置定义
//其他普通C51单片机无此配置请屏蔽下面这条语句
sfr P3M1  = 0xB1;   //P3M1.n,P3M0.n     =00--->Standard,    01--->push-pull
sfr P3M0  = 0xB2;   //                  =10--->pure input,  11--->open drain
sfr         P_SW2       =           0xba;
sfr  P_SW1 = 0xA2;
sfr         P1M1        =           0x91;
sfr         P1M0        =           0x92;
//主函数
void main(void)

    P_SW2 |= 0x80;  //使能访问 XFR
    P_SW1 = 0x0c;  //SS_4/P3.5, MOSI_4/P3.4, MISO_4/P3.3, SCLK_4/P3.2
    //设置STC_12LE5A60S2单片机的P3.2为推挽输出,用于控制背光亮灭
    //其他普通C51单片机无此配置请屏蔽下面这条语句
//    P3M1 &= ~(1 << 2), P3M0 |= (1 << 2);
	P3M1 = 0X00;
	P3M0 = 0X00;
	P1M1 = 0X00;
	P1M0 = 0X00;

    //液晶屏初始化
    LCD_Init();

    //循环进行各项测试
    while (1)
    
        main_test();        //测试主界面
        Test_Color();       //简单刷屏填充测试
        Test_FillRec();     //GUI矩形绘图测试
        Test_Circle();      //GUI画圆测试
        Test_Triangle();   //GUI三角形填充测试
        English_Font_test();//英文字体示例测试
        Chinese_Font_test();//中文字体示例测试
        Pic_test();         //图片显示示例测试
        Rotate_Test();
        //不使用触摸或者模块本身不带触摸,请屏蔽下面触摸屏测试
        //  Touch_Test();       //触摸屏手写测试
        //需要触摸校准时,请将触摸手写测试屏蔽,将下面触摸校准测试项打开
//      Touch_Adjust();  //触摸校准
    

  • 🎬使用STC8H8K64U单片机驱动显示效果

以上是关于STC8硬件SPI方式驱动1.8“ ST7735S显示示例的主要内容,如果未能解决你的问题,请参考以下文章

STM32CubeIDESTM32F103硬件SPI驱动1.8寸TFT LCD128X160 ST7735S屏幕

LVGL移植STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT ST7735S跑LVGL图形demo

1.8寸TFT LCD128X160 ST7735S SPI串口屏驱动示例

STC32G单片机驱动1.8寸TFT LCD128X160 ST7735S SPI串口驱动示例

记录为Linux配置spi屏幕(st7735s)

《手把手教你阅读Datasheet》写ST7735s驱动程序(SPI通信)