[PIC®/AVR®/dsPIC®产品] 有PIC单片机驱动ST7735的示例吗

[复制链接]
2814|19
 楼主| huahuagg 发表于 2024-4-14 21:49 | 显示全部楼层 |阅读模式
弄了一块LCD屏幕,想用PIC驱动试试玩玩。
xinpian101 发表于 2024-4-15 20:19 | 显示全部楼层
一般提供的有例子啊,你用IO模拟就行了。
734774645 发表于 2024-4-15 21:17 | 显示全部楼层

参靠这个例子修改就行了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
21mengnan 发表于 2024-5-6 20:16 | 显示全部楼层
怎么做,这个芯片是怎么玩。
Allison8859 发表于 2024-5-24 15:06 | 显示全部楼层
自己移植一个?这个应该不费劲吧
B1lanche 发表于 2024-5-24 16:12 | 显示全部楼层
一般应该是有,网上你得找找,因为这个ST7735的资料还是很多的
Candic12e 发表于 2024-5-24 17:18 | 显示全部楼层
你直接自己写个多好啊,只要驱动IO是OK的,其他都没问题
Charlene沙 发表于 2024-5-24 18:22 | 显示全部楼层
找个其他的例程,知道驱动时序就行,剩下自己就能改了
Emily999 发表于 2024-5-24 19:30 | 显示全部楼层
你换个芯片驱动估计会更好驱动一些
Belle1257 发表于 2024-5-24 20:35 | 显示全部楼层
我建议还是你用MPLABX配置个,这样比较靠谱
alxd 发表于 2024-5-24 21:46 | 显示全部楼层
你的PIC有硬件的SPI吗?
Annie556 发表于 2024-5-25 07:30 | 显示全部楼层
用个IO模拟来操作吧,简单而且你要是有逻辑分析仪的话,更容易一些
Carmen7 发表于 2024-5-25 09:15 | 显示全部楼层
你用其他的例程自己改一个吧,因为你用的芯片都不知道是啥型号,不好弄
Estelle1999 发表于 2024-5-25 11:27 | 显示全部楼层
我觉得可以考虑用ST的芯片试试,例程多,也好改
幸福小强 发表于 2024-6-26 22:32 | 显示全部楼层
IO模拟的很好用的。
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控制)
mintspring 发表于 2024-6-27 21:34 | 显示全部楼层
初始化和驱动ST7735的基本步骤
初始化SPI接口:配置PIC单片机的SPI模块,用于与ST7735通信。
复位显示屏:通过RES引脚对ST7735进行复位。
发送初始化命令:按照ST7735的数据手册发送初始化指令,配置显示屏参数。
发送数据:通过SPI接口发送图像数据。
mintspring 发表于 2024-6-27 21:34 | 显示全部楼层
  1. #include <xc.h>
  2. #include <stdint.h>

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

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

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

  19. void ST7735_Command(uint8_t cmd) {
  20.     CS = 0;
  21.     DC = 0;  // 命令模式
  22.     SPI_Write(cmd);
  23.     CS = 1;
  24. }

  25. void ST7735_Data(uint8_t data) {
  26.     CS = 0;
  27.     DC = 1;  // 数据模式
  28.     SPI_Write(data);
  29.     CS = 1;
  30. }

  31. void ST7735_Init() {
  32.     RES = 0;
  33.     __delay_ms(100);
  34.     RES = 1;
  35.     __delay_ms(100);

  36.     ST7735_Command(0x01); // Software reset
  37.     __delay_ms(150);
  38.    
  39.     ST7735_Command(0x11); // Sleep out
  40.     __delay_ms(150);

  41.     ST7735_Command(0x29); // Display on
mintspring 发表于 2024-6-27 21:34 | 显示全部楼层
注意事项
延时函数:示例中使用了__delay_ms()函数,需要配置好Fosc以确保延时准确。
命令和数据的详细列表:ST7735的初始化和数据传输命令根据数据手册进行调整,以满足具体显示要求。
图像显示:要显示具体图像,需要根据ST7735的数据手册将图像数据按照RGB565格式发送到显示屏。
mintspring 发表于 2024-6-27 21:35 | 显示全部楼层
具体的初始化和数据传输命令可能因不同型号和应用需求有所不同,请参考ST7735的详细数据手册。比如是RGB还是BGR模式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

1430

帖子

2

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