yuyy1989 发表于 2023-5-20 17:19:18

用STC32G的硬件SPI驱动LCD12864屏幕的程序

屏幕型号HS12864G18B,清理时翻出来的

移植了一下驱动成功点亮
attach://10449.mp4
这个屏是用SPI控制的,给的例程是控制I/O模拟SPI通讯的


使用STC32G的硬件SPI重写了一下驱动,代码放上,有使用类似型号屏幕的可以参考一下





神农鼎 发表于 2023-5-20 18:54:30

感谢奉献,一起前进{:4_196:}

Tuier 发表于 2024-3-7 22:19:09

谢谢分享。程序验证通过。虽然有些地方看不懂,但提供了硬件SPI驱动屏幕学习的样板。

soma 发表于 2024-3-9 06:51:27

只有一条数据线不是2条是半双工的

WHX 发表于 2024-3-9 09:11:48

顶,学习了,看来STC简直可以实现一切!!!{:4_245:}{:4_250:}

电子爱好者2024 发表于 2024-4-14 20:41:57

学习

cadplus 发表于 2024-4-20 08:15:45

好东东,正需要,学习偿试一下

cadplus 发表于 2024-4-23 08:54:13

请教LZ,看了您的代码STG32硬件接口只用如下4线吗?
sbitSPI_SS_2    = P2^2;
sbitSPI_MOSI_2= P2^3;
sbitSPI_MISO_2= P2^4;
sbitSPI_SCLK_2= P2^5;
有一个接口1-7脚一模一样的屏,接STC15芯片试了屏例程3-7脚全用才行,这种是不是软件SPI? 改用STG32,好象没有MISO引脚,如何接线?

yuyy1989 发表于 2024-4-29 22:23:18

cadplus 发表于 2024-4-23 08:54
请教LZ,看了您的代码STG32硬件接口只用如下4线吗?
sbitSPI_SS_2    = P2^2;
sbitSPI_MOSI_2= P2^3;


MISO不用接空着就行,用不到

durongze 发表于 2024-6-2 03:46:15

你是参考官方的哪个例子呢? 官方的7920好像和7567差别很大吧?7567还要设置电压,偏压比,对比度。7920好像没有这些呢。

    yuyy_hs12864g18b_spiinit();
    yuyy_hs12864g18b_cs(0);
    yuyy_hs12864g18b_rst(0);/*低电平复位*/
    yuyy_delay_us(20);
    yuyy_hs12864g18b_rst(1);/*复位完毕*/
    yuyy_hs12864g18b_writedata(0,0xE2);/*软复位*/
    yuyy_delay_us(50);
    yuyy_hs12864g18b_writedata(0,0x2C); /*升压步聚 1*/
    yuyy_delay_us(50);
    yuyy_hs12864g18b_writedata(0,0x2E); /*升压步聚 2*/
    yuyy_delay_us(50);
    yuyy_hs12864g18b_writedata(0,0x2F); /*升压步聚 3*/
    yuyy_delay_us(50);
    yuyy_hs12864g18b_writedata(0,0x24); /*0x24粗调对比度,可设置范围0x20~0x27*/
    yuyy_hs12864g18b_writedata(0,0x81); /*微调对比度*/
    yuyy_hs12864g18b_writedata(0,0x08); /*0x28,微调对比度的值,可设置范围0x00~0x3f1f*/
    yuyy_hs12864g18b_writedata(0,0xA2); /*1/9偏压比(bias)*/
    yuyy_hs12864g18b_writedata(0,0xC8); /*行扫描顺序:从上到下*/
    yuyy_hs12864g18b_writedata(0,0xA0); /*列扫描顺序:从左到右*/
    yuyy_hs12864g18b_writedata(0,0x40); /*起始行:第一行开始*/
    yuyy_hs12864g18b_writedata(0,0xAF); /*开显示*/
    yuyy_hs12864g18b_cs(1);
页: [1] 2
查看完整版本: 用STC32G的硬件SPI驱动LCD12864屏幕的程序