单片机学习小组
直播中

刘敏

7年用户 1158经验值
私信 关注

MAX6675测温的过程是怎样的?

MAX6675测温的过程是怎样的?

回帖(1)

张志强

2022-2-15 10:37:55



首先我们知道我们需要的是12位数据,而我们先看图三就是数据传输的模式,首先片选引脚由高电位拉低就标志进入数据传输;而数据的传输随着脉冲信号的变化输出数据,即当一个脉冲的来临就标志数据开始传输,下一个 脉冲标志第二位数据的传输,由图看出传输了16位数据,而mAX6675的十六位数据中第0,1,2,15四位数据我们舍弃,我们只需要第3-第14位的十二位数据。
下面我们是用GPIO来模拟我们要的数据输入与传输,可以看出我们需要三个GPIO引脚。cs片选为接受高低电位来调节,所以这个口的GPIO口是单片机输出,SCLK时钟脉冲也是有单片机提供时钟脉冲,所以这个口的GPIO口也是单片机输出高低电平,,而数据输出是MAX6675给单片机发送数据,即单片机需要以此来读取电平,所以这个口是单片机的输入口,
再看看图一和图二,有图可知,如果我们要读取so的高低电平;需要在特定的高低电平的设置下,而有图一可知道,所以在特定的高低电平下还是有时间差值得不可以多不可以少,是将长了会数据错误,时间短了也会数据错误;
分析图二
首先设置CS高电位,clk低电位
拉低CS,这里有两个时间Tcss,Tdv都代表要延时来确定CS变为低电位;
拉高CLK,这里有个时间Tch,高电位保持时间,此时可以利用单片机读取SO的高低电位,
拉低CLK,这里有个时间Tcl,低电位保持时间,此时间是为了给MAX6675换个下一位数据的时间,交换所需要的时间,Tdo,
如此反复16次,
拉高cs,读取结束!
由图一可以tCH >=100ns, tCL>=100ns tCSS>=100ns
tTR<=100NS, tDV<=100ns tDO<=100ns;
由于同为100ns时数据容易发生冲突,所以尽量避免时间一直的问题;还有可以去官网找时间延时ns,ms级的的程序使用,也可以给我留言 我来发给你
举报

更多回帖

发帖
×
20
完善资料,
赚取积分