51单片机扩展IO什么的,据说是可以扩展16位地址线(P2高8位,P0低8位那一套),那么就理解为

51单片机扩展IO什么的,据说是可以扩展16位地址线(P2高8位,P0低8位那一套),那么就理解为可以访问2^16个不同的地址了。但看了好多例子都只发现只有P2的几位真正用来作为选择信号的,要么2选4,要么3选8,更吐血的是,低8位全部是无关紧要!这是什么意思!哪有2^16这么多!最蛋疼的是那个经典的ADC 0804用三总线接的例子(相信很多人都看过也做过),一个P2.7接CS一个P0接数据口就说是三总线了,实在是看不出来。求哪位仁兄解释一下

最早的51用这个功能扩展外存储,ram或rom,最大可以扩展2^16的rom,这种扩展有好几种方式,只扩展8位地址空间的话逻辑上更简单些,就只用P0口,不影响P2口工作.很多设计用这个功能实现其它的硬件设计,理由是简单,所以在众多的51系列产品上这个功能一直被保留至今日.
三总线就是spi接口了.追问

只用P0的话就要用那个地址锁存器了?

追答

扩展或复用时候才要锁存,其实扩展就是复用的一种.

追问

诶。ADC0804那个例子还是不清楚啊。只接了个P0和P2.7,就说ADC的地址addr是多少多少了,然后一句话addr=0xff什么的。真不明白单片机是怎么找到那个地址的。又怎么把数据发过去的。

追答

嗯,好似不是spi接口,没整过呢

追问

那是个很经典的AD/DA的例子。但是书上从来就没有深入讲过这个原理。你是做产品的嘛?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-01
关注这个问题
相似回答