孫萬麟
(昌吉學院 物理系,新疆 昌吉 831100)
Proteus軟件是英國 Labcenter Electronics公司開發的一款EDA軟件,近年來,因Proteus軟件具有虛擬儀器豐富、實驗周期短、硬件投入少、實驗過程損耗小、仿真過程直觀形象以及與實際工程項目設計非常相似等優點,我國有好多高校已建立Proteus虛擬仿真實驗室,比如香港理工大學、中山大學、華南理工大學、哈爾濱工程大學等眾多院校,這些高校已將Proteus軟件作為教學輔助工具,不僅用于單片機、模擬電路和數字電路等課程實踐教學,而且也應用于學生課程設計、畢業設計以及各類競賽設計與仿真[1-4]。總之,Proteus軟件由于虛擬儀器豐富和仿真過程生動直觀,受到眾多學者的青睞。
眾所周知,技術類課程是我國各大工科院校的專業核心必修課,比如“微機原理與接口技術”“單片機原理及應用”“DSP技術與嵌入式系統”等課程,它們包含很多抽象專業術語和復雜系統構成,學生要完全理解老師在課堂上講授內容很難,因而在實驗、實訓以及課程設計等實踐過程中會碰到很多困惑。鑒于此,本文探究將Proteus仿真軟件應用于“微機原理與接口技術”和“DSP技術與嵌入式系統”課程中,通過電路圖設計及其仿真,幫助學生更好理解有些難點,并提高學生動手設計能力。
Proteus軟件是由Labcenter UK開發的EDA軟件仿真平臺,擁有豐富的虛擬儀器儀表,是PCB板設計的集合,并兼有電路分析和系統仿真功能。因其優良的兼容性,可連接多種外圍設備和虛擬儀器,并能實現各類控制芯片與其外電路的仿真,工作界面是一個標準的Windows界面,其界面及簡要功能介紹如圖1所示。

圖1 Proteus工作界面
電路設計:以8086作為主控芯片,采用8255A作為數據輸入輸出接口,由8255A數據端口PA采集一組開關S0—S7狀態信息,再將采集狀態信息通過8255A數據端口PB傳送至8只發光二極管D0—D7進行輸出顯示。根據8255A選擇控制字寄存器工作原理,若開關閉合時,與其對應二極管就會導通點亮;若開關斷開時,與其對應二極管不導通熄滅。另外,采用數據端口PC7驅動一只發光二極管作為8255A正常工作狀態檢測提示。
仿真方法:本文采用微機原理常用Emu8086軟件進行電路源程序代碼調試和編譯,本電路軟件設計流程圖[5-6]如圖2所示。

圖2 軟件設計流程圖
利用Emu8086軟件將調試無誤源程序代碼編譯生成.com可執行文件,因8086微機芯片只能加載和關聯.com文件,再利用Proteus軟件設計并繪制電路圖,然后雙擊Proteus電路圖中8086主控芯片,將各參數屬性和大小必須與所設計電路器件設置一致,參數配置如圖3所示。

圖3 參數配置
同時將生成的.com文件加載到8086芯片中。點擊Proteus全速運行按鈕,仿真結果如圖4所示。

圖4 仿真結果圖
圖中,PC7端口所接發光二極管點亮,證明8255A各個接口正常工作;此時是開關從上往下依次是S2、S4、S7閉合,所以對應發光二極管D2、D4、D7點亮。當然,改變開關狀態(閉合和斷開),相應二極管會出現亮滅狀態改變,實現電路設計功能,證實電路設計正確。
電路設計:采用AT89C51單片機作為主控芯片,行驅動模塊采用74HC573,列驅動模塊采用3-8譯碼器74HC138,將4個8×8LED點陣組合為一個16×16LED點陣屏。在I/O接口方面,使用單片機P1口接點陣屏行驅動,單片機P2口接點陣屏列驅動,這里采用P0口接上拉電阻,以保證信息傳輸穩定性。該設計實驗功能是編程并實現LED點陣屏上循環顯示“昌”“吉”“學”“院”4個漢字。
仿真方法:本文采用單片機常用Keilc51軟件進行電路源程序代碼調試和編譯,本電路軟件設計流程圖[7-16]如圖5所示。

圖5 軟件設計流程圖
并利用Keilc51軟件將調試無誤源程序代碼編譯生成.hex可執行文件,因AT89C51單片機芯片只能加載和關聯.hex文件,再利用Proteus軟件設計并繪制電路圖,然后雙擊Proteus電路圖中AT89C51主控芯片,將各參數屬性和大小必須與所設計電路器件設置一致,參數配置如圖6所示。

圖6 參數配置
同時將生成的.hex文件加載到AT89C51芯片中。點擊Proteus全速運行按鈕,仿真結果如圖7所示。

圖7 仿真結果圖
分別為“昌”“吉”“學”“院”4個漢字循環顯示,符合電路設計要求。
電路設計:采用DSP常用TMS320F28027PT芯片作為主控芯片,使用I/O口GPIO接16個LED發光二極管,為了使16個LED發光二極管穩定輸出,采用每個發光二極管接一個保護電阻,由X1、X2引腳、石英晶體、電容等構成10MHZ自激振蕩電路,由TRST引腳、彈性按鍵等構成復位電路,設計LED亮滅間隔為0.5秒。該設計實驗要求實現16個LED發光二極管花樣流水顯示,具體花樣是:16個LED發光二極管首先從左至右依次點亮,緊接著從右至左依次點亮,其次從中間向兩端依次點亮,緊接著從兩端向中間點亮,然后再從頭開始,依次循環往復運行下去。
仿真方法:本文采用DSP常用CCS軟件進行電路源程序代碼調試和編譯,本電路軟件設計流程圖[17-23]如圖8所示。

圖8 軟件設計流程圖
并利用CCS軟件將調試無誤源程序代碼編譯生成.cof可執行文件,因TMS320F28027PT芯片只能加載和關聯.cof文件,再利用Proteus軟件設計并繪制花樣流水燈電路圖,然后雙擊Proteus電路圖中TMS320F28027PT主控芯片,將各參數屬性和大小必須與所設計電路器件設置一致,參數配置如圖9所示。

圖9 參數配置
同時將生成的.cof文件加載到TMS320F28027PT芯片中。點擊Proteus全速運行按鈕,16個LED發光二極管按照實驗設計要求花樣流水顯示,其中流水燈從中間向兩端依次點亮的仿真結果如圖10所示。

圖10 仿真結果圖
本文探究了將Proteus仿真軟件應用于“微機原理與接口技術”、“單片機原理及應用”和“DSP技術與嵌入式系統”等課程電路設計及仿真中,并給出了具體虛擬仿真方法。研究表明,利用Proteus軟件進行技術類課程電路設計及仿真,不但易于理解電路組成和各個芯片引腳排列、功能等,而且能夠直觀地看到外圍電路運行情況。