系統(tǒng)版本:半導(dǎo)體系統(tǒng)
鎖存器的作用是緩存,其次完成高速的控制器與慢速的外設(shè)的不同步問(wèn)題,再其次是解決驅(qū)動(dòng)的問(wèn)題,最后是解決一個(gè) I/O 口既能輸出也能輸入的問(wèn)題。鎖存器是利用電平控制數(shù)據(jù)的輸入,它包括不帶使能控制的鎖存器和帶使能控制的鎖存器。
所謂鎖存器,就是輸出端的狀態(tài)不會(huì)隨輸入端的狀態(tài)變化而變化,僅在有鎖存信號(hào)時(shí)輸入的狀態(tài)才被保存到輸出,直到下一個(gè)鎖存信號(hào)到來(lái)時(shí)才改變。
鎖存器多用于集成電路中,在數(shù)字電路中作為時(shí)序電路的存儲(chǔ)元件,在某些運(yùn)算器電路中有時(shí)采用鎖存器作為數(shù)據(jù)暫存器。
封裝為獨(dú)立的產(chǎn)品后也可以單獨(dú)應(yīng)用,數(shù)據(jù)有效延遲于時(shí)鐘信號(hào)有效。這意味著時(shí)鐘信號(hào)先到,數(shù)據(jù)信號(hào)后到。
在某些應(yīng)用中,單片機(jī)的I/O 口上需要外接鎖存器。例如,當(dāng)單片機(jī)連接片外存儲(chǔ)器時(shí),要接上鎖存器,這是為了實(shí)現(xiàn)地址的復(fù)用。假設(shè),MCU端口其中的 8 路的 I/O 管腳既要用于地址信號(hào)又要用于數(shù)據(jù)信號(hào),這時(shí)就可以用鎖存器先將地址鎖存起來(lái)。
8051訪問(wèn)外部存儲(chǔ)器時(shí)P0口和P2口共同做為地址總線,P0口常接鎖存器再接存儲(chǔ)器。以防止總線間的沖突。而P2口直接接存儲(chǔ)器。因?yàn)閱纹瑱C(jī)內(nèi)部時(shí)序只能鎖住P2口的地址,如果用P0口傳輸數(shù)據(jù)時(shí)不用鎖存器的話,地址就改變了。
看看8051單片機(jī)總線操作的時(shí)序圖對(duì)我們很有幫助。由于數(shù)據(jù)總線、地址總線共用P0口,所以要分時(shí)復(fù)用。先送地址信息,由ALE使能鎖存器將地址信息鎖存在外設(shè)的地址端,然后送數(shù)據(jù)信息和讀寫使能信號(hào),在指定的地址進(jìn)行讀寫操作。
使用鎖存器來(lái)區(qū)分開單片機(jī)的地址和數(shù)據(jù),8051系列的單片機(jī)用的比較多,也有一些單片機(jī)內(nèi)部有地址鎖存功能,如8279就不用鎖存器了。