當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]8031系列單片機(jī)是應(yīng)用非常廣泛的MCU,但是隨著控制領(lǐng)域的不斷智能化、復(fù)雜化,程序長度可能遠(yuǎn)遠(yuǎn)大于8031的64KB限制??梢圆捎肞SD913F2作為8031的外部存儲(chǔ)器,其程序空間最大可達(dá)256KB,用KeilC51的BlankSwitch技術(shù)可使8位

8031系列單片機(jī)是應(yīng)用非常廣泛的MCU,但是隨著控制領(lǐng)域的不斷智能化、復(fù)雜化,程序長度可能遠(yuǎn)遠(yuǎn)大于8031的64KB限制??梢圆捎?strong>PSD913F2作為8031的外部存儲(chǔ)器,其程序空間最大可達(dá)256KB,用KeilC51的BlankSwitch技術(shù)可使8位MCU運(yùn)行256KB的應(yīng)用程序。

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


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


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

  在采用BL51對(duì)目標(biāo)程序進(jìn)行分組連接定位時(shí),要求8051系統(tǒng)具有相應(yīng)的硬件分組擴(kuò)展邏輯。默認(rèn)的分組方式是采用8051的P1端口作硬件擴(kuò)展地址線。采用1條P1口線時(shí),分組數(shù)為2,采用5條P1口線時(shí),最多可分為32個(gè)代碼組,剩余的P1口線也可用于其他用途。也可采用外部數(shù)據(jù)存儲(chǔ)器XDATA空間地址單元來進(jìn)行分組,與采用8051的P1端口作為分組地址線不同的是,對(duì)于一個(gè)指定用于分組地址的XDATA端口字節(jié)中的剩余位,不能再用于其他目的。采用的分組方式、組數(shù)和地址在L51_BANK.A51中進(jìn)行配置。

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

  設(shè)置如下。
  ● 由于PSD913F2中有兩塊FLASH,從FLASH為32KB。故在off-chip code memory-Eprom設(shè)為0x0000~0x7fff。
  ● 在PSD913F2的PSDSoft Express已配置2KB的SRAM,地址范圍為0x2000~0x27ff,故在off-chip Xdata memory-Ram設(shè)為0x2000,長度為0x0800。
  ● 在PSD913F2的主FLASH為128KB,共分為8個(gè)物理頁,已在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:通過8051單片機(jī)的I/O口進(jìn)行分組切換,1:通過XDATA存儲(chǔ)器單元進(jìn)行分組切換。
  ?B_XDATAPORT EQU 01E0H //如果?B_MODE被定義為1,就通過XDATA口定義XDATA口引腳地址/位來映射開關(guān)定義XDATA口地址01E0H。

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

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

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

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

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

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


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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉