完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
首先我们知道我们需要的是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级的的程序使用,也可以给我留言 我来发给你 |
|
|
|
只有小组成员才能发言,加入小组>>
3310 浏览 9 评论
2991 浏览 16 评论
3492 浏览 1 评论
9055 浏览 16 评论
4086 浏览 18 评论
1173浏览 3评论
603浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
596浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2333浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 13:12 , Processed in 1.086294 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号