❶ 如圖,單片機,數據存儲器的擴展,這題怎麼算,求過程
8K*8存儲器地址最大為:1FFFH,二進制:0001 1111 1111 1111
3-8解碼器分配給4片存儲器的地址組合是:
前3位 對應的最高地址 地址范圍
第一片:000 0001 1111 1111 1111 0000H--1FFFH
第二片:001 0011 1111 1111 1111 0000H--3FFFH
第三片:010 0101 1111 1111 1111 0000H--5FFFH
第四片:011 0111 1111 1111 1111 0000H--7FFFH
❷ 單片機程序存儲器擴展電路問題
答:在設計片外程序存儲器之前,首先要決定EA引腳的電平。
EA=0,單片機只訪問外部程序存儲器,對於8031單片機此引腳必須接地.EA=1,單片機訪問內部程序存儲器,對於內部有程序存儲器的8XX51單片機,此引腳應接高電平,但若地址值超過4KB范圍,單片機將自動訪問外部程序存儲器。
設定好EA後,單片機自動按程序所設定的次序執行。
在編程中不需要專門的語句指定調用的是外部程序存儲器。比如設定EA接高電平,則程序在執行完片內的程序存儲器指令後自動轉入片外程序存儲器,而無需特殊命令。這就是所謂的程序存儲器是片內外統一編址,而數據存儲器則用Mov和Movx分別對待的。
但樓主要知道程序在讀取片外指令代碼時的過程:先定址,再取數。單片機會根據PC的值先給P2和p0送一個選通地址(PC的值),接下來從片外程序存儲器讀取代碼。因為PC的值一般是連續的,這就要求片外的程序存儲器空間要連續分布,這和數據存儲器不同。如果不連續分布,就要用特殊的行號改變PC的值,使它和片外程序存儲器分布能夠對應。
❸ 「MCS-51系列單片機中,片內程序存儲器為4KB」,而同時又說「程序存儲器的定址空間為64KB」,求區別!
4K的存儲器表示這個51晶元的實際硬體的容量,你的程序受這個4K限制;
64K是51可以處理的地址能力范圍,這個是潛力而已。
有能力並不表示要把所有潛力轉化為實際的實力啊。
實際上,通過硬體電路的設計,是可以突破64K的限制的,不過這是另一方面的問題了。