51单片机ALE引脚的作用 - 锁存地址和输出时钟信号并不冲突

51单片机的ALE引脚既能输出时钟信号,又能作为地址总线的锁存引脚,这2个功能是如何协调的呢?会不会冲突呢?

ALE引脚作用

51单片机的ALE引脚是地址锁存控制引脚,其包含2个功能:

  1. 以1/6晶振频率的固定频率输出脉冲信号,可作为外部时钟或外部定时脉冲使用,比如可用于驱动ADC0809的CLOCK脚,为ADC0809提供时钟信号;

  2. 输出锁存信号,用于控制把P0端口输出的低8位地址送入锁存器锁存,以实现低位地址和数据的分时传送。

两种功能是否冲突

那么就有一个疑问,这2个功能是如何同时实现的呢?既然ALE引脚一直输出脉冲信号,那么不会影响到锁存功能吗?

为了弄清楚ALE的信号输出,这里使用示波器对信号进行观察。示波器分别连接了ALE引脚、WR引脚(P3.6)、RD引脚(P3.7),以及用于高8位地址总线的P2.0引脚。在程序中,通过读取地址为0xFFF8的xdata数据,使得单片机控制ALE引脚输出锁存信号。

单片机读取地址为0xFFF8的外部存储器数据时,波形如下图所示:


黄色 - ALE引脚;浅蓝色 - P2.0引脚;紫色 - WR引脚(P3.6);深蓝 - RD引脚(P3.7)

从图中可以看出,在没有读取外部存储器数据时,黄色的波形(ALE引脚)持续输出脉冲信号,对应的是ALE引脚输出脉冲信号的功能。

但是到了图片的中部,可以看到黄色波形有一段持续的低电平,并且浅蓝色的信号(地址总线P2.0引脚)转为低电平,RD引脚的信号也转变为了低电平。这个阶段就是单片机读取"地址为0xFFF8的外部存储器数据"的时刻。在这个时刻,单片机不再输出持续的脉冲信号,而是配合地址总线将地址锁存到锁存器,并结合WR或RD引脚,使外部存储器读取锁存器的地址信号,然后实现对外部存储器的读写操作。当对外部存储器的读写操作结束后,ALE将继续输出持续的脉冲信号。

所以ALE输出时钟信号的功能并不会影响其作为锁存引脚的功能。锁存功能用在单片机使用外部的数据和地址总线读取外部存储器的时候。在读取外部存储器数据的时候,还需要使用单片机的RD或WR引脚控制外部存储器,以实现对存储器的读写操作。从波形图中能够看到,当对存储器进行读写操作的时候,会相应的将WR和RD引脚拉低,也就是在WR或RD引脚拉低的时候,锁存器上的地址才是有效的。而从波形图上可以看到在WR或RD拉低的那段时间ALE引脚保持了一段低电平,以防止锁存器上的地址发送变化。也就是在单片机对外部存储器进行读写的这段时间,ALE引脚只用于锁存功能。

在其它时间ALE才作为时钟引脚一直输出时钟信号,虽然会改变锁存器锁存的地址,但因为并没有对外部存储器进行读写操作,所以锁存器发生任何变化也无所谓。

总结

通过上面的观察和分析,可以知道ALE引脚的功能是分时复用的。在需要对外部存储器进行读写操作的时候,ALE脚配合地址总线、RD和WR脚,实现对地址的锁存操作;而在其它时间ALE输出时钟信号。因此ALE输出时钟信号的功能与锁存地址的功能并不冲突。

相关推荐
TangDuoduo00056 小时前
【STM32 GPIO控制器原理】
stm32·单片机·嵌入式硬件
@good_good_study8 小时前
STM32 直流有刷电机控制(野火电机控制学习笔记)
stm32·单片机
逐步前行11 小时前
C51_矩阵按键
51单片机
RaLi和夕13 小时前
硬件电路设计学习笔记1.三极管开关电路设计
笔记·嵌入式硬件·学习
捷米研发三部13 小时前
工业无线数传模块:实现汽车零部件厂房 PLC 与触摸屏 300 米无线通讯
单片机·汽车
电子工程师-C5114 小时前
基于51单片机的鱼缸环境检测及控制系统
单片机·嵌入式硬件·51单片机
llhm16 小时前
iar中报错:Error[Li005]: no definition for “__aeabi_uldivmod“
单片机
QQ154018285616 小时前
PTCB818A规格书|PL27A1配套MCU|集成了BLE通信模块IC设计资料
单片机·ptcb818a·pl27a1配套mcu·ptcb818a资料
某林21216 小时前
SLAM 建图系统配置与启动架构
人工智能·stm32·单片机·嵌入式硬件·算法
p666666666817 小时前
STM32跑飞,进入HardFault_Handler如何精准的确定问题
stm32·单片机·嵌入式硬件