<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 采用PSD913F2 擴展 8031程序空間

采用PSD913F2 擴展 8031程序空間

作者: 時(shí)間:2011-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

8031系列單片機是應用非常廣泛的MCU,但是隨著(zhù)控制領(lǐng)域的不斷智能化、復雜化,長(cháng)度可能遠遠大于8031的64KB限制??梢?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/采用">采用作為8031的外部存儲器,其最大可達256KB,用KeilC51的BlankSwitch技術(shù)可使8位MCU運行256KB的應用。

  內置256KB閃存,分為8個(gè)頁(yè)面,每頁(yè)16KB,內置可選的32KB啟動(dòng)存儲器、2KB的SRAM、27個(gè)I/O端口、電源管理單元、40個(gè)可編程邏輯宏單元CPLD,通過(guò)串口在線(xiàn)配置FPGA所有代碼,適用于8031、MC68HC11、Dallas、Z80等20余種單片機。

本文引用地址:http://dyxdggzs.com/article/172696.htm


8031與PSD913F硬件設計
  在多數應用中,MCU與外部存儲器之間連接時(shí)都必須用74LS373作為地址鎖存器。但內含地址鎖存器,因此PSD913F2的引腳可直接與8031相連,如圖1所示。


8031與PSD913F軟件設計
  KeilC51語(yǔ)言源程序經(jīng)過(guò)C51編譯器編譯后,生成浮動(dòng)地址的目標代碼文件。這種浮動(dòng)地址的目標代碼是不能直接裝入8051運行的,必須經(jīng)過(guò)連接定位器BL51的連接和定位,生成具有絕對地址的目標代碼。同時(shí)BL51支持分組連接定位,允許生成代碼大于64KB的目標程序,可以在具有適當硬件邏輯的8051系統中進(jìn)行代碼組之間的切換,以達到正常運行的目的。BL51可以管理最多32個(gè)代碼組,每個(gè)代碼組最大為64KB。BL51連接定位器生成的OMF51格式的絕對目標文件,可裝入dScope51或Intel兼容的仿真器進(jìn)行調試,也可通過(guò)符號轉換器OH51轉換成Intel Hex文件以便于EPROM編程。

  在BL51對目標程序進(jìn)行分組連接定位時(shí),要求8051系統具有相應的硬件分組邏輯。默認的分組方式是8051的P1端口作硬件地址線(xiàn)。采用1條P1口線(xiàn)時(shí),分組數為2,采用5條P1口線(xiàn)時(shí),最多可分為32個(gè)代碼組,剩余的P1口線(xiàn)也可用于其他用途。也可采用外部數據存儲器XDATA地址單元來(lái)進(jìn)行分組,與采用8051的P1端口作為分組地址線(xiàn)不同的是,對于一個(gè)指定用于分組地址的XDATA端口字節中的剩余位,不能再用于其他目的。采用的分組方式、組數和地址在L51_BANK.A51中進(jìn)行配置。

  下面介紹一下應用BankSwitch的步驟。
  1.建一個(gè)KeilC51的新工程如Psdos,在菜單Project選擇中選擇Option for Target “Target 1”選擇項,按圖2所示進(jìn)行項目配置。

  設置如下。
  ● 由于PSD913F2中有兩塊FLASH,從FLASH為32KB。故在off-chip code memory-Eprom設為0x0000~0x7fff。
  ● 在PSD913F2的PSDSoft Express已配置2KB的SRAM,地址范圍為0x2000~0x27ff,故在off-chip Xdata memory-Ram設為0x2000,長(cháng)度為0x0800。
  ● 在PSD913F2的主FLASH為128KB,共分為8個(gè)物理頁(yè),已在PSDSoft Express軟件中定義地址為0x8000~0xbfff,因此在KeilC51中如圖2所示分為4個(gè)Banks,地址范圍為0x8000~0xbfff。

  2.在KeilC51的安裝目錄KeilC51C51 EXAMPLESBank_EX1中,把L51_Bank.A51文件的拷貝并加入到新工程。在L51_BANK.A51文件中需改以下代碼。

  A?B_NBANKS EQU 4 //定義最大分組(0~32),可為2、4、8、16和32。
  ?B_MODE EQU 1 //0:通過(guò)8051單片機的I/O口進(jìn)行分組切換,1:通過(guò)XDATA存儲器單元進(jìn)行分組切換。
  ?B_XDATAPORT EQU 01E0H //如果?B_MODE被定義為1,就通過(guò)XDATA口定義XDATA口引腳地址/位來(lái)映射開(kāi)關(guān)定義XDATA口地址01E0H。

  3.新建主程序和各bank文件。

  4.設置文件的屬性。選擇主文件,選擇Options for File,設置Code Bank為“Common”,設置Stop on Exit為“Not Specified”,對Init.c、PsdOper.c也進(jìn)行同樣的設置。

  5.設置文件的屬性。如圖3所示右擊文件PSD_bank.c,選擇Options for File PSD_bank0.c,設置為Bank #0。同樣對PSD_bank1.c設置為Bank #1、PSD_bank2.c設置為Bank #2、PSD_bank3.c設置為Bank #3。

  6.設置好后,進(jìn)行編譯。

  7.進(jìn)行編程。打開(kāi)PSDSoft Express軟件,在Merge MCU Firmware with PSD模塊中設置各個(gè)FLASH頁(yè)面的地址和文件名,如圖4所示。
  ● 主FLASH第0頁(yè)(FS0),地址:0x8000-0xbfff,文件名:psdos.hoo
  ● 主FLASH第1頁(yè)(FS1),地址:0x8000-0xbfff,文件名:psdos.ho1
  ● 主FLASH第2頁(yè)(FS2),地址:0x8000-0xbfff,文件名:psdos.ho2
  ● 主FLASH第3頁(yè)(FS3),地址:0x8000-0xbfff,文件名:psdos.ho3
  ● 次FLASH(csboost 0),地址:0x8000-0xbfff,文件名:psdos.hoo

  8.通過(guò)FlashLink便可將文件下載到PSD913F2中,實(shí)現BankSwitch功能,使8031的程序空間大于64KB。
  用Keil C51的BankSwitch必須注意以下幾點(diǎn)。
  ● 下面的一些代碼必須放在公共區域內,復位和中斷向量、代碼常數、C51中斷函數、組切跳轉表、庫函數。
  ● 代碼組切換需要大約50個(gè)機器周期和2字節的堆??臻g。因此應當仔細安排程序結構以盡量減少代碼之間的切換。


結束語(yǔ)
  采用BankSwitch擴展8031程序空間,在不對硬件作任何修改的情況下,8031便可實(shí)現運行大于64KB的程序,充分發(fā)揮8031和KeilC51的優(yōu)異功能。



關(guān)鍵詞: 空間 程序 擴展 PSD913F2 采用

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>