单片机的扩展RAM读写时序

发布时间:2016-2-24 09:57    发布者:designapp
关键词: 单片机 , RAM
  摸索了好久,居然忘记了利用部门的示波器好好测测。书上看到的毕竟是理论的东西,实际应用中总会碰上意外的或者说是不可预测的情况,与其在那瞎推理,还不如动手做点实际的工作。
  说实话,在所里这几个月工作还没有正式启动,现在还处于所谓的知识储备阶段,所以也没什么机会动动示波器。今天才注意到这家伙是GHz级别的,4通道,捕捉单片机那几个小信号那叫游刃有余,爽哉爽哉,于是乎梦想着哪天自家工作台上也能摆个这玩意~-~,话扯远了,言归正传。
  特权同学用的是11.0592MHz的STC89C52做测试,C代码也很简单:
  #include
[color=]  #define uchar unsigned char

[color=]  #define uint unsigned int

[color=]  uchar xdata LD _at_ 0x7fff;

[color=]  void delay(uint cnt)

[color=]  {

[color=]  uint i;

[color=]  for(i=0;i

[color=]  }

[color=]  void main(void)

[color=]  {

[color=]  uchar i;

[color=]  delay(1000);

[color=]  while(1)

[color=]  {

[color=]  LD = 0x00;

[color=]  LD = 0xf0;

[color=]  LD = 0x73;

[color=]  // i = LD;

[color=]  delay(1000);

[color=]  LD = 0xff;

[color=]  delay(1000);

[color=]  }

[color=]  }
  LD就是扩展的外部RAM变量,地址是0x7fff,也就是说P2的最高位就是CS信号。示波器测试了P0口任意一个数据的变化、CS的变化、WR\RD信号的变化。大体整理了一下,波形基本如下:
  


  另外,我还注意到除了第一次LD读操作需要5个指令周期外(1.085us*5),以后每次LD读操作都只要3个指令周期(1.085*3)。这也是从汇编的代码里仿真后得出来的结论。而从上图也可以知道CS有效时间其实是一个指令周期(1.085us)。平均3个指令周期完成一次数据传输(所谓的RAM方式读写数据),这应该是单片机和外部通信的最快速度了。
                               
                                                               
                               
               
本文地址:https://www.eechina.com/thread-161120-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 利用模拟开发工具生态系统进行安全电路设计
  • 你仿真过吗?使用免费的MPLAB Mindi模拟仿真器降低设计风险
  • Cortex-M4外设 —— TC&TCC结合事件系统&DMA优化任务培训教程
  • 想要避免发生灾难,就用MPLAB SiC电源仿真器!
  • 贸泽电子(Mouser)专区

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表