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。

最新文章

  1. Inode详解
  2. iframe布局
  3. VC比例放大缩小
  4. win7系统下的FTP配置
  5. sort详解2
  6. hdu4968
  7. Hash表算法
  8. hybrid开发设计
  9. 基础知识系列☞Abstract和Virtual→及相关知识
  10. 【英语】Bingo口语笔记(28) - 表示“秘密”
  11. java 调用 .net webservice
  12. sql 将一个表中的数据插入到另一个表中
  13. sql server更改机器名后更改数据库机器名
  14. hnsd11348tree(并查集)
  15. localStorge它storage事件
  16. Python内置数据类型总结
  17. 关于oracle数据库备份还原-impdp,expdp
  18. Django SNS 微博项目开发
  19. C语言--第4次作业
  20. 基于注解的Dubbo服务配置

热门文章

  1. 家有学霸的CEO
  2. Sea.js学习2——Sea.js的API 快速参考
  3. C++常见gcc编译链接错误解决方法
  4. ReorderList 的使用
  5. python(26)查看文件的大小
  6. JavaScript插件架构
  7. TextView与Html相结合的具体方法?
  8. PHP判断访问终端,电脑或手机访问
  9. java内存溢出分析(一)
  10. 玩转单元测试之Testing Spring MVC Controllers