51单片机引脚ALE的具体作用是什么?怎么控制地址锁存器? P0口为什么采用片外地址锁存器

51\u5355\u7247\u673a\u5f15\u811aALE\u7684\u5177\u4f53\u4f5c\u7528\uff1f\u600e\u4e48\u63a7\u5236\u5730\u5740\u9501\u5b58\u5668\u7684\uff1f

ALE\uff1a\u5730\u5740\u9501\u5b58\u63a7\u5236/\u7247\u5185EPROM\u7f16\u7a0b\u8109\u51b2\u8f93\u5165\u4fe1\u53f7
ALE(Address Lock Enable)\u529f\u80fd\u662f\u5728\u8bbf\u95ee\u5916\u90e8\u5b58\u50a8\u5668\u65f6\uff0cP0\u53e3\u505a\u4e3a\u5730\u5740/\u6570\u636e\u590d\u7528\u53e3\uff0cALE\u4fe1\u53f7\u7528\u4e8e\u9501\u5b58\u4f4e8\u4f4d\u5730\u5740\u3002\u5f53ALE\u4fe1\u53f7\u4e3a\u9ad8\u7535\u5e73\u65f6\uff0cP0\u53e3\u4e0a\u7684\u4fe1\u606f\u4e3a\u4f4e8\u4f4d\u5730\u5740\uff0c\u5728ALE\u4fe1\u53f7\u7684\u4e0b\u964d\u6cbf\u65f6\u5c06P0\u53e3\u4e0a\u7684\u4f4e8\u4f4d\u5730\u5740\u9001\u5230\u5730\u5740\u9501\u5b58\u5668\u9501\u5b58\u8d77\u6765\u3002\u5728ALE\u4e3a\u4f4e\u7535\u5e73\u671f\u95f4P0\u53e3\u4e0a\u7684\u4fe1\u606f\u4e3a\u6307\u4ee4\u6216\u6570\u636e\u4fe1\u606f\u3002\u5728ALE\u4e3a\u4f4e\u7535\u5e73\u671f\u95f4P0\u53e3\u4e0a\u7684\u4fe1\u606f\u4e3a\u6307\u4ee4\u6216\u6570\u636e\u4fe1\u606f\uff0c\u4ee5\u5b9e\u73b0\u4f4e\u4f4d\u5730\u5740\u4e0e\u6570\u636e\u7684\u5206\u79bb\u3002
\u503c\u7684\u6ce8\u610f\u7684\u662f\uff0c\u5728\u8bbf\u95ee\u7247\u5916\u6570\u636e\u5b58\u50a8\u5668\u65f6\uff0c\u4eba\u4f1a\u7f3a\u5c11\u4e00\u4e2aALE\u8109\u51b2\u3002

\u5f53\u4e0d\u8bbf\u95ee\u5916\u90e8\u5b58\u50a8\u5668\u65f6\uff0c\u8be5\u4fe1\u53f7\u4e5f\u4ee5\u6676\u632f\u9891\u7387\u7684\u516d\u5206\u4e4b\u4e00\u56fa\u5b9a\u8f93\u51fa\u6b63\u8109\u51b2\u4fe1\u53f7\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u5916\u90e8\u7684\u5b9a\u65f6\u8109\u51b2\u4f7f\u7528\u3002\u5982\u679c\u60f3\u7981\u6b62ALE\u7684\u8f93\u51fa\u53ef\u5728SFR\uff08\u7279\u6b8a\u529f\u80fd\u5bc4\u5b58\u5668\uff098EH\u5730\u5740\u4e0a\u7f6e0\u3002\u6b64\u65f6\uff0cALE\u53ea\u6709\u5728\u6267\u884cMOVX\uff0cMOVC\u6307\u4ee4\u65f6\u624d\u8d77\u4f5c\u7528\u3002




P0\u53e3\u91c7\u7528\u7247\u5916\u5730\u5740\u9501\u5b58\u5668\u7684\u539f\u56e0\u662f\u56e0\u4e3aP0\u53e3\u6240\u5bf9\u5e94\u7684\u5730\u5740\u662f\u53ef\u7f16\u7a0b\u7684\uff0c\u9700\u8981\u901a\u8fc7\u5916\u90e8\u5668\u4ef6\u6765\u5b9e\u73b0\u5bf9P0\u53e3\u5730\u5740\u7684\u7f16\u7a0b\u3002\u800c\u4e3a\u4e86\u786e\u4fdd\u7f16\u7a0b\u7684\u6570\u636e\u80fd\u591f\u6b63\u786e\u5730\u88ab\u4f20\u8f93\u5230P0\u53e3\u6240\u63a7\u5236\u7684\u5916\u8bbe\u4e2d\uff0c\u9700\u8981\u4f7f\u7528\u5730\u5740\u9501\u5b58\u5668\u6765\u5bf9\u7f16\u7a0b\u5730\u5740\u8fdb\u884c\u9501\u5b9a\uff0c\u4ece\u800c\u4fdd\u8bc1\u6570\u636e\u80fd\u591f\u51c6\u786e\u65e0\u8bef\u5730\u4f20\u8f93\u5230\u6b63\u786e\u7684\u5916\u8bbe\u4e2d\u3002\u56e0\u6b64\uff0cP0\u53e3\u91c7\u7528\u7247\u5916\u5730\u5740\u9501\u5b58\u5668\u662f\u63d0\u9ad8\u6570\u636e\u4f20\u8f93\u7684\u53ef\u9760\u6027\u548c\u51c6\u786e\u6027\u7684\u5fc5\u8981\u63aa\u65bd\u3002

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

ALE是自动运行的



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。

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口都自动变化。

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指令时才起作用。

  • MCS51绯诲垪鍗曠墖鏈虹殑ALE寮曡剼鏈夊摢浜涘姛鑳?
    绛旓細MCS-51绯诲垪鍗曠墖鏈虹殑ALE寮曡剼涓昏鍔熻兘濡備笅锛1. 鍦板潃閿佸瓨淇″彿锛欰LE鍦ㄦ瘡涓満鍣ㄥ懆鏈熻緭鍑轰袱涓鑴夊啿锛岄氬父浠ユ櫠鎸叚鍒嗕箣涓鐨勫浐瀹氶鐜囪緭鍑鸿剦鍐诧紝鍙敤浣滃閮ㄥ畾鏃跺櫒鎴栨椂閽銆2. 澶栭儴瀹氭椂鍣ㄦ垨鏃堕挓锛氬湪璁块棶鐗囧瀛樺偍鍣ㄦ椂锛孉LE鐨勪笅闄嶆部鎺у埗P0鍙h緭鍑虹殑浣8浣嶅湴鍧鑷冲鎺ュ湴鍧閿佸瓨鍣ㄣ傛湭鎺ュ閮ㄥ瓨鍌ㄥ櫒鏃讹紝ALE寮曡剼杈撳嚭鍙綔涓...
  • 51鍗曠墖鏈篈LE鏄粈涔堟剰鎬?
    绛旓細骞虫椂涓嶈闂瀛樺偍鍣ㄦ椂锛孉LE绔篃鍙1/6鐨勬尟鑽¢鐜囧浐瀹氳緭鍑烘鑴夊啿锛鍥犺孉LE涔熷彲浠ョ敤浣滃澶栬緭鍑烘椂閽熸垨瀹氭椂淇″彿銆傚鏋滄兂鐪嬩竴涓8051鑺墖鐨勫ソ鍧忥紝鍙敤绀烘尝鍣ㄦ煡鐪婣LE绔槸鍚︽湁鑴夊啿淇″彿杈撳嚭锛岃緭鍑烘尟鑽″櫒鐨勫叚鍒嗕箣涓棰戠巼鐨勮剦鍐,鍙緵缁欏閮ㄨ姱鐗囧仛鏃堕挓锛屽鏈夛紝鍒8051鍩烘湰涓婃槸濂界殑銆侫LE绔殑璐熻浇椹卞姩鑳藉姏涓8涓狶S鍨婽TL銆...
  • mcs.51鍗曟満鐗囩殑寮曡剼reset,ale,ea鍚勬湁浠涔浣滅敤
    绛旓細reset褰撴尟鑽″櫒杩愯鏃讹紝鍦ㄦ寮曡剼涓婂嚭鐜颁袱涓満鍣ㄥ懆鏈熺殑楂樼數骞筹紙鐢变綆鍒伴珮璺冲彉锛夛紝灏嗕娇鍗曠墖鏈哄浣 ale锛氳闂閮ㄥ瓨鍌ㄥ櫒鏃锛岃緭鍑鸿剦鍐茬殑涓嬮檷娌跨敤浜庨攣瀛16浣嶅湴鍧鐨勫湴鍏綅锛屽嵆浣夸笉璁块棶澶栭儴瀛樺偍鍣紝涔熸湁鍛ㄦ湡姝h剦鍐茶緭鍑猴紝棰戠巼涓洪渿鑽″櫒棰戠巼鐨1/6 ea锛氫负楂樼數骞虫椂璁块棶鍐呴儴绋嬪簭瀛樺偍鍣紝涓轰綆鐢靛钩鏃惰闂閮ㄧ▼搴忓瓨鍌ㄥ櫒 ...
  • 51鍗曠墖鏈涓ALE绠¤剼鏄粈涔堟剰鎬
    绛旓細閿佸瓨鍣ㄤ俊鍙凤紝褰撹闂閮ㄦ暟鎹垨绋嬪簭瀛樺偍鍣ㄦ椂锛孭0鍙e厛杈撳嚭鍦板潃淇″彿锛堜綆8 浣嶏級锛屽悗杈撳嚭鏁版嵁锛屽洜姝よ鐢ㄩ攣瀛樺櫒閿佸瓨鍦板潃锛ALE灏辨槸渚涢攣瀛樺櫒鐢ㄧ殑閿佸瓨淇″彿锛屽湪鑴夊啿鐨勪笅闄嶆部锛屽湴鍧淇″彿琚攣瀛 瑙佷笅鍥撅細
  • 鍗曠墖鏈涓ALE鏄粈涔堟剰鎬
    绛旓細51鍗曠墖鏈虹锛孉LE 鏄嫳鏂"ADDRESS LATCH ENABLE"鐨勭缉鍐欙紝琛ㄧず鍏佽鍦板潃閿佸瓨鍏佽淇″彿銆傚綋璁块棶澶栭儴瀛樺偍鍣ㄦ椂锛孉LE 淇″彿璐熻烦鍙樻潵瑙﹀彂澶栭儴鐨8 浣嶉攣瀛樺櫒 (濡74LS373)锛屽皢绔彛P0 鐨勫湴鍧鎬荤嚎(A0-A7)閿佸瓨杩涘叆閿佸瓨鍣ㄤ腑銆傚湪闈炶闂閮ㄥ瓨鍌ㄥ櫒鏈熼棿锛孉LE 寮曡剼鐨勮緭鍑洪鐜囨槸绯荤粺宸ヤ綔棰戠巼鐨 1/16锛屽洜姝ゅ彲浠ョ敤鏉ラ┍鍔ㄥ叾浠...
  • MCS-51鍗曠墖鏈虹殑 EA銆ALE鍜孭SEN 绔殑鍔熻兘鏄粈涔?
    绛旓細ALE鈥斺擜LE 涓哄湴鍧閿佸瓨鍏佽淇″彿锛屽湪璁块棶澶栭儴瀛樺偍鍣ㄦ椂锛孉LE 鐢ㄦ潵閿佸瓨 P0閫佸嚭鐨勪綆 8 浣嶅湴鍧淇″彿銆 PSEN 鈥斺斿閮ㄧ▼搴忓瓨鍌ㄥ櫒鐨勮閫夐氫俊鍙枫傚綋璁块棶澶栭儴 ROM 鏃讹紝 PSEN 浜х敓璐熻剦鍐蹭綔 涓哄閮 ROM鐨勯夐氫俊鍙;鍦ㄨ闂閮 RAM鎴栫墖鍐 ROM鏃讹紝涓嶄細浜х敓鏈夋晥鐨凱SEN 淇 鍙枫 PSEN 鍙┍鍔 8 涓狶STTL 闂ㄨ緭鍏...
  • 51鍗曠墖鏈虹殑寮曡剼鐨鍥涚妯″紡鍒嗗埆鏄湪浠涔堟儏鍐典笅鐢ㄤ粈涔堟ā寮?
    绛旓細杩欎笉鏄爣鍑51锛屾爣鍑51鐨IO鍙g粨鏋勯兘鏄噯鍙屽悜鍙o紝娌℃湁寮烘帹鎸藉拰寮婕忋備笉绠℃爣鍑51杩樻槸鎵╁睍51锛屼笂鐢靛浣嶇殑鏃跺橧O绠¤剼閮芥槸杈撳叆妯″紡锛岄伩鍏嶅鍥寸數璺笉鍖归厤寮曡捣鐨勬崯鍧忋傦紙褰撶劧锛屾煇浜涙儏鍐典笅浼氬埢鎰忓埄鐢ㄨ繖绉嶆崯鍧忥級
  • mcs.51鍗曟満鐗囩殑寮曡剼reset,ale,ea鍚勬湁浠涔浣滅敤
    绛旓細reset褰撴尟鑽″櫒杩愯鏃讹紝鍦ㄦ寮曡剼涓婂嚭鐜颁袱涓満鍣ㄥ懆鏈熺殑楂樼數骞筹紙鐢变綆鍒伴珮璺冲彉锛夛紝灏嗕娇鍗曠墖鏈澶嶄綅 ale锛氳闂閮ㄥ瓨鍌ㄥ櫒鏃讹紝杈撳嚭鑴夊啿鐨勪笅闄嶆部鐢ㄤ簬閿佸瓨16浣嶅湴鍧鐨勫湴鍏綅锛屽嵆浣夸笉璁块棶澶栭儴瀛樺偍鍣紝涔熸湁鍛ㄦ湡姝h剦鍐茶緭鍑猴紝棰戠巼涓洪渿鑽″櫒棰戠巼鐨1/6 ea锛氫负楂樼數骞虫椂璁块棶鍐呴儴绋嬪簭瀛樺偍鍣紝涓轰綆鐢靛钩鏃惰闂閮ㄧ▼搴忓瓨鍌ㄥ櫒 ...
  • 鍏充簬51鍗曠墖鏈虹殑ALE寮曡剼鐨勯棶棰
    绛旓細杩欎釜寮曡剼鐨勫姛鑳芥槸涓嶈兘鍙楃▼搴忔帶鍒剁殑锛屽鏋滄妸ea璁剧疆涓轰綆鐢靛钩锛51浠庡閮╮om璇诲彇鎸囦护锛宎le灏辨槸閿佸瓨淇″彿銆俿tc鐨鍗曠墖鏈鍙互閫氳繃瀵勫瓨鍣ㄦ潵涓婅缃ale鐨鍔熻兘锛屽叾瀹冪殑51涓嶅彲浠
  • 51鍗曠墖鏈篈LE寮曡剼閲婄枒..鐞嗚В鐨勫府涓繖!
    绛旓細杩欎釜寮曡剼鐨勫姛鑳芥槸涓嶈兘鍙楃▼搴忔帶鍒剁殑锛屽鏋滄妸EA璁剧疆涓轰綆鐢靛钩锛51浠庡閮╮om璇诲彇鎸囦护锛宎le灏辨槸閿佸瓨淇″彿銆俿tc鐨鍗曠墖鏈鍙互閫氳繃瀵勫瓨鍣ㄦ潵涓婅缃ale鐨鍔熻兘锛屽叾瀹冪殑51涓嶅彲浠
  • 扩展阅读:单片机ale引脚是什么 ... 51单片机ale引脚的作用 ... 51单片机引脚功能图文 ... ale引脚 ... 51单片机psen引脚功能 ... 单片机的ale引脚功能 ... 51单片机常见型号 ... 51单片机xtal1和xtal2引脚 ... 51单片机ale引脚输出频率 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网