51單片機ALE引腳的控制
在FLASH編程期間,此引腳用于輸入編程脈沖。
本文引用地址:http://dyxdggzs.com/article/201611/320361.htm在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當用作外部數據存儲器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態(tài)ALE禁止,置位無(wú)效。
當訪(fǎng)問(wèn)外部存儲器時(shí),ALE作為鎖存擴展地址的低8位字節的控制信號。當訪(fǎng)問(wèn)外部數據存儲器時(shí),ALE以十二分之一振蕩頻率輸出正脈沖,同時(shí)這個(gè)引腳也是EPROM編程時(shí)的編程脈沖輸入端。
但是這個(gè)引腳還有一個(gè)非常有用的功能往往被很多人給忽視了,那就是當非訪(fǎng)問(wèn)外部數據存儲器時(shí),ALE以六分之一振蕩頻率固定輸出正脈沖, 8051一個(gè)機器周期=6個(gè)狀態(tài)周期=12個(gè)振蕩周期,若采用6MHz的晶體振蕩器,則ALE會(huì )發(fā)出1MHz的固定的正脈沖。因此它可以用來(lái)做外部時(shí)鐘或定時(shí)。如果我們把這個(gè)功能應用與實(shí)際,可能給我們的設計帶來(lái)簡(jiǎn)化,降低生產(chǎn)成本。
ALE腳是在使用MOVX、MOVC指令時(shí)才會(huì )變成有效(這些指令都使用到外部RAM或ROM的地址。這些指令都有一個(gè)特點(diǎn):地址和數據分時(shí)出現在P0口)。使用C寫(xiě)程序時(shí),要使用它有效,可用訪(fǎng)問(wèn)內部RAM地址的方法。如:uVariable=*((char *)0x12C),把0x12C地址的內容給uVariable變量。這個(gè)過(guò)程有效的腳為ALE、RD。
這個(gè)信號線(xiàn)的信號生成是MCU硬件電路實(shí)現的,不可以人工控制。在某些內置TOM的MCU里,可以關(guān)閉ALE信號輸出,以降低EMI。
評論