|
引用楼主 jiyiche 的帖子:
问一个比较基础的问题,也是经常有人问的。如果我在P0口上面挂了地址锁存器(如74HC573),但我突然想要把P0口当作普通I/O口来用,即直接对其输出与读入,这样可以吗?不考虑WR和RD信号。
第一种分析:可以的。因为P0口虽然可以当作地址数据复用口,但单纯的输出或读入数据时,它就相当于一个普通IO口,跟地址没关系了。
第二种分析:不可以。因为P0口上面已经挂了地址锁存器,这时写数据没问题,但是读数据时会受到地址锁存…
个人建议(如果又不对的地方请指出),仅供参考:
分析:
1、p0一般在单片机运用中常常把地址低8位地址线和4位数据线复用,常常加上了地址所存器;
2、如果系统不用储存器,P0口常用作普通的IO口;
3、无论作什么用,强烈建议加上拉电阻;
4、如果想作地址低8位用,又想做普通io口用,建议采用如下办法:(当然编程比较麻烦些)
一种方法:利用多余的io控制系统储存器的片选,当使用储存器时,选择存储器,同时禁止P0口作为普通的io口使用;当使用P0口作为IO口时,禁止储存器操作(这种方法操作复查);
另一种方法:直接利用高地址线来区分,这样操作简单,当然外扩储存器空间减少;
这两者方法根据时间情况使用;
以上是个人想法,如有不妥之处请指出。
|
|