MCS-51单片机原理及嵌入式系统应用 作者 王忠飞 第6-7章 第6章.pptVIP

MCS-51单片机原理及嵌入式系统应用 作者 王忠飞 第6-7章 第6章.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
   if(i != len)     return 0;      // 操作失败,返回0    return 1;       // 操作成功,返回1 }   图6-26是采用另一种扩展方法将16位地址总线扩展为19位地址总线的电路。它的工作原理是:首先置P1.0=0,然后执行写操作,P1.0和WR有效,逻辑或后作为地址锁存器74HC174(U5)的锁存信号,将数据锁存在74HC174的输出端,在P1.0=0时通过这个写操作将最高3位地址(A16~A18)信息锁存;当P1.0=1时,地址锁存器74HC174的输出端保持刚才锁存的最高3位地址信息不变,P1.0经反相器后,与WR和RD相与之后的电平或的结果取决于WR和RD的电平状态,一旦8031执行外部数据存储器的读或写操作,WR和RD相与后为低电平,使得39SF040的片选信号有效,8031即可对39SF040进行读/写或擦除操作。 图6-26 利用“二次锁存和译码”方式扩展大于64 KB地址的电路   比较图6-25和图6-26的两个电路,图6-25使用了4根I/O线扩展最高3位地址和控制39SF040的片选,而图6-26仅使用了1根I/O线也扩展了最高3位地址和控制39SF040的片选。显然从节省8031的I/O资源角度比较,图6-26的扩展方法更合理。   两种不同扩展方法的电路除了译码电路不同外,其他部分完全相同,而且前面的源程序只要改动“void Flash39SF040PageSel (unsigned char pagenum)”子程序就可以实现软件也完全兼容。根据图6-26的电路,这个子程序可以修改为: void Flash39SF040PageSel(unsigned char pagenum)    // 64 KB的页面选择 {     // 控制 A16~A18 和39SF040的片选信号   #define BasePortPt *((unsigned char xdata *)0x010000)   P1.0 = 0;  // 准备写最高3位地址锁存器,确定A16~A18的输出   BasePortPt = pagenum;  // 将选择的64 KB页面地址锁存在74HC174输出端   P1.0 = 1; // 让锁存器保持A16~A18的信息 }   当仅扩展512 KB数据存储空间时,图6-26中的最高3位地址锁存器仅使用了3个D型锁存器;如果使用8个地址锁存器,可以将16位地址总线扩展到24位宽度,那么8031就可以访问224(16 M)个字节的数据存储地址空间了。 6.3.3 串行接口数据存储器的扩展   当MCS-51系列单片机扩展并行接口的外部数据或程序存储器时,P0和P2以及P3.6(WR)和P3.7(RD)必须分别专用为数据总线、地址总线和控制总线。当系统不需要扩展外部程序存储器,而且需要的数据存储容量较小时,使用并行接口扩展的外部数据存储器非常浪费MCS-51单片机的I/O资源,这种情况下,可以选择扩展串行接口的外部数据存储器。   前面已经提到了串行接口的数据存储器一般都以2线制的I2C总线或3线、4线的SPI串行接口,在MCS-51单片机中扩展串行接口的数据存储器一般仅占用2~4根I/O线,非常节省单片机有限的I/O资源。   1.扩展I2C总线接口的数据存储器   I2C总线是一种主从双向同步通信接口,最早由Philips公司提出,有关该总线的详细规范可以查阅相关资料。I2C总线采用2线制接口,两根信号线的名称分别为SCL和SDA。其中SCL为同步时钟信号线,一般由主控器件(Master)发出;SDA为双向同步数据信号线。I2C总线规范中规定,在两根总线上允许挂接1~8个标准的I2C接口器件。同步传输数据时,在SCL为低电平期间允许主控器件改变SDA的电平状态;当SCL为高电平状态时,SDA的电平必须是稳定的。   对I2C器件的操作总是从一个规定的“启动(Start)”时序开始,信息传输完成后总是以一个规定的“停止(Stop)”时序结束,这两个动作都是由主控器件(Master)发出的。I2C总线的启动和停止时序如图6-27所示。 图6-27 I2C总线启动和停止时序   I2C总线从器件的字节写/编程时序如图6-28(a)所示。执行字节写操作时,首先从SDA线上接收器件地址,然后接收将要写的存储器目的地址,最后接收到一个字节的数据。主控器件将这些信息发送完成后,再发送一个停止时序,结束本次传输。之后I2C总线器件进入内部自编程循环,大约5 ms之后,字节写操作才完成,主控期间可以采用读方式校验刚才的字节写操作是否成功。为了提高写的速度,I2C器件都支持页面写操作,减少重复发送器件地

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档