新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的單CPU仿真器的設(shè)計(jì)

單片機(jī)的單CPU仿真器的設(shè)計(jì)

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

主程序如下:

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

MOV TMOD,#20H ;T1 方式 1

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

MOV TH1,#0FDH

SETB TR1 ;開(kāi)中斷

SETB ET1

SETB ES

SETB EA

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

MOVX @DPTR,A

MOVX @Ri, A

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

FLAG0 BIT 00H ;接收聯(lián)絡(luò)信號(hào)標(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開(kāi)始的單元中。當(dāng)復(fù)位后,把RAM當(dāng)作程序存儲(chǔ)器時(shí),PC是從0000H開(kāi)始的。

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

幾點(diǎn)討論

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

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

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

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

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

結(jié)束語(yǔ)

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


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉