單片機(jī)地址譯碼電路

發(fā)布時(shí)間:2024-04-02
在微處理器系統(tǒng)中,所有的存儲(chǔ)器(或i/o接口)都以地址來(lái)相互區(qū)分,根據(jù)訪問(wèn)存儲(chǔ)器(或訪問(wèn)i/o接口)指令中的地址信息,其地址譯碼電路產(chǎn)生相應(yīng)的地址選中信號(hào),以選中所需的存儲(chǔ)器(或i/o接口)。以存儲(chǔ)器的接口為例,對(duì)于一般的8位微處理器,其存儲(chǔ)器的地址線為16條(a0~a15),尋址范圍為64k,但在一個(gè)實(shí)際系統(tǒng)中不一定擴(kuò)展64k存貯器,而且所擴(kuò)展的存貯器也不是一片容量為64k的存儲(chǔ)器,因而整個(gè)系統(tǒng)通常要求擴(kuò)展幾片存貯器電路。每種存儲(chǔ)器芯片都根據(jù)其容量需要一定的地址信號(hào),如2k存儲(chǔ)器所需的地址信號(hào)為a0~a10,8k存儲(chǔ)器所需的地址信號(hào)為a0~a12。因此系統(tǒng)在連接存儲(chǔ)器時(shí)除了向存貯器芯片提供必須的地址信號(hào)外,還應(yīng)提供片選信號(hào),使其中的一個(gè)芯片在片選信號(hào)有效時(shí)工作。地址譯碼電路就是提供片選信號(hào)的電路。例如一個(gè)系統(tǒng)需要連接2片2k存貯器,因此系統(tǒng)必須向存儲(chǔ)器提供a10~a0的地址信號(hào),以選中 2k存貯器中的某一個(gè)單元。為了區(qū)別這兩個(gè)存儲(chǔ)器芯片中那一個(gè)被選中,應(yīng)另加片選信號(hào),此信號(hào)由譯碼電路產(chǎn)生。
i/o接口所需的地址譯碼電路的原理與存儲(chǔ)器相似,不同的是,通常i/o接口只需一個(gè)地址,或幾個(gè)地址,而不象存儲(chǔ)器一個(gè)芯片就占用較多的地址。因此對(duì)于i/o接口的譯碼電路,必須根據(jù)該設(shè)備占用的地址的數(shù)量來(lái)具體考慮。
地址譯碼通常采用全譯碼電路、部分譯碼電路、線選電路等不同的方式。
在系統(tǒng)中,存儲(chǔ)器或i/o接口需使用部分地址信號(hào),這些信號(hào)通常為地址信號(hào)中的低位地址信號(hào),全譯碼電路將其余所有的高位地址信號(hào)經(jīng)譯碼后作片選信號(hào)。在全譯碼電路的系統(tǒng)中,所有地址信號(hào)不是送入存儲(chǔ)器或i/o接口芯片,就是送入了譯碼電路。譯碼電路的輸出,即選中信號(hào)將與唯一的存儲(chǔ)器或i/o接口的地址對(duì)應(yīng)。如某個(gè)八位微處理器采用了i/o接口單獨(dú)編址的方式,其選擇存儲(chǔ)器的地址線為16條(a0~a15),選擇i/o接口的地址線為8條(a0~a7),則采用全譯碼電路時(shí),選擇存儲(chǔ)器的地址譯碼電路必須包含a0~a15的地址信號(hào)中被存儲(chǔ)器芯片所用的地址之外的所有地址信號(hào),而選擇i/o接口的地址譯碼電路必須包含a0~a7的地址信號(hào)中被i/o接口所用的地址之外的所有地址信號(hào)。圖1為常用的譯碼電路74ls138、74ls13。根據(jù)存儲(chǔ)器的容量,存儲(chǔ)器所需的地址信號(hào)不同,因而在采用不同存儲(chǔ)器時(shí)全譯碼電路的輸入地址信號(hào)不同,圖2為采用8k存儲(chǔ)器的全譯碼電路,送入譯碼電路的地址信號(hào)為a13~a15。其地址分配表如表1所示。從地址分配表中可以看出,采用全譯碼方法時(shí)各存貯器芯片之間的地址是連續(xù)的,而且能最有效地利用 64k存貯空間。
(a) 74ls138 (b) 74ls139
圖1 譯碼器的邏輯符號(hào)
圖2 全譯碼電路擴(kuò)展8k的存儲(chǔ)器
表1 擴(kuò)展8k存儲(chǔ)器的地址分配
當(dāng)系統(tǒng)需擴(kuò)展的存儲(chǔ)器或i/o接口的數(shù)量較少時(shí),可采用部分譯碼電路。與全譯碼電路不同的是部分譯碼電路將存儲(chǔ)器或i/o接口所用的低位地址線外的高位地址線中的部分地址信號(hào)作為譯碼電路的輸入信號(hào)。采用這種方法的優(yōu)點(diǎn)是減少了譯碼電路的輸入信號(hào),但譯碼的輸出與地址不是一一對(duì)應(yīng)的關(guān)系。由于未參加譯碼的地址信號(hào)可以有不同的編碼,因而譯碼的輸出可選中不同的地址。圖3為采用2k存儲(chǔ)器的部分譯碼電路,存儲(chǔ)器所用的地址為a0~a10,如用全譯碼電路,輸入到譯碼器的信號(hào)為a11~a15,而在圖3中僅用了a11~a13,a14、a15未參加譯碼。這樣a15、a14實(shí)際上可以存在4種情況,即00、01、10、11,以第一個(gè)芯片為例,當(dāng)我們將a15、a14理解為00時(shí),可在指令中以地址0000h~07ffh選中該芯片,但如果在指令中分別用了地址4000h~47ffh、8000h~87ffh、c000h~c7ffh選中的仍是該芯片,即一個(gè)單元可用幾個(gè)地址來(lái)訪問(wèn)。
圖3 部分譯碼電路
當(dāng)系統(tǒng)需擴(kuò)展的存儲(chǔ)器或i/o接口的數(shù)量較少時(shí),還可采用線選電路。以存儲(chǔ)器的擴(kuò)展為例,如系統(tǒng)擴(kuò)展的為8k的存儲(chǔ)器芯片,則地址信號(hào)a0~a12為存儲(chǔ)器所使用,在全譯碼電路中,用地址信號(hào)a12~a15作為地址譯碼,而在如圖4所示的線選電路中,這些信號(hào)將直接作為片選信號(hào)使用。很明顯,能使用的地址線只有3條,因而最多只允許連接3片8k的存貯器,共24k的存儲(chǔ)器容量。使用這種方法不能充分利用64k的存貯空間,常用于較小的系統(tǒng)。
圖4 線選法譯碼電路
表2為利用線選的方法擴(kuò)展3片存儲(chǔ)器時(shí)地址的分配情況,從表中可以看出,盡管這種方法比較簡(jiǎn)單,但其使用的地址是不連續(xù)的,而且在使用時(shí)必須防止兩條地址線同時(shí)為低電平,否則將使系統(tǒng)同時(shí)選中兩個(gè)存儲(chǔ)器芯片而無(wú)法正常工作。
表 2 線選電路存儲(chǔ)器的地址分配
芯片
a15
a14
a13
地 址
u3
1
1
0
c000h ~ dfffh
u4
1
0
1
a000h ~ bfffh
u5
0
1
1
6000h ~ 7fffh
上一個(gè):1500左右的臺(tái)式電腦推薦知乎
下一個(gè):小型一體化生活污水處理裝置廣東

RC0603FR-0715K4L,0603 15.4KΩ 1% 1/10W 電阻
電腦ssid名稱亂碼怎么解決,win7連中文ssid亂碼有辦法嗎
汽車輕合金車輪徑向疲勞性能要求和試驗(yàn)方法介紹
電力承試五級(jí)資質(zhì)許可證申請(qǐng)表怎么填寫(xiě)
茶樹(shù)良種——桃仁
這16種情況要謹(jǐn)慎喝茶,否則身體越來(lái)越差!
windows11刪除文件(windows刪除文件沒(méi)有提示)
二手不銹鋼滾筒烘干機(jī)的特點(diǎn)有哪些
蒸汽流量計(jì)的量程比要合理
江蘇懸臂梁沖擊試驗(yàn)機(jī)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos