单片机外部程序存储器的扩展时序,一点都看不懂,在一个机器周期里什么P2口送高地址,P1口送低地址或指令

单片机外部程序存储器的扩展时序,一点都看不懂,在一个机器周期里什么P2口送高地址,P1口送低地址或指令,第1张

对单片机外部程序存储器的访问 就是先通过p0、p2口送出要访问的外部程序存储器的地址

P2口送高8位地址 P0口送低8位地址(而不是P1口) 即先要选中单片机要访问的存储器单元

再将该单元中存放的指令读出来,由P0口做8位数据总线(读回单片机去执行)。

结论: 地址是被访问的单片机外部程序存储器的地址

最后要完成的工作是取指令

呵呵 满意就选满意回答

单片机片内存储器包括片内ROM和片内RAM,片内ROM用于存储程序代码,片内RAM包括寄存器和片内扩展RAM,比如STC的很多型号都有片内扩展EEPROM。

片外存储器包括片外ROM和片外RAM,片外ROM用户存储程序代码,片外RAM用于存储用户的可改写数据。

因为S52片内已经有2000h也就是8kB的程序存储器,而程序寻址空间只有64kB,所以外扩程序存储器再大也只能用到56kB。

不过,借助分页技术,51单片机能很容易地实现超过64kB的程序空间,例如Keil默认支持的分页就能实现最大 64 kB × 256 Pages = 16 MB 的外部程序存储器。

51的存储器从功能上来说可以分为程序存储器和数据存储器,至于到底能扩展多少存储空间,要看你扩展的是哪一类存储器。

访问存储空间时,需要用到两个指针变量,为DPTR何PC。其中pc为程序计数器,指向下一条需要执行的指令的地址,DPTR为数据指针寄存器,这两个变量的长度都为16位,这是51单片机内部结构决定的,无法改变。所以这两个指针的寻址能力都为64K。这样看来,两类存储器的扩展能力都为64K

。但是,如果你实际扩展过存储器,你就可以发现程序存储器的扩展能力并没有64K!!!

这是为什么呢????

这得从51单片机的存储空间的编址说起。这里仅作简单说明,具体可以看教科书。简单地说,内部程序存储器和外部程序存储器是一起编址的,它们分别占用64K地址的一部分,所以外部扩展时要减去内部的地址空间,当然小于64K啦。而数据存储器是内外部分别编址,内外部数据存储器用不同的指令进行访问,所以不用担心单片机会混淆内外部数据存储器,所以外部数据存储器扩展能力有64K

以上就是关于单片机外部程序存储器的扩展时序,一点都看不懂,在一个机器周期里什么P2口送高地址,P1口送低地址或指令全部的内容,包括:单片机外部程序存储器的扩展时序,一点都看不懂,在一个机器周期里什么P2口送高地址,P1口送低地址或指令、单片机在外扩存储器的作用、当EA电平为1时,S52单片机可以扩展的外部程序存储器的最大容量为什么是56KB等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9303620.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存