當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:本文基于對8051單片機存儲空間結(jié)構(gòu)的深層次分析,提出了一種基于單片機的單CPU仿真器設(shè)計方案。該方案實用廉價,工程實踐性強,可用于設(shè)計新的教學(xué)設(shè)備。引言單片機以

摘要:本文基于對8051單片機存儲空間結(jié)構(gòu)的深層次分析,提出了一種基于單片機的單CPU仿真器設(shè)計方案。該方案實用廉價,工程實踐性強,可用于設(shè)計新的教學(xué)設(shè)備。

引言

單片機以它的廉價、體積小、可塑性強、穩(wěn)定性高的特性,有著廣闊的市場前景。 在用單片機開發(fā)產(chǎn)品時,雖然許多廠家設(shè)計了可編程ISP單片機,但是從安全與便捷方面考慮,單片機仿真器仍然是開發(fā)人員不可或缺的工具。單片機仿真器在產(chǎn)品開發(fā)階段可用來替代單片機進行軟硬件調(diào)試,從而迅速發(fā)現(xiàn)、糾正程序中的錯誤,大大縮短單片機開發(fā)的周期。但實際中仿真器過于昂貴,因此,設(shè)計制作出一款廉價且實用的仿真器有著廣泛的市場。

傳統(tǒng)的單片機仿真器硬件系統(tǒng)一般有三種實現(xiàn)方法。一、采用專用仿真的單片機。二、采用兩套單片機,一個單片機用于仿真,并完成諸如通訊,中斷等功能;另一個單片機則用于目標(biāo)單片機,這樣其資源不會被占用。三、用目標(biāo)單片機作為仿真器,單片機即仿真器也作目標(biāo)機的單片機用,其實質(zhì)是一種ROM監(jiān)控器。第三種方法會占用單片機的部分資源,但結(jié)構(gòu)簡單,對于特定的開發(fā)者來說,實用性強,性價比高,且易于自行制作。本文開發(fā)設(shè)計的仿真器正是基于第三種原理,巧妙實現(xiàn)了數(shù)據(jù)空間與程序空間的互換,設(shè)計出一款實用廉價的仿真器,工程實踐性強。

原理及系統(tǒng)結(jié)構(gòu)

仿真器工作時,要把程序從PC機下載到仿真器的存儲器中。在此先詳細(xì)分析51單片的存儲器結(jié)構(gòu)和尋址方法,再分析片外存儲器的擴展,最后給出設(shè)計原理并分析系統(tǒng)結(jié)構(gòu)。

 

圖1 存儲空間分布

51單片機存儲器結(jié)構(gòu)分析

8051 單片機的存儲器在物理結(jié)構(gòu)上分為程序存儲器空間和數(shù)據(jù)存儲器空間,共有4個存儲空間:片內(nèi)程序存儲器、片外程序存儲器以及片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器空間。這種程序存儲和數(shù)據(jù)存儲分開的結(jié)構(gòu)形式被稱為哈佛結(jié)構(gòu)。但從用戶的角度,8051存儲器地址空間可分為3類:片內(nèi)、片外統(tǒng)一編址 0000H~FFFFH的64KB程序存儲器地址空間(用16位地址);64KB片外數(shù)據(jù)存儲器地址空間,地址也從0000H~FFFFH(用16位地址)編址;256B片內(nèi)數(shù)據(jù)存儲器地址空間(用8位地址)。

上述4個存儲空間地址是重疊的,如圖1所示。8051的指令系統(tǒng)設(shè)計了不同的數(shù)據(jù)傳送指令以區(qū)別這4個不同的邏輯空間:CPU訪問片內(nèi)、片外ROM指令用MOVC,訪問片外RAM指令用MOVX,訪問片內(nèi)RAM指令用MOV。

程序存儲器用于存放編好的程序和表格常數(shù)。程序通過16位程序計數(shù)器尋址,尋址能力為64KB。這使得指令能在64KB的地址空間內(nèi)任意跳轉(zhuǎn),但不能使程序從程序存儲器空間轉(zhuǎn)移到數(shù)據(jù)存儲器空間。

實際上,當(dāng)引腳EA接高電平時,8051的程序計數(shù)器PC執(zhí)行片內(nèi)ROM中的程序,當(dāng)指令地址超過片內(nèi)ROM地址時,就自動轉(zhuǎn)向片外ROM中去取指令。當(dāng)引腳EA接低電平(接地)時,8051片內(nèi)ROM不起作用,CPU只能從片外ROM中取指令,地址可以從0000H開始編址。8051從片內(nèi)程序存儲器和片外程序存儲器取指時的執(zhí)行速度相同。

存儲器外擴

用 P0口作地址/數(shù)據(jù)復(fù)用總線,用P2口的口線作高位地址線,最多可以擴展64KB的存儲器??刂菩盘柧€包括:使用ALE作為地址鎖存的選通信號,以實現(xiàn)低 8位地址的鎖存;以PSEN信號作為擴展程序存儲器的讀選通信號;以EA信號作為內(nèi)、外程序存儲器的選擇信號;以EA和作為擴展數(shù)據(jù)存儲器和I/O端口的讀、寫選通信號。執(zhí)行MOVX指令時,RD和WR信號分別自動有效。片外數(shù)據(jù)存儲器RAM的讀和寫由8051的RD(P3.7)和WR(P3.6)信號控制,而片外程序存儲器的輸出允許(OE)由讀選通PSEN信號控制。盡管片外數(shù)據(jù)存儲器和片外程序存儲器共處同一地址空間,但由于控制信號及使用的數(shù)據(jù)傳送指令不同,故不會發(fā)生總線沖突。

 

圖2 仿真器原理圖

仿真器原理與結(jié)構(gòu)

由于現(xiàn)在以8051為內(nèi)核的單片機幾乎都帶有內(nèi)部的FLASH程序存儲器。如本設(shè)計中要用到的AT89C51或AT89S51均自帶4KB的FLASH程序存儲器,有的單片機帶有20KB甚至更大容量的程序存儲器。因此在單片機開發(fā)中,很少用專門的程序存儲器芯片來擴展外部程序存儲器,通常也沒有必要?;谝陨线@些因素,下面分析本文中的仿真器實現(xiàn)的原理。

下載程序時,EA接高電平,單片機執(zhí)行內(nèi)部ROM中的程序,把PC機的程序數(shù)據(jù)下載到片外的RAM62256中;當(dāng)程序數(shù)據(jù)下載完后,在保持RAM62256不掉電的情況下,將單片機的EA接低電平,并把單片機復(fù)位。這樣單片機就只能從片外存儲器中讀數(shù)據(jù)。然后利用RD與PSEN相“與”來選通RAM62256的讀允許片選端OE,使得單片機能夠從RAM62256中讀出程序。這樣就實現(xiàn)了仿真功能。因為單片機從片內(nèi)程序存儲器和片外程序存儲器取指時的執(zhí)行速度相同,所以這個設(shè)計方案下的仿真器性能比起傳統(tǒng)仿真器毫不遜色。

總系統(tǒng)電路原理如圖2所示,系統(tǒng)由單片機AT89C51、地址鎖存器74LS373、片外存儲器62256、接口電平轉(zhuǎn)換芯片MAX232和相關(guān)控制電路組成。

其中AT89C51就是仿真器的核心部件,晶體振蕩電路和復(fù)位電路與普通單片機系統(tǒng)相同。不同的是:EA接一個單刀雙投開關(guān),表面上沒有擴展ROM。 RAM62256的與OE普通單片機系統(tǒng)的接法有所不同,系統(tǒng)中把RD與PSEN相“與”,令其選通RAM62256的讀允許片選端OE,就能促成 RAM(注意:整個過程中RAM不掉電)由數(shù)據(jù)空間的角色向程序空間的角色轉(zhuǎn)換。在執(zhí)行MOVX指令時,產(chǎn)生RD,WR信號,寫入程序信息。在執(zhí)行RAM 中的程序時,由PSEN信號與RD信號選通RAM62256的OE端,實現(xiàn)從RAM62256中程序的讀入。

軟件設(shè)計

PC機(上位機)軟件可以參考Windows驅(qū)動程序開發(fā)、串口調(diào)試助手等相關(guān)書籍;也可以利用現(xiàn)成的KEIL C51的Windows集成開發(fā)環(huán)境~VISION51和軟件仿真器DSCOPE51完成。

下位機軟件的主要任務(wù)就是設(shè)置串口和接收上位機串口發(fā)送來的數(shù)據(jù),并將數(shù)據(jù)存入外部“數(shù)據(jù)”存儲器中。[!--empirenews.page--]

單片機主程序如下:

MOV SCON,#50H ;串口方式 1

MOV TMOD,#20H ;T1 方式 1

MOV TL1,#0FDH ;波特率 9600 的常數(shù)

MOV TH1,#0FDH

SETB TR1 ;開中斷

SETB ET1

SETB ES

SETB EA

系統(tǒng)“寫”時用如下指令:

MOVX @DPTR,A

MOVX @Ri, A

在中斷服務(wù)子程序中,為區(qū)別所接收的信號是聯(lián)絡(luò)信號還是字節(jié)數(shù)、是數(shù)據(jù)還是校驗和,需要設(shè)立不同的標(biāo)志位如下:

FLAG0 BIT 00H ;接收聯(lián)絡(luò)信號標(biāo)志位

FLAG1 BIT 01H ;接收字節(jié)數(shù)標(biāo)志位

FLAG2 BIT 02H ;接收數(shù)據(jù)標(biāo)志位

FLAG3 BIT 03H ;接收文件結(jié)束標(biāo)志位

程序流程如圖3所示,其中R7為接收到的字節(jié)數(shù),接收的數(shù)據(jù)一定要存入片外RAM從0000H開始的單元中。當(dāng)單片機復(fù)位后,把RAM當(dāng)作程序存儲器時,PC是從0000H開始的。

 

圖3 單片機接收中斷服務(wù)子程序流程圖

幾點討論

(1) 系統(tǒng)中不需要單獨的仿真器電源,也不需要晶振電路。

(2) 下位機的片外存儲器在重復(fù)寫數(shù)時不用擦除,每次重新下載程序時,總是用覆蓋的方式。新下載的程序都有END為結(jié)束,就算新下載的程序比原來的短,也不會執(zhí)行多余的代碼。

(3) 在實際中,可以進一步改進電路,當(dāng)文件下載完之后,通過串口備用的信號線產(chǎn)生控制信號來控制和復(fù)位,從而使得全過程均由上位機控制。

(4) 由于內(nèi)部結(jié)構(gòu)的限制,被仿真的產(chǎn)品不能擴展片外的程序存儲器,但由于片外可以擴展64KB的數(shù)據(jù)存儲器,文中只用了32KB,因此還可以擴展一定的外設(shè)。

(5) 被仿真產(chǎn)品的E(--)A(--)的接法有一定的限制,不能直接接地或接電源正極,實際中只要加上一個合適的限流電阻(如10K?)就可以了。實際上這種方案可以適用于任何可以外擴存儲器的單片機

結(jié)束語

對以上的設(shè)計進行分析不難發(fā)現(xiàn),整個系統(tǒng)各個功能模塊技術(shù)非常成熟:在硬件方面,各子電路均有現(xiàn)存的電路套用,而且各個元器件的參數(shù)容易確定;在軟件方面,僅涉及到COM口的串行通信程序及上位機的界面程序。在實際的制作過程中,系統(tǒng)的元器件數(shù)目少且價格低廉,容易調(diào)試,成功率高,性能穩(wěn)定。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(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)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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