当前位置: 代码迷 >> 单片机 >> 初级有关问题请问? 8155芯片的PA口地址是如何确定的呀
  详细解决方案

初级有关问题请问? 8155芯片的PA口地址是如何确定的呀

热度:135   发布时间:2016-04-28 16:22:41.0
初级问题请教? 8155芯片的PA口地址是怎么确定的呀?
请问一下各位,   8155芯片的PA口地址是怎么定的?   我查了datasheet,   里面说:  
PA   register   ---   this   register   can   be   programmed   to   be   either   input   or   output   ports,   depending   on   the   status   of   the   contents   of   the   C/S   register.   Also,   depending   on   the   command,   this   port   can   operate   in   either   the   basic   mode   or   the   strobed   mode   (see   timeing   diagram).   The   I/O   pins   assigned   in   relation   to   this   register   are   PA0-7.   The   address   of   this   register   is   ╳╳╳╳╳001.  

请问:   ╳是代表什么意思,由什么来确定?
我在google.com上查,也看了书,发现很多书上是说:
PA口的地址是   7F01H   ,这个地址是怎么得来的呢?谢谢大家的回答,非常感谢!!!
 


------解决方案--------------------
和你的接线有关。把它当做是外部存储器了。
------解决方案--------------------
寻址方式
线选

看看单片机基础知识就不难理解了
------解决方案--------------------
它只有8条地址线,和一个nCE,一个IO_nM,当它的IO_nM为1,它只对A0-A2三条地址
进行译码,所以它的DATASHEET说PA的地址是XXXXX001.

根据你给出的图,PA的地址其实有多个,7f01,7d01,7b01,7901,7701....

A3-A7也是无关的,所以7f09,7f11,7f19,7f21,7f29...也都会寻址到PA。
------解决方案--------------------
2. 你不需要让它只有那唯一的地址。除非64k的地址空间都有了安排。

如果一定要让它拥有唯一的地址,就增加地址译码电路。比如8155有256B的RAM
和8B的IO空间需求,你要正好满足这种情形,就得先确定它们的地址。

假如你需要RAM在0-ff,而IO在0x8000-0x8007,就要提供地址译码电路,当地址
在0-ff间时,译码电路使8155的CE和IO_M都得到0,如果地址在0x8000-0x8007间,
就让8155的CE为0而IO_M为1. 其它地址CE应是1.

但在单片机应用时,因为8051的外部地址空间常常是用不完的,就不需要这样麻烦,
一般尽量不使用额外的元件。
  相关解决方案