用STC32G的硬件SPI驱动LCD12864屏幕的程序
屏幕型号HS12864G18B,清理时翻出来的移植了一下驱动成功点亮
attach://10449.mp4
这个屏是用SPI控制的,给的例程是控制I/O模拟SPI通讯的
使用STC32G的硬件SPI重写了一下驱动,代码放上,有使用类似型号屏幕的可以参考一下
感谢奉献,一起前进{:4_196:} 谢谢分享。程序验证通过。虽然有些地方看不懂,但提供了硬件SPI驱动屏幕学习的样板。 只有一条数据线不是2条是半双工的 顶,学习了,看来STC简直可以实现一切!!!{:4_245:}{:4_250:} 学习 好东东,正需要,学习偿试一下 请教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引脚,如何接线?
cadplus 发表于 2024-4-23 08:54
请教LZ,看了您的代码STG32硬件接口只用如下4线吗?
sbitSPI_SS_2 = P2^2;
sbitSPI_MOSI_2= P2^3;
MISO不用接空着就行,用不到 你是参考官方的哪个例子呢? 官方的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