單片機系統(tǒng)中大容量數據存儲器的系統(tǒng)擴展
1 引言
mcs-51單片機系統(tǒng)擴展時,一般使用p0口作為地址低8位(與數據口分時復用),而p2口作為地址高8位,它共有16根地址總線,尋址空間為64kb。但在實際應用中,有一些特殊場合,例如,語音信號的采集,程控交換機話單的存儲,地形圖信號的收取等,需要有大于64kb的數據存儲器。文章根據作者實際使用的應用系統(tǒng),介紹一種大容量數據存儲器的擴展系統(tǒng)。該系統(tǒng)主機采用8031,擴展了三片62256,共96kb的動態(tài)數據存儲器,上面介紹其硬件組成及軟件處理方法。
2 系統(tǒng)的硬件組成
62256是32k×8位的數據存儲器,共有15根地址線,擴展96kb數據存儲器的硬件連接原理如圖1所示:為了給系統(tǒng)進行其它外設的擴展,占用了系統(tǒng)14根地址線。三片62256的第15根地址線都與8031的i/o口p1.0相連,而62256(1)的片選端與p1.1相連,62256(2)的片選端與p1.2相連,62256(2)的片選端與p1.3相連,這樣的連接方式使96kb的存儲空間分為6頁,每片62256都占用2頁存儲空間。各片地的地址分配如下:

3 軟件處理方法
當訪問數據存儲器時,采用分頁查找的方法,首取找到要訪問的頁數,再打開該頁,在該頁內查找某一單元。軟件上打開某頁都事先編好子程序。要訪問96kb的存儲空間,即地址范圍為00000h-17fffh,顯然16位地址寄存器dptr是無法寄存的,這里將地址裝入pam的起始三個連續(xù)單元中,即62256(1)起始三個單元中的內容(即要訪問的某單元地址),將該數據除以4000h,得商即為該單元的頁數,余數即為該頁中的地址,然后利用mcs-51指令中的散轉指令打開頁,訪問頁中的單元。具體軟件實現見下面的程序清單。




4 結束語
在作者設計的某工業(yè)電視圖像監(jiān)控系統(tǒng)中,由于需要通過主鍵盤可編程菜單,以及收集現場的各種信息,如報警,解碼盒狀態(tài)等等,所需的pam遠遠超出64kb的容量,因此,采用了上述硬件設計方法及軟件處理方法,使用起來非常方便。根據上述處理方法可以擴展更大的pam
評論