找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3986|回复: 10
收起左侧

关于用STC8单片机驱动OLED的问题,晶振频率调到6M以上点不亮

[复制链接]
ID:210139 发表于 2020-2-27 21:58 | 显示全部楼层 |阅读模式
求教大神一个问题
我用STC8A4K驱动0.96OLED,用的IIC通讯,采用软件模拟,和硬件IIC通讯,两种方式在晶振频率小于等于6M时,能正常驱动;
但是当把晶振频率调到6M以上时,软件模拟IIC的根本不能驱动OLED,而硬件IIC驱动的OLED会出现卡屏的情况,调到24M时,两种
通讯方式都不能点亮OLED。
请问,大家有没遇到过这种情况,有什么解决方法没有?
调了延时程序,在高频下,还是不能点亮OLED,


但是用SPI通讯时,则不受晶振频率的影响。
回复

使用道具 举报

ID:210139 发表于 2020-5-17 15:34 | 显示全部楼层
问题已解决,见此贴,http://www.51hei.com/bbs/dpj-187790-1.html
回复

使用道具 举报

ID:210139 发表于 2020-2-27 22:14 | 显示全部楼层
有没有人呀,这个问题怎么解决呀
回复

使用道具 举报

ID:693716 发表于 2020-2-27 22:56 | 显示全部楼层
STC8A4K的执行速度应该比传统的8051单片机快不少,通常的IIC通讯都是采用nop来实现软件延时,可能你需简要根据这块单片机的速度多加几个nop。如果你有手中有逻辑分析仪(网上20多块钱)可以抓下波形看看应该是延时不够造成的,希望对你有帮助。
回复

使用道具 举报

ID:401564 发表于 2020-2-27 23:28 | 显示全部楼层
1:IIC一定要有和该器件相对应的延时,时钟和应答都要有
2:OLED对信号的响应时间也是有要求的,有的要求几mS的,这个要看一下数据手册的
3:延时程序尽量用下载器提供的代码
回复

使用道具 举报

ID:210139 发表于 2020-2-28 07:52 | 显示全部楼层
hj08102 发表于 2020-2-27 22:56
STC8A4K的执行速度应该比传统的8051单片机快不少,通常的IIC通讯都是采用nop来实现软件延时,可能你需简要 ...

谢谢你,我试一下
回复

使用道具 举报

ID:210139 发表于 2020-2-28 07:53 | 显示全部楼层
Y_G_G 发表于 2020-2-27 23:28
1:IIC一定要有和该器件相对应的延时,时钟和应答都要有
2:OLED对信号的响应时间也是有要求的,有的要求几mS ...

感谢帮助,我调来试一下
回复

使用道具 举报

ID:477450 发表于 2020-3-16 20:19 来自手机 | 显示全部楼层
想问下你的问题解决了吗
回复

使用道具 举报

ID:753727 发表于 2020-5-17 05:31 | 显示全部楼层
我也遇到此问题了,问下楼主解决了没呀
回复

使用道具 举报

ID:210139 发表于 2020-5-17 13:25 | 显示全部楼层
本帖最后由 杀死比亚 于 2020-5-17 13:52 编辑
yfzhang 发表于 2020-5-17 05:31
我也遇到此问题了,问下楼主解决了没呀

用软件模拟IIC方式,解决了,硬件IIC的还是会受到一点影响
回复

使用道具 举报

ID:337139 发表于 2022-2-25 11:28 | 显示全部楼层
延时的时间与IIC的规则相应,一般是因为STC软时间误差引起的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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