原创 51单片机ALE引脚的控制

2007-11-13 17:08 6264 6 7 分类: MCU/ 嵌入式

 ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。


在FLASH编程期间,此引脚用于输入编程脉冲。


在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。


当访问外部存储器时,ALE作为锁存扩展地址的低8位字节的控制信号。当访问外部数据存储器时,ALE以十二分之一振荡频率输出正脉冲,同时这个引脚也是EPROM编程时的编程脉冲输入端。


但是这个引脚还有一个非常有用的功能往往被很多人给忽视了,那就是当非访问外部数据存储器时,ALE以六分之一振荡频率固定输出正脉冲, 8051一个机器周期=6个状态周期=12个振荡周期,若采用6MHz的晶体振荡器,则ALE会发出1MHz的固定的正脉冲。因此它可以用来做外部时钟或定时。如果我们把这个功能应用与实际,可能给我们的设计带来简化,降低生产成本。


ALE脚是在使用MOVX、MOVC指令时才会变成有效(这些指令都使用到外部RAM或ROM的地址。这些指令都有一个特点:地址和数据分时出现在P0口)。使用C写程序时,要使用它有效,可用访问内部RAM地址的方法。如:uVariable=*((char *)0x12C),把0x12C地址的内容给uVariable变量。这个过程有效的脚为ALE、RD。


这个信号线的信号生成是MCU硬件电路实现的,不可以人工控制。 
在某些内置TOM的MCU里,可以关闭ALE信号输出,以降低EMI。 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户431392 2013-1-9 08:17

谢谢!很好,很实用。
相关推荐阅读
用户66603 2007-12-04 16:13
Proteus 自建元件库
一、Proteus VSM仿真模型简介    在使用Proteus仿真单片机系统的过程中,经常找不到所需的元件,这就需要自己编写。Proteus VSM的一个主要特色是使用基于DLL组件模型的可扩展性...
用户66603 2007-11-26 15:17
Keil和Proteus之间的通信设置
如何在keil中调用proteus进行MCU外围器件的仿真!         proteus 6.9以前的版本  1、安装keil c51 与 proteus   2、把proteus安装目录下MOD...
用户66603 2007-11-26 12:51
QQ空间的几个好工具
刷人气回复...
用户66603 2007-11-23 13:26
volatile的用法
volatile的本意是“易变的” 由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化。比如:static int i="0";int main(void){...whil...
用户66603 2007-11-14 16:16
WORD技巧60例分享
1、 Word表格自动填充  在Word表格里选中要填入相同内容的单元格,单击“格式→项目符号和编号”,进入“编号”选项卡,选择任意一种样式,单击“自定义”按钮,在“自定义编号列表”窗口中“编号格式”...
用户66603 2007-11-14 15:24
C51问答
一、#pragma asm是什么意思? #pragma asmMOV P1,R7NOPNOPMOV P1,#0#pragma endasm实际上就是一个在C51中内嵌汇编语言的开关  二、一个 hex...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条