spi 8bits ok at93c46操作学习程序逐行解释.pdfVIP

spi 8bits ok at93c46操作学习程序逐行解释.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

在阅读本节内容前,请先参考《SPI-AT93C46介绍与操作说明》,本文只是解释程序。

AT93C46读时序图如下:

代码贴图如下:

逐行解释:

9-15,参见spi_w说明。

16:一帧数据(8bits)接收完毕信号,即数据准备好信号。平常是低电平,接收完8bits后

变高,所以外部只要检测其上升沿即可判断数据接收完毕。

18:计数器的输出,调试用

34-73:产生读时序。

37-40:复位状态,cs置为0,表示无效,计数器cnt,data_ready置为0,表示数

据还没有准备好。

41-64:产生93c46的输入数据di,片选信号cs。

35:都是在clkin(即sk,见65-71的说明)的下降沿将数据输出。

43-46:产生起始位SB‘1’,并将读完毕标志finish置为0,表示读操作还没完毕。

47-50:产生读操作的操作码‘10’。

51-52:发送待读单元地址,先发送。

53-54:在这段时间内,采样do的数据。

55-57:数据采样完毕,置cs为0,停止采样。

58-59:拉高data_ready,表示数据已经完毕,通知外部提取。

60-62:执行完毕读操作后,将cs置为无效状态,即低电平,将di置为低电平,finish

置为高(该信号一直为高,直到下一次启动信号的到来),表示读完毕,cnt置成

21,这样下一次触发这个process时,还会执行60-62句,一直这样循环,直到下

一次启动信号的到来后再执行一次读操作。

65-71:产生93c46的时钟信号sk。根据cnt的值,在一定的时间内将clkin赋值给sk,

形成93c46的时钟,其他的时刻使sk=0,没有时钟脉冲。

75-87:采样do的数据。

78-79:复位期间,data_tmp置为0。

81-85:在clkin(即sk,见65-71的说明)的下降沿采样do的数据,并存入data_tmp。

先接收到

88:并行输出。将信号datatmp输出输出到端口dataout。

文档评论(0)

gcq的书屋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档