P0口作为分时复用接口,既要作为数据总线口,又要作为地址总线口
输出的低8位地址需要用8位锁存器锁存
ALE的下降沿将P0口输出的低8位地址锁存
• 对于锁存器:
○ /OE为输出使能端
§ /OE有效时,三态门导通
§ /OE无效时,三态门高阻(任何数据或信息都不能通过)
○ /LE为数据输入锁存信号
§ /LE有效时(低电平),数据锁存在锁存器内
§ /LE无效时(高电平),输入数据直通到锁存器输出端(下图绿色部分)
• 当单片机与锁存器构成总线扩展电路时:
○ ALE-------/LE(或者是CP)
○ GND------/OE
§ ALE=1时,/LE无效,输入的地址数据直通锁存器,P0与P2一同构成16位地址
§ ALE=0【产生负跳变时】,/LE有效,P0口中的地址数据打入锁存器内部(只进不出)
§ 然后P0口输出数据D0--D7,不必担心进入锁存器、进入地址总线;
§ 注意:
□ (负跳变之后)ALE=0,新的数据将不能再打入锁存器,因为不是负跳变
□ 等到ALE=1时,该传送的数据D0--D7已经发送完了;上一步打入锁存器的地址数据再一次直通锁存器;完成地址--数据--地址的复用