MCS-51单片机的程序存储器和数据存储器共处同一地址空间为什么不会冲突

2025-05-20 10:49:00
推荐回答(1个)
回答1:

1.P0口在读写外部空间的时候,既要输出地址的低8位,又要输出(输入)8位数据。这两项操作是分时进行的:在一个机器周期里面,P0口先输出地址的低八位,用锁存器锁存起来,然后再输出(写操作)8位数据。在P0口输出数据的同时,P2口输出地址的高八位。所以P0口加了锁存,P2口不加。
其实单片机系统一般外边挂不了很多的设备,完全可以只用高八位地址来选址,不过这样一来外部空间的地址就不连续了,需要在程序上做点处理。
不过出于成本考虑完全可以这样做。
教材上例子的系统配置是为了让大家学到知识的配置,并不一定是最经济的,比如AT89S51七块钱就搞定,而8255、8155都要十几块的,而键盘扫描芯片则需要将近五十大洋,还不如配两个AT89S51专门扫描键盘、LED显示呢(如果确实需要)。
后边两道是考题吗?
第二个我觉得是#21FDH
第三个我不懂C
题目:程序空间你是不能用单片机自身的程序来读写的,比如mov就不行,自然不会产生冲突。还真没细研究这个问题,有待商讨……
呵呵,xuxuejuen是高手!透彻!