找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2982|回复: 6
收起左侧

关于单片机+TM1637芯片点亮6位数码管疑惑 解决了,但不明白工作原理

[复制链接]
ID:502902 发表于 2019-7-26 16:37 | 显示全部楼层 |阅读模式
TM1637芯片是IIC芯片,其中有一条是停止信号的程序

void stop(void)
{
     DIO  =  0;         //数据线置低
     CLK  =  1;         //时钟线置高
     delayμs(5);
     DIO  =  1;  
       //数据线置高

     delayμs(5);
}


看前两条,这样可以让数码管显示,但将程序倒过来就显示不了了,如下
void stop(void)
{
     CLK  =  1;         //时钟线置高
     DIO  =  0;         //数据线置低
     delayμs(5);
     DIO  =  1;  
       //数据线置高

     delayμs(5);
}


为什么?折腾了好久虽然解决了,但不明白工作原理。
回复

使用道具 举报

ID:96682 发表于 2019-7-27 06:11 | 显示全部楼层
IIC 关键看时序,就像给钟表上链必须要扭对方向
回复

使用道具 举报

ID:524818 发表于 2019-7-27 10:46 | 显示全部楼层
时序,时间先后次序,
回复

使用道具 举报

ID:13282 发表于 2024-9-1 01:19 | 显示全部楼层
2.png
看图!, DIO要先拉低, CLK才开始.
要掌握一个芯片, 关键要学会如何看时序图, 时序图上清清楚楚了!
回复

使用道具 举报

ID:624769 发表于 2024-9-1 22:19 | 显示全部楼层
原因很简单,IIC是一个规范协议,他有严格的规范,而TM1637用的不是IIC规范,他用的是微型双线传输协议,虽然很像IIC……
你有没有看出来,改变顺序后,他是发送了一个Start信号?
而,对于TM1637来讲,你传输的所有信息,都要由Stop信号来完成,你在这个时候,又发了一个Start,那么你前面法的所有内用都作废了。
回复

使用道具 举报

ID:69038 发表于 2024-9-2 07:49 | 显示全部楼层
即然是走协议了,当然要遵守协议的时序了,时序,就是信号的时间和顺序。。。乱了就是不行!
回复

使用道具 举报

ID:619259 发表于 2024-9-2 08:31 | 显示全部楼层
严格来说,TM1637不是真正的IIC传输协议,可以称为仿IIC或类IIC
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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