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输出时钟信号的功能与锁存地址的功能并不冲突。

相关推荐
雅斯驰3 小时前
AES-128加密+滚动码认证:ATA5702W如何防御中继攻击与信号重放
运维·单片机·嵌入式硬件·物联网·自动化
iCxhust4 小时前
微机原理课程设计大综合---计数器
汇编·单片机·嵌入式硬件·课程设计·微机原理
搁浅小泽5 小时前
PCBA焊点的检测方法
单片机·嵌入式硬件·可靠性工程师
Deitymoon7 小时前
STM32——PWM控制舵机
stm32·单片机·嵌入式硬件
菜鸟的日志8 小时前
【嵌入系统】嵌入式学习笔记(一)
windows·笔记·嵌入式硬件·学习·ubuntu·操作系统
电子科技圈8 小时前
四大“门派”围攻边缘及端侧AI SoC市场“光明顶”
人工智能·嵌入式硬件·mcu·物联网·网络安全·音视频·语音识别
CHINA红旗下9 小时前
串口的使用
stm32·单片机·嵌入式硬件
踏着七彩祥云的小丑9 小时前
嵌入式测试学习第2天:欧姆定律 + 功率计算 + 电路单位换算
单片机·嵌入式硬件
BT-BOX9 小时前
Multisim 14.3 安装与汉化指南(附下载链接)
嵌入式硬件·物联网
不断提高10 小时前
别再写 while(1) 死循环了,嵌入式开发该换个活法
c语言·嵌入式硬件·嵌入式·状态模式