dsbk123 发表于 2026-6-19 08:47 感谢你的耐心指导,断电后右边的竖线又复现了。按照你的指导,修改这三处为1106的0x02,就正常了,再断电和重新上电也不会有竖线了,感谢! |
yanggo 发表于 2026-6-18 16:20 需要改动三个地方,请对比程序中//后面语句与下面一行的区别,OLED_WrCmd(0x00),改成OLED_WrCmd(0x02),偏移量+2。出现显示屏左边或右边有竖线的原因是程序和OLED驱动芯片不匹配,常见的OLED12864屏幕有SSD1306芯片和SH1106芯片,两者硬件引脚、通讯协议完全兼容,可以直接互换屏幕模块。但差异点在于,SSD芯片是标准的128*64,而SH1106实际是132*64,所以在使用原SSD1306程序时需要偏移2列,否则会出现左边竖线,相反,SSD1306显示屏使用SH1106程序时右边会有竖线。相对而言,SH1106功耗更低,且价格相对便宜约2元,抗干扰能力更强。 |
dsbk123 发表于 2026-6-16 19:48 感谢你的答复,这个位置不懂如何处理……我修改了OLED初始化里的偏移“OLED_WrCmd(0x01);//-not offset ”这里,然后亮度那也改了值,屏莫右边的竖线就莫名地正常了。但下边温度小数点偏也有两个点像素点亮,不知什么情况,不管了,反正也不怎么懂程序,暂时不折腾了。 |
yanggo 发表于 2026-6-16 15:22 /**************************** OLED 设置坐标 ****************************/ void OLED_Set_Pos(unsigned char x, unsigned char y) { OLED_WrCmd(0xb0+y); OLED_WrCmd(((x&0xf0)>>4)|0x10); //OLED_WrCmd((x&0x0f)|0x00);//SSD1306屏幕使用此程序 OLED_WrCmd((x&0x0f)|0x02);//SH1106屏幕使用此程序 } /**************************** OLED全屏 ****************************/ void OLED_Fill(unsigned char bmp_dat) { unsigned char y,x; for(y=0;y<8;y++) { OLED_WrCmd(0xb0+y); //OLED_WrCmd(0x00);//SSD1306屏幕使用此程序 OLED_WrCmd(0x02);//SH1106屏幕使用此程序 OLED_WrCmd(0x10); for(x=0;x<X_WIDTH;x++) OLED_WrDat(bmp_dat); } } /**************************** OLED复位 ****************************/ void OLED_CLS(void) { unsigned char y,x; for(y=0;y<8;y++) { OLED_WrCmd(0xb0+y); //OLED_WrCmd(0x00);//SSD1306屏幕使用此程序 OLED_WrCmd(0x02);//SH1106屏幕使用此程序 OLED_WrCmd(0x10); for(x=0;x<X_WIDTH;x++) OLED_WrDat(0); } } |
yanggo 发表于 2026-6-16 14:50 在OLED_Init函数里有个偏移量,0x00改为0x01有改善,但还是有一点,改为0x02却又把"星期"两个字削了一点顶部,郁闷了. |
dsbk123 发表于 2026-6-16 14:32 屏显右边有一竖条这个问题还是的,其它功能是正常了.应该是要修改偏移量.原程序里哪个位置是修改偏移量的呢? |
yanggo 发表于 2026-6-16 10:08 下载时选6M,所有问题将全部解决。 |
yanggo 发表于 2026-6-16 10:08 似乎用了11.0592MHz下载程序就正常了…… |
|
楼主你好,我复刻了一个,发现有问题,我想向你请教下,感谢你抽空回复。 一、下载程序时,STC的运行时IRC频率选择多少?我用24M下载入程序后,设定和退出按键有动作,+,-都没有动作,按键脚有3.3V(我供电用LDO 3.3V),按下按键可以拉低到0V。 二、同时屏显固定在00-00-00的初始状态。是不是实时时钟芯片I2C通信不成功呢?SDA,SCL的电压不应该是MCU供电的电压3.3V吗?测量电压不是3.3V。 |
| 感谢分享 简单实用 |
| 制作很漂亮 |
yanggo 发表于 2026-4-9 18:31 RX8025几毛钱一片,精度很高,大概一个月一秒误差,3年调整一次即可。 |
| 虽然没有源程序……先下载收藏了,但那个实时时钟芯片有没有便宜点的链接? |
| 学习学习,谢谢楼主分享 |
| 这个不错。 |
|
OLED mini 199*200 scaner() |
发表于 2025-11-20 20:09 SSD1306芯片约12元,SH1106芯片约9元,性能和显示效果都一样。 |
| 这个屏多少钱啊,羡慕,我只有彩色OLED的屏 |
dsbk123 发表于 2025-5-19 20:51 能享受人生啊 |
ly_zhy 发表于 2025-7-17 20:17 已经制作了几十个了,不影响下载程序,既是OLED通讯口,也是时钟模块通讯口,更是下载口,所以才叫极简。 |
| P30 P31口被占用为I2C通信,会影响以后再从新下载程序吗? |
| 不错,试试,如果能提供原程序更好,可根据各自现有材料进行适应性修改。 |
fmdpj 发表于 2025-6-14 13:48 坛友好,仿真文件是8.17版本生成的,是8.17,不是8.1.7,8.17>8.7>8.1.7哦。 我开始学习仿真的时候安装的是8.17版本,后来得到一个8.6版本,也是以为8.6>8.17,后来才发现不对。 哈哈,缘分啊! 请下载8.17版本重新安装即可。 通过网盘分享的文件:proteus 8.17.rar 链接: https://pan.baidu.com/s/1_O8w7B3hz_6rEW3mmm-k-w?pwd=51he 提取码: 51he 只分享7天哦! 只分享7天哦! 只分享7天哦! 声明: 此软件“仅限学习交流,不能用于商业用途”, 如用于商业用途,请到官方购买正版软件,追究法律责任与本人无关,下载之后请在24小时之内删除安装包,谢谢配合! |
|
本帖最后由 fmdpj 于 2025-6-16 12:36 编辑 打开你给的仿真文件,弹出“proteus8.17及以上的版本才能显示OLED显示屏”我安装的软件是8.7的,这是怎么回事?难道安装的是假8.7的?还是软件元件里面因为没有这个OLED器件,所以显示不了?
|
dsbk123 发表于 2025-5-29 23:27 万分感谢楼主 |
shenlan121 发表于 2025-6-3 13:16 感觉还行吧,这个万年历我用STC89C52核心板+杜邦线用了一年多,今年2月初设计了以上电路板。到目前为止大约前后有一年半时间了,感觉OLED屏显示效果基本上没太大变化。也可能和我在程序里将亮度降低了有关系,感觉亮度最大的时候有些刺眼。 |
| oled 不适合做长时间显示,会烧屏 |
fmdpj 发表于 2025-5-29 11:35 仿真和HEX都在附件中。 |
1.3吋OLED STC8G1K08-8PIN DS3231SN万年历仿真和hex.rar
27.69 KB, 下载次数: 0, 下载积分: 黑币 -5
| 楼主你好!这个屏可以用大的屏吗?我想用4吋的。仿真文件可以再分享一下吗? |
| 高级货啊!辛苦了!谢谢分享! |
| 谢谢分享,学习一下! |
|
不错哦,感谢分享。 我也弄一个玩玩。 ![]() ![]() |
| 小是够小的了,不知静态下电流有多大?还是觉得用DHT模块把温湿度都显示上才完全。 |
| 动手能力不错,赞一个! |
触景情伤 发表于 2025-5-1 18:41 只要是I2C通讯4线屏幕,SSD1306驱的都不用改程序。 |
| 用0.96寸的OLED的话显示坐标还需要更改吗? |
触景情伤 发表于 2025-4-27 16:21 可以在程序里禁用跳秒,启用时和分钟之间的冒号闪烁。 |
lxa0 发表于 2025-4-27 18:54 我主页另外一个主题可以网络授时。 |
| 不能网络对时? |