51单片机引脚ALE的具体作用?怎么控制地址锁存器的?

2024年11月17日 09:50
有5个网友回答
网友(1):

ALE:地址锁存控制/片内EPROM编程脉冲输入信号
ALE(Address Lock Enable)功能是在访问外部存储器时,P0口做为地址/数据复用口,ALE信号用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址,在ALE信号的下降沿时将P0口上的低8位地址送到地址锁存器锁存起来。在ALE为低电平期间P0口上的信息为指令或数据信息。在ALE为低电平期间P0口上的信息为指令或数据信息,以实现低位地址与数据的分离。
值的注意的是,在访问片外数据存储器时,人会缺少一个ALE脉冲。

当不访问外部存储器时,该信号也以晶振频率的六分之一固定输出正脉冲信号,可以作为外部的定时脉冲使用。如果想禁止ALE的输出可在SFR(特殊功能寄存器)8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时才起作用。

网友(2):

ALE(Address Lock Enable)功能是在访问外部存储器时,P0口做为地址/数据复用口,ALE信号用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址,在ALE信号的下降沿时将P0口上的低8位地址送到地址锁存器锁存起来。在ALE为低电平期间P0口上的信息为指令或数据信息。在ALE为低电平期间P0口上的信息为指令或数据信息,以实现低位地址与数据的分离。

ALE是自动运行的

ALE:地址锁存控制/片内EPROM编程脉冲输入信号

ALE(Address Lock Enable)功能是在访问外部存储器时,P0口做为地址/数据复用口,ALE信号用于锁存低8位地址。当ALE信号为高电平时,P0口上的信息为低8位地址,在ALE信号的下降沿时将P0口上的低8位地址送到地址锁存器锁存起来。

在ALE为低电平期间P0口上的信息为指令或数据信息。在ALE为低电平期间P0口上的信息为指令或数据信息,以实现低位地址与数据的分离。

值的注意的是,在访问片外数据存储器时,人会缺少一个ALE脉冲。

当不访问外部存储器时,该信号也以晶振频率的六分之一固定输出正脉冲信号,可以作为外部的定时脉冲使用。如果想禁止ALE的输出可在SFR(特殊功能寄存器)8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时才起作用。

网友(3):

ALE是自动运行的,这个不用你在程序里去管。

“顺问一下单片机往锁存器输出的地址和数据有什么分别,不都是二进制数吗”
虽然都是进制数据,但是意义不一样,而且位置不一样,作为地址时,是作用于芯片的地址端的,作为数据时,是作用在数据端的,这里有个时序的问题,就像同一个男教师,对儿子和对学生来说,意义不一样,面对不同的人,在不同的时间,这个男人的角色就不一样。
这个涉及到数电知识,你是大一,估计没学到数电,等你学了,你就明白了。

我简单的讲一下,要想深入了解,你要看数电课本。

51单片机与别的单片机不一样,他的数据端口和地址端口的低8位是同一个端口,都是P0口,那么,如何区分P0此时是数据还是地址?方法就是引入一个锁存器。

比如说,我向地址 是 0xEE55的地址里写入一个数据 “0xAA"
步骤过程是这个样子的:

1 ALE控制锁存器,允许锁存器跟踪
2 P2和P0口联合输出地址0xEE55,其中P2输出0xEE,P0输出0x55
3 ALE电平翻转,禁止锁存器跟踪,即此时,锁存器的输出端不在发生任何变化,所以,芯片地址不变,依旧是“0xEE55"
4 P0口输出数据 "0xAA",此时,芯片的数据端就出现"0xAA",

经过以上步骤,0xAA就被存入到地址0xEE55里去了。

以上过程是单片机自动进行的,不用程序特意干扰,如果执行:

unsigned char xdata *p = (unsigned char xdata *)0xEE55;
*p = 0xAA;
单片机自动进行以上4步骤的过程,ALE,P0,P2口都自动变化。

网友(4):

ALE(30脚):地址锁存允许信号端。当8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fosc的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。在CPU访问片外数据存储器时,会丢失一个脉冲。平时不访问外存储器时,ALE端也可1/6的振荡频率固定输出正脉冲,因而ALE也可以用作对外输出时钟或定时信号。

如果想看一下8051芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出,输出振荡器的六分之一频率的脉冲,可供给外部芯片做时钟,如有,则8051基本上是好的。ALE端的负载驱动能力为8个LS型TTL。此引脚的第二功能PROG是对片内带有4K EPROM的8751固化程序时,作为编程脉冲输入端。

51单片机设计数据总线与低8位地址总线合用P0口,因此在扩展外部三总线时为了分清哪是数据,哪是地址,CPU通过ALE引脚来发出信号,当发地址稳定后发出一个ALE 信号,这个信号一般通过锁存器(比如74LS373)接收,并把P0口的地址信号保存到锁存器中。如此就可使用外部拓展器件了.

网友(5):

单片机上的ALE是接373上的锁存允许LE的,没有错。
这个外部RAM和ROM的读写时序,在书上都有,可以去参考一下。而且非常好用。