初级问题请教? 8155芯片的PA口地址是怎么确定的呀?

yaoike 2007-02-03 06:36:59
请问一下各位, 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 ,这个地址是怎么得来的呢?谢谢大家的回答,非常感谢!!!

...全文
2459 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaoike 2007-02-06
  • 打赏
  • 举报
回复
喔,我大体上明白了,非常感谢各位的精彩讲解!!!!!!!!!!!!!!!!
特别感谢 gr8_bug 和 想当英雄的懦夫...
yaoike 2007-02-05
  • 打赏
  • 举报
回复
谢谢 大漠苍穹, 菜农, 想当英雄的懦夫的解答,特别感谢 '想当英雄的懦夫'.

Re: 想当英雄的懦夫
1. 它只有8条地址线,和一个nCE,一个IO_nM,当它的IO_nM为1,它只对A0-A2三条地址
进行译码,所以它的DATASHEET说PA的地址是XXXXX001.

你的意思是说: PA地址是XXXXX001. 其中的 'X' 表示可为0,也可为1,与它的接线方式无关,那是不是8031 P0.3-P0.7就不用接线到8155的AD3-AD7各引脚了呢?

2. Re: 根据你给出的图,PA的地址其实有多个,7f01,7d01,7b01,7901,7701....
那要怎么接线才可以明确确定是 7F01 呢?

嗯,如果你方便的话,你可以加我QQ指导一下吗?非常感谢,我QQ是: 84319598
seedundersnow 2007-02-05
  • 打赏
  • 举报
回复
它只有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。
yaoike 2007-02-05
  • 打赏
  • 举报
回复
我看的书是北航的<单片机原理与接口技术>,简明修订版, 李朝青 编著, 都没有发现与此相关的知识,您可以介绍一下有说这方面的单片机基础知识的书吗?
谢谢...
flowercity 2007-02-05
  • 打赏
  • 举报
回复
寻址方式
线选

看看单片机基础知识就不难理解了
yaoike 2007-02-05
  • 打赏
  • 举报
回复
我在google.com找到的资料,看了很久,可还是不明白,望各位详细讲解一下?

8031 8155
|------------------| ______________ |--------------------|
| P0.0 ~ P0.7 | <______________> | AD0 ~ AD7 |
| | | |
| ALE | <-------------> | ALE ___ |
| P2.7 | <-------------> | _ CE |
| P2.0 | <-------------> | IO/M |
| __ | | __ |
| WR | <-------------> | WR |
| __ | | __ |
| RD | <-------------> | RD |
|__________________| |____________________|

图1


8031的 P2.7口线作为8155选片端,P2.0作为IO/RAM选择线,根据线选法原理,8155端口地址可计算如下,因8155在 =0时有效,所以P2.7=0,P2.0 接IO/RAM脚,P2.0=1时为I/O口,P2.0=0 时为内部RAM。

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
0 1 1 1 1 1 1 1

命令口地址: 7F00H 定时器低8位:7F04H
PA口地址 7F01H 定时器高8位:7F05H
PB口地址 7F02H
PC口地址 7F03H


请问一下,我在书面的图1中,都没有发现有8031芯片 P2.1 ~ P2.6 端口连接到8155芯片上的接线,为什么8155的PA口地址跟P2.1~P2.6端口有关联呢?正确的连线法是怎么连的呢?小弟是计算机专业转单片机方向的,所以,很多东西靠自学,此类问题书上没有说明,不是很清楚,劳各位仁兄看到后花费你的宝贵时间详细讲解一下,或是在关键地方点一下,多谢了.
还有一点要麻烦各位的,请讲解一下,PA口地址的高8位是怎么定义的? 不明白PA口地址为什么高8位是7F?
gr8_bug 2007-02-05
  • 打赏
  • 举报
回复
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的外部地址空间常常是用不完的,就不需要这样麻烦,
一般尽量不使用额外的元件。
gr8_bug 2007-02-05
  • 打赏
  • 举报
回复
地址译码虽然不用,但DATA的读写还是要用,所以一定要接。
bigbat 2007-02-03
  • 打赏
  • 举报
回复
和你的接线有关。把它当做是外部存储器了。

27,508

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧