切换到宽版
  • 3887阅读
  • 18回复

[C51]STC8 硬件I2C OLED例程 [复制链接]

上一主题 下一主题
离线netbeetle
 

发帖
599
M币
821
专家
3
粉丝
7
STC8终于支持硬件I2C了,哈。写了个,还挺好用的。


本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
离线sdcgyhj

发帖
4
M币
3
专家
1
粉丝
1
只看该作者 1楼 发表于: 06-26
正想找个学习一下,可惜M币不够,能不能发一份到我邮箱啊(13539211@qq.com)?谢谢
离线autopccopy

发帖
339
M币
566
专家
3
粉丝
18
只看该作者 2楼 发表于: 06-26
真巧,我前几天也是在玩中景园的OLED 及TFT 的STC8 硬件IIC 及硬件SPI驱动。都很成功,比软件模拟快多了!!!

其实例程很简单,直接把STC-ISP 软件里的硬件主机IIC,SPI 的例程移植过来就可以了,主要是:WRITE_BYE 函数,不用软件移位了,硬件直接发送。
I'm moon1.cn :)
离线cqhejian

发帖
1326
M币
4898
专家
12
粉丝
18
只看该作者 3楼 发表于: 06-26
遗憾的是8F2K木有ADC。。。
离线autopccopy

发帖
339
M币
566
专家
3
粉丝
18
只看该作者 4楼 发表于: 06-26
在外,无法读取U盘,无法发程序。请参看STC-ISP 软件吧。
经目测,硬件比C51模拟的均快了5-8倍。
因为STC8的硬件IIC/SPI 不是DMA (Direct Memory Access: 直接存储器访问),还行需要MCU控制,感觉就是将C51模拟的IO时序改为硬件微码的精简汇编级别来执行。(所以没有试验,估计如果用汇编来编IIC/SPI驱动也是应该很快的)。 (STM32等有DMA的单片机就更方便了,将数据丢到寄存器,cpu就可以不管,继续干其它活了)

先看图吧:(图中的主板为中景园的STC8A8K64S4A12专用测试主板, 接口基本兼容他家的的所有OLED 及TFT,但配套C51例程没有硬件IIC及SPI的,只有软件模拟的。如改用STC8A 的硬件接口,引脚不对,需要用杜邦线引出。

除了速度快之外,代码量少了很多,就是配置好存储器后直接写数据即可,非常简便!

(另:中景园的0.96寸 OLED 部分 是兼容SPI 及IIC 接口的,用跳线(焊点)就可以切换,很灵活)

(160)
[ 此帖被autopccopy在2018-06-26 22:39重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共1条打赏M币+5
金向维 M币 +5 用的stc8但是还是用的软件iic 06-27
I'm moon1.cn :)
离线autopccopy

发帖
339
M币
566
专家
3
粉丝
18
只看该作者 5楼 发表于: 06-26
回 cqhejian 的帖子
cqhejian:遗憾的是8F2K木有ADC。。。 (2018-06-26 22:09) 回 cqhejian 的帖子

不是遗憾,而是要STC8A系列才有,定位的问题。例如不能说汽车遗憾不能飞。
I'm moon1.cn :)
离线zeze10000

发帖
2834
M币
8720
专家
34
粉丝
83
只看该作者 6楼 发表于: 06-26
不错,貌似8A8k还不错。
估计会快速铺开。
离线金向维

发帖
5268
M币
1459
专家
111
粉丝
594
只看该作者 7楼 发表于: 06-27
用的stc8但是还是用的软件iic
离线netbeetle

发帖
599
M币
821
专家
3
粉丝
7
只看该作者 8楼 发表于: 06-27
回 cqhejian 的帖子
cqhejian:遗憾的是8F2K木有ADC。。。 (2018-06-26 22:09) 回 cqhejian 的帖子

所以说这个STC8不如新塘N76E003,这货有8路12bit ADC
离线iamdingyu
发帖
2
M币
953
专家
0
粉丝
1
只看该作者 9楼 发表于: 07-16
楼主,谢谢你的代码,我也显示成功了,有个问题请教一下,你的STC8运行频率是多少?我发现主频超过12M之后,就不能正常显示了。