打印
[PIC®/AVR®/dsPIC®产品]

有PIC单片机驱动ST7735的示例吗

[复制链接]
1984|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huahuagg|  楼主 | 2024-4-14 21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
弄了一块LCD屏幕,想用PIC驱动试试玩玩。

使用特权

评论回复
沙发
xinpian101| | 2024-4-15 20:19 | 只看该作者
一般提供的有例子啊,你用IO模拟就行了。

使用特权

评论回复
板凳
734774645| | 2024-4-15 21:17 | 只看该作者
YX66584-0.96寸IPS屏模块+ST7735-8PIN-190514.zip (13.58 MB)
参靠这个例子修改就行了。

使用特权

评论回复
地板
21mengnan| | 2024-5-6 20:16 | 只看该作者
怎么做,这个芯片是怎么玩。

使用特权

评论回复
5
Allison8859| | 2024-5-24 15:06 | 只看该作者
自己移植一个?这个应该不费劲吧

使用特权

评论回复
6
B1lanche| | 2024-5-24 16:12 | 只看该作者
一般应该是有,网上你得找找,因为这个ST7735的资料还是很多的

使用特权

评论回复
7
Candic12e| | 2024-5-24 17:18 | 只看该作者
你直接自己写个多好啊,只要驱动IO是OK的,其他都没问题

使用特权

评论回复
8
Charlene沙| | 2024-5-24 18:22 | 只看该作者
找个其他的例程,知道驱动时序就行,剩下自己就能改了

使用特权

评论回复
9
Emily999| | 2024-5-24 19:30 | 只看该作者
你换个芯片驱动估计会更好驱动一些

使用特权

评论回复
10
Belle1257| | 2024-5-24 20:35 | 只看该作者
我建议还是你用MPLABX配置个,这样比较靠谱

使用特权

评论回复
11
alxd| | 2024-5-24 21:46 | 只看该作者
你的PIC有硬件的SPI吗?

使用特权

评论回复
12
Annie556| | 2024-5-25 07:30 | 只看该作者
用个IO模拟来操作吧,简单而且你要是有逻辑分析仪的话,更容易一些

使用特权

评论回复
13
Carmen7| | 2024-5-25 09:15 | 只看该作者
你用其他的例程自己改一个吧,因为你用的芯片都不知道是啥型号,不好弄

使用特权

评论回复
14
Estelle1999| | 2024-5-25 11:27 | 只看该作者
我觉得可以考虑用ST的芯片试试,例程多,也好改

使用特权

评论回复
15
幸福小强| | 2024-6-26 22:32 | 只看该作者
IO模拟的很好用的。

使用特权

评论回复
16
mintspring| | 2024-6-27 21:34 | 只看该作者
硬件连接
首先,需要连接PIC单片机和ST7735显示屏。典型的连接如下:

VCC:3.3V
GND:GND
SCL (SCK):SPI时钟(连接到PIC的SCK引脚)
SDA (MOSI):SPI数据(连接到PIC的MOSI引脚)
RES:复位引脚(连接到PIC的任意GPIO引脚)
DC:数据/命令选择引脚(连接到PIC的任意GPIO引脚)
CS:片选引脚(连接到PIC的任意GPIO引脚)
BLK:背光引脚(连接到3.3V或通过PWM控制)

使用特权

评论回复
17
mintspring| | 2024-6-27 21:34 | 只看该作者
初始化和驱动ST7735的基本步骤
初始化SPI接口:配置PIC单片机的SPI模块,用于与ST7735通信。
复位显示屏:通过RES引脚对ST7735进行复位。
发送初始化命令:按照ST7735的数据手册发送初始化指令,配置显示屏参数。
发送数据:通过SPI接口发送图像数据。

使用特权

评论回复
18
mintspring| | 2024-6-27 21:34 | 只看该作者
#include <xc.h>
#include <stdint.h>

// 配置SPI和GPIO引脚
#define CS LATCbits.LATC0
#define RES LATCbits.LATC1
#define DC LATCbits.LATC2

void SPI_Init() {
    // 配置SPI模块
    SSP1STAT = 0x40;   // 数据在上升沿采样
    SSP1CON1 = 0x20;   // SPI主模式,时钟Fosc/4
    TRISCbits.TRISC3 = 0; // SCK
    TRISCbits.TRISC5 = 0; // MOSI
    TRISCbits.TRISC4 = 1; // MISO
}

void SPI_Write(uint8_t data) {
    SSP1BUF = data;
    while(!SSP1STATbits.BF); // 等待传输完成
}

void ST7735_Command(uint8_t cmd) {
    CS = 0;
    DC = 0;  // 命令模式
    SPI_Write(cmd);
    CS = 1;
}

void ST7735_Data(uint8_t data) {
    CS = 0;
    DC = 1;  // 数据模式
    SPI_Write(data);
    CS = 1;
}

void ST7735_Init() {
    RES = 0;
    __delay_ms(100);
    RES = 1;
    __delay_ms(100);

    ST7735_Command(0x01); // Software reset
    __delay_ms(150);
   
    ST7735_Command(0x11); // Sleep out
    __delay_ms(150);

    ST7735_Command(0x29); // Display on

使用特权

评论回复
19
mintspring| | 2024-6-27 21:34 | 只看该作者
注意事项
延时函数:示例中使用了__delay_ms()函数,需要配置好Fosc以确保延时准确。
命令和数据的详细列表:ST7735的初始化和数据传输命令根据数据手册进行调整,以满足具体显示要求。
图像显示:要显示具体图像,需要根据ST7735的数据手册将图像数据按照RGB565格式发送到显示屏。

使用特权

评论回复
20
mintspring| | 2024-6-27 21:35 | 只看该作者
具体的初始化和数据传输命令可能因不同型号和应用需求有所不同,请参考ST7735的详细数据手册。比如是RGB还是BGR模式。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

1290

帖子

2

粉丝