找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

用STC单片机驱动OLED液晶的感受

查看数: 2303 | 评论数: 9 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-8-2 16:48

正文摘要:

本帖最后由 ztzp 于 2025-8-2 16:55 编辑 几年前买得有几片OLED液晶显示屏,驱动是SSD1306的。 引脚定义:

回复

ID:97023 发表于 2025-8-6 21:35
ziiyn 发表于 2025-8-6 13:52
我一开始没细看电路图照片, 用准双模式的时候信号会被R30~R33几个对地510欧电阻拉低了电平,造成波形不 ...

这个OLED虽然说是工作在3.3V,但拆除那三个电阻前,我确实也用STC的5V单片机驱动,I/O口设置为“推挽”的情况下,也是可以工作的。
ID:152164 发表于 2025-8-6 13:52
ztzp 发表于 2025-8-5 23:14
手册肯定是看了的,一开始设置成了“准双向口”。

我一开始没细看电路图照片, 用准双模式的时候信号会被R30~R33几个对地510欧电阻拉低了电平,造成波形不正常,把那几个电阻拆了再用准双模式应该就正常了。按常理说那几个电阻应该设计成串联来兼容5v电平,结果却是并联到地。
ID:97023 发表于 2025-8-5 23:20
ziiyn 发表于 2025-8-5 09:01
原因很简单,就是不看手册的问题。stc8和之后的stc32单片机默认端口上电为高阻状态,和以前的系列不一样
  1. void main(void)
  2. {
  3.         P3M1 = 0x00;        //把P3.2~P3.5设置为“推挽输出”
  4.         P3M0 = 0x3C;

  5. //        P3M1 = 0x00;        //把P3.2~P3.5设置为“准双向”
  6. //        P3M0 = 0x00;

  7.         OLED_Init();                        //初始化OLED  
  8.        
  9. //        Line();
  10.         while(1);
  11. }
复制代码

当初I/O口设置成“准双向”,后来才改为“推挽”
ID:97023 发表于 2025-8-5 23:14
ziiyn 发表于 2025-8-5 09:01
原因很简单,就是不看手册的问题。stc8和之后的stc32单片机默认端口上电为高阻状态,和以前的系列不一样

手册肯定是看了的,一开始设置成了“准双向口”。
ID:152164 发表于 2025-8-5 09:01
原因很简单,就是不看手册的问题。stc8和之后的stc32单片机默认端口上电为高阻状态,和以前的系列不一样
ID:276663 发表于 2025-8-4 11:15
楼主和沙发板凳分析的都很到位。逻辑分析仪是开发常用的设备。在协议开发时非常有用。
ID:807591 发表于 2025-8-4 08:25
双向驱动电流最大 500uA,,一个下拉电阻510欧,妥妥的给把信号干没了
ID:111099 发表于 2025-8-3 10:19
看起来OLED屏的几个通信脚都串联了510欧电阻,原本是为了兼容5V电平,这里就造成了很大的影响。按理应该使用几十欧即可,所以过大就很难用常规准双向IO推动了。LZ可以考虑把那几个电平转换电阻换一下,估计会有惊喜。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表