發布日期:2022-10-09 點擊率:37
當單片機內部程序存儲器容量短少時,就需求進行程序存儲器的拓寬。單片機的程序存儲器拓寬運用只讀存儲器芯片。只讀存儲器ROM中的信息一旦寫入往后就不能隨意更改,即不能在程序作業進程中寫入新的內容,而只能讀存儲單元內容。因為掉電后ROM中寄存的數據不會扔掉,所以ROM適合寄存程序、常數、表格等。存儲器拓寬的基地疑問是存儲器的編址疑問。所謂編址即是給存儲單元分配地址。因為存儲器一般由多片芯片構成,因而存儲器的編址分為兩個層次,即存儲器芯片的挑選和存儲器芯片內部存儲單元的挑選。
一、存儲器編址技能
編址即是給存儲單元分配地址。運用體系供給的地址線,經過恰當的聯接,使得一個地址僅有對應存儲器中一個存儲單元。存儲器芯片的挑選有兩種辦法:
1.線選法----直接以體系的地址作為存儲芯片的片選信號。利益是簡略不需添加額外電路,適用于小計劃單片機體系的存儲器拓寬;缺陷是存儲空間不接連。
2.譯碼法---運用譯碼器對體系的高位地址進行譯碼,以其譯碼輸出作為存儲芯片的片選信號。利益是存儲空直接連,適用于大容量多芯片存儲器拓寬;缺陷是硬件計劃需求添加譯碼器。
3.譯碼器
譯碼法時需求選用譯碼芯片,多見譯碼芯片有:74LS139(雙2-4譯碼器)和74LS138(3-8譯碼器)等,它們的CMOS型芯片別離是74HC139和74HC138。74LS138如圖1所示。
圖1 74LS138芯片
74LS138的真值表闡了解其輸入輸出以及操控信號的聯絡,如圖2所示。
圖2 74LS138的真值表
二、EEPROM接口計劃
以2764為例來闡明存儲器的拓寬接口計劃辦法。2764是一種8K×8位的紫外線擦除電可編程只讀存儲器,單一+5V供電,作業電流為100mA,堅持電流為50mA,讀出時刻最大為250ns。2764為雙列直插式28引腳的規范芯片,容量為8K×8位。其引腳見圖3。
2764在運用時,只能將其所存儲的內容讀出。即首要送出要讀出的單元地址,然后使和
均有用(低電平),則在芯片的D0~D7數據線上就能夠輸出要讀出的內容。其進程的時序聯絡如圖4所示。
圖3 2764引腳圖 圖4 2764時序圖
以下兩個比方均選用2764,別離選用線選法和譯碼法來進行程序存儲器拓寬。
例1.選用線選法,運用兩片2764,總共構成8K×2=16K的有用地址。
解:2764有13根地址線,別離由P0.0~P0.7、P2.0~P2.4供給,體系的P2.5~P2.7沒有用,選用2片2764構成體系,則能夠運用P2.5~P2.7中的任何2根作為線選線,在本計劃中選用P2.5和P2.6作為線選線,則可剖析得到這2塊芯片的底子地址計劃。
假定未用地址線取0,則2764(1)的底子地址計劃:4000H~5FFFH。
假定未用地址線取0,則2764(2)的底子地址計劃:2000H~3FFFH。
圖5 線選法拓寬
例2.用EPROM2764拓寬生成24KB的程序接連存儲空間,選用74LS138譯碼,懇求該24KB的地址空間從8000H開端編碼。
解:因為1塊2764芯片是8KB,所以要生成24KB的程序存儲空間需求3塊2764芯片;因為生成的是接連的存儲空間,所以選用譯碼法。地址空間懇求從8000H開端編碼,則
2764(1)的底子地址計劃:8000H~9FFFH:
2764(2)的底子地址計劃:A000H~BFFFH:
2764(3)的底子地址計劃:C000H~DFFFH:
查詢3塊芯片的高位地址線A15~A13,并思考74LS138譯碼器的輸入與輸出之間的聯絡(見圖2)可知,3塊2764芯片應順次接Y4、Y5、Y6輸出端。拓寬電路圖見圖6。
圖6 譯碼法拓寬
上一篇:底子數字邏輯門電路
欄 目:PLC基礎知識
下一篇:51單片機指令活絡回想辦法總結
本文標題:單片機程序存儲器的拓寬
本文地址:http://www.22plc.com/xuexi/zhishi/24193.html
分享到:
更多PLC基礎知識
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航