仿真器在單片機多路開(kāi)發(fā)中的應用(圖)
單片機在線(xiàn)仿真技術(shù)的出現,極大地提高了開(kāi)發(fā)單片機應用系統、仿真調試的效率和可靠性,減輕了開(kāi)發(fā)者的勞動(dòng)強度。
圖1 宿主機/目標板的開(kāi)發(fā)方式
一般地,單片機開(kāi)發(fā)采用“宿主機/目標機”方式(如圖1所示)。首先,利用宿主機上豐富的資源及良好的開(kāi)發(fā)環(huán)境開(kāi)發(fā)和仿真調試目標機上的軟件。然后,通過(guò)串行口將編譯生成的目標代碼傳輸下載到目標板上,并用交叉調試器在調試軟件支持下進(jìn)行實(shí)時(shí)分析和在線(xiàn)仿真調試。最后,目標板在特定環(huán)境下編程脫機運行。
這種一對一式的開(kāi)發(fā),無(wú)疑是很好的開(kāi)發(fā)方式,但它的問(wèn)題是設備利用率低下,這在單片機實(shí)驗室顯得尤其突出。所以在設備緊缺情況下,開(kāi)發(fā)一套輔助設備來(lái)提高仿真開(kāi)發(fā)設備的利用率是非常有必要的。
性能要求
在現有單片機仿真設備的基礎上,設計一個(gè)多路開(kāi)發(fā)應用裝置,實(shí)現一套可供幾個(gè)用戶(hù)輪流開(kāi)發(fā)仿真的單片機仿真器。這樣幾人一組共用實(shí)驗設備,既能提高設備利用率,又能形成良好的開(kāi)發(fā)仿真氛圍,更重要的是降低設備重復投入。
多路開(kāi)發(fā)器的整機框圖
本文陳述的設計實(shí)現了一套單片機仿真器的多路開(kāi)發(fā)應用板,很好地滿(mǎn)足了以上要求,并且在實(shí)踐過(guò)程中取得了較好的效果。其原理如圖2所示。
圖2 仿真多路開(kāi)發(fā)器的原理框圖
多路開(kāi)發(fā)器的電路設計
整機是通過(guò)一個(gè)控制電路來(lái)實(shí)現多個(gè)用戶(hù)主機對一臺單片機仿真器的輪流地一對一的仿真使用。這里選用了AT89C2051單片機芯片、74LS04反相器和電磁繼電器為主要部件,來(lái)組成一個(gè)利用單片機自動(dòng)控制的選通電路,來(lái)正確地完成每個(gè)用戶(hù)主機與單片機仿真器之間串行口的數據通信。最終目的是設計一個(gè)單片機仿真器的多路復用系統板,以實(shí)現4個(gè)用戶(hù)共同使用一個(gè)仿真器。
AT89C2051是一個(gè)低電壓,高性能CMOS 8位單片機,片內含2Kb的可反復擦寫(xiě)的只讀Flash程序存儲器和128 字節的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,功能強大AT89C2051單片機可提供許多高性?xún)r(jià)比的應用場(chǎng)合。
它只有20個(gè)引腳,15個(gè)雙向輸入/輸出(I/O)端口,其中P1是一個(gè)完整的8位雙向I/O口,兩個(gè)外中斷口,兩個(gè)16位可編程定時(shí)計數器,兩個(gè)全雙向串行通信口,一個(gè)模擬比較放大器。
多路開(kāi)發(fā)器電路原理如圖3所示。當用戶(hù)1按下連接在單片機P3.5的按鍵S1時(shí),產(chǎn)生一個(gè)低電平,單片機查詢(xún)到P3.5變低時(shí),使P1.0變低,讓連接此端口的發(fā)光二極管導通發(fā)光以指示用戶(hù)1正在申請使用,同時(shí)單片機P1.7產(chǎn)生一個(gè)高電平,經(jīng)過(guò)74LS04反相后再經(jīng)三極管放大,使得繼電器K1導通,從而使得連接用戶(hù)1主機和單片機仿真器的串行口TxD線(xiàn),RxD線(xiàn)和地線(xiàn)能夠順利連接,使用戶(hù)J1主機能順利地使用單片機仿真器,這樣就完成了用戶(hù)J1主機與單片機仿真器的連接使用。
圖3 仿真器多路開(kāi)發(fā)器電路圖
當用戶(hù)2按下連接在單片機P3.4的按鍵S2時(shí),產(chǎn)生一個(gè)低電平,單片機查詢(xún)到P3.4變低時(shí),使P1.0恢復高電平,此端口的發(fā)光二極管熄滅,此時(shí)單片機P1.1端口產(chǎn)生一個(gè)低電平,連接在此端口的發(fā)光二極管導通發(fā)光以指示用戶(hù)J2正在申請使用,同時(shí)讓P1.7變成低電平,流經(jīng)繼電器的電流消失,繼電器K1斷開(kāi),使得用戶(hù)J1主機與單片機仿真器斷開(kāi)。此時(shí)P1.6端口產(chǎn)生高電平,經(jīng)反相放大后使繼電器K2導通,使得用戶(hù)J2主機順利使用單片機仿真器。
同樣的道理,其他用戶(hù)按下按鍵后,當單片機查詢(xún)到時(shí),就會(huì )使相應LED發(fā)光指示正在使用,從而相應繼電器發(fā)生動(dòng)作,這樣就實(shí)現了單片機仿真器多路復用。
圖4 多路開(kāi)發(fā)仿真軟件流程
軟件編程
軟件流程如圖4所示。整個(gè)程序用C51編寫(xiě)完成,通過(guò)編譯,編程至芯片AT89C2051,完成脫機工作。
單片機系統應用開(kāi)發(fā)仿真調試借助WAVE6000仿真器,該調試器有集成的isp仿真調試環(huán)境。安裝使用時(shí),其默認的編譯系統是匯編語(yǔ)言,為了實(shí)現C51編譯,開(kāi)發(fā)過(guò)程中,為WAVE6000安裝了KEIL C51編譯器。
結語(yǔ)
整個(gè)系統運行正常,達到了單片機仿真器多路復用的目的。在開(kāi)發(fā)實(shí)踐過(guò)程中,取得了預期目的效果,多個(gè)用戶(hù)開(kāi)發(fā)單片機應用系統仿真調試時(shí),能很好地交替使用,從而提高了實(shí)驗設備利用率。
評論