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单片机驱动显示效果
    在这里插入图片描述
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值