新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 仿真器在單片機(jī)多路開發(fā)中的應(yīng)用

仿真器在單片機(jī)多路開發(fā)中的應(yīng)用

作者: 時間:2011-11-01 來源:網(wǎng)絡(luò) 收藏

  多路開發(fā)器的電路設(shè)計

  整機(jī)是通過一個控制電路來實現(xiàn)多個用戶主機(jī)對一臺單片機(jī)的輪流地一對一的仿真使用。這里選用了AT89C2051單片機(jī)芯片、74LS04反相器和電磁繼電器為主要部件,來組成一個利用單片機(jī)自動控制的選通電路,來正確地完成每個用戶主機(jī)與單片機(jī)之間串行口的數(shù)據(jù)通信。最終目的是設(shè)計一個單片機(jī)的多路復(fù)用系統(tǒng)板,以實現(xiàn)4個用戶共同使用一個仿真器。

  AT89C2051是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含2Kb的可反復(fù)擦寫的只讀Flash程序存儲器和128 字節(jié)的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大AT89C2051單片機(jī)可提供許多高性價比的應(yīng)用場合。

  它只有20個引腳,15個雙向輸入/輸出(I/O)端口,其中P1是一個完整的8位雙向I/O口,兩個外中斷口,兩個16位可編程定時計數(shù)器,兩個全雙向串行通信口,一個模擬比較放大器。

  多路開發(fā)器電路原理如圖3所示。當(dāng)用戶1按下連接在單片機(jī)P3.5的按鍵S1時,產(chǎn)生一個低電平,單片機(jī)查詢到P3.5變低時,使P1.0變低,讓連接此端口的發(fā)光二極管導(dǎo)通發(fā)光以指示用戶1正在申請使用,同時單片機(jī)P1.7產(chǎn)生一個高電平,經(jīng)過74LS04反相后再經(jīng)三極管放大,使得繼電器K1導(dǎo)通,從而使得連接用戶1主機(jī)和單片機(jī)仿真器的串行口TxD線,RxD線和地線能夠順利連接,使用戶J1主機(jī)能順利地使用單片機(jī)仿真器,這樣就完成了用戶J1主機(jī)與單片機(jī)仿真器的連接使用。

仿真器多路開發(fā)器電路圖

圖3 仿真器多路開發(fā)器電路圖

  當(dāng)用戶2按下連接在單片機(jī)P3.4的按鍵S2時,產(chǎn)生一個低電平,單片機(jī)查詢到P3.4變低時,使P1.0恢復(fù)高電平,此端口的發(fā)光二極管熄滅,此時單片機(jī)P1.1端口產(chǎn)生一個低電平,連接在此端口的發(fā)光二極管導(dǎo)通發(fā)光以指示用戶J2正在申請使用,同時讓P1.7變成低電平,流經(jīng)繼電器的電流消失,繼電器K1斷開,使得用戶J1主機(jī)與單片機(jī)仿真器斷開。此時P1.6端口產(chǎn)生高電平,經(jīng)反相放大后使繼電器K2導(dǎo)通,使得用戶J2主機(jī)順利使用單片機(jī)仿真器。

  同樣的道理,其他用戶按下按鍵后,當(dāng)單片機(jī)查詢到時,就會使相應(yīng)LED發(fā)光指示正在使用,從而相應(yīng)繼電器發(fā)生動作,這樣就實現(xiàn)了單片機(jī)仿真器多路復(fù)用。

  軟件編程

  軟件流程如圖4所示。整個程序用C51編寫完成,通過編譯,編程至芯片AT89C2051,完成脫機(jī)工作。

仿真器在單片機(jī)多路開發(fā)中的應(yīng)用

圖4 多路開發(fā)仿真軟件流程

  單片機(jī)系統(tǒng)應(yīng)用開發(fā)仿真調(diào)試借助WAVE6000仿真器,該調(diào)試器有集成的isp仿真調(diào)試環(huán)境。安裝使用時,其默認(rèn)的編譯系統(tǒng)是匯編語言,為了實現(xiàn)C51編譯,開發(fā)過程中,為WAVE6000安裝了KEIL C51編譯器。

  結(jié)語

  整個系統(tǒng)運(yùn)行正常,達(dá)到了單片機(jī)仿真器多路復(fù)用的目的。在開發(fā)實踐過程中,取得了預(yù)期目的效果,多個用戶開發(fā)單片機(jī)應(yīng)用系統(tǒng)仿真調(diào)試時,能很好地交替使用,從而提高了實驗設(shè)備利用率。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉