999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Multisim在單片機系統(tǒng)仿真中的應(yīng)用

2008-04-12 00:00:00
現(xiàn)代電子技術(shù) 2008年10期

摘 要:介紹Multisim嵌入MCU Module協(xié)同仿真系統(tǒng)后,與同類軟件如Keil,Proteus相比在單片機系統(tǒng)仿真中的優(yōu)越性。以兩個具體的應(yīng)用實例,闡述利用該軟件進行單片機系統(tǒng)仿真的具體方法,并利用其高級調(diào)試功能驗證仿真結(jié)果的正確性,說明利用該軟件進行單片機系統(tǒng)設(shè)計的可行性。對于嵌入式系統(tǒng)開發(fā)和教學具有一定的指導意義。

關(guān)鍵詞:Multisim;MCU Module;協(xié)同仿真;Keil;Proteus

中圖分類號:TP368.1;TP391.9 文獻標識碼:B 文章編號:1004-373X(2008)10-174-03

Application of Multisim in Simulation for Single Chip Computer System

ZHANG Zheng

(School of Information and Electronic Engineering,Zhejiang University of Science and Technology,Hangzhou,310023,China)

Abstract:This paper introduces Multisim and embedded,MCU Module co-simulation system,and presents its advantages over other software,such as Keil and Proteus in simulation for microcontroller system.The application of Multisim is elucidated through two applicable examples.The simulation results are verified with the advanced debugging tools,which prove the feasibility of the simulation.This is guidance of practical significance for embedded system developing and teaching.

Keywords:Multisim;MCU Module;co-simulation;Keil;Proteus

目前,為降低單片機系統(tǒng)開發(fā)成本,提高開發(fā)效率,在進行單片機系統(tǒng)軟硬件測試時,往往并不直接采用電路板制作和元器件安裝、焊接、調(diào)試的方法,而是采用專用的計算機仿真軟件進行測試[1]。而單片機系統(tǒng)仿真工具又以Keil和Proteus應(yīng)用最為廣泛。Keil是美國Keil Software公司開發(fā)的,目前世界上最好的單片機開發(fā)工具之一。他支持匯編語言、C語言以及混合編程,其軟件仿真功能可以在無需硬件支持的條件下,詳細測試程序運行情況[2];然而其電路仿真功能則要受到很多限制,如,需要借助第三方開發(fā)的動態(tài)DLL進行計算機模擬[3],或者需要價格相對昂貴的硬件仿真器MONITOR-51的支持[4]。Proteus是英國Labcenter公司開發(fā)的電路分析和仿真軟件[2],能夠?qū)?1個大類百余種微處理器進行CPU及外圍電路的仿真,但在進行仿真調(diào)試時只能進行硬件改動,而不能直觀地了解程序運行情況[5]。

由此可見,雖然這2種軟件各自都可以進行單片機系統(tǒng)仿真,但受到的限制也比較多,針對這種情況,目前更為常用的仿真辦法是將Keil和Proteus結(jié)合在一起進行單片機系統(tǒng)的聯(lián)合仿真。二者聯(lián)合仿真又分為離線聯(lián)合仿真和在線聯(lián)合仿真[5]兩種情況。但是前者在測試時需要在兩個軟件之間頻繁切換,后者則會占用大量的系統(tǒng)資源?,F(xiàn)在,這些問題都可以在Multisim中得到較為理想的解決。

National Instruments公司于2007年推出了其最新的電路設(shè)計套件——NI Circuit Design Suit v10.0,在該電路設(shè)計套件中,除包含并升級了其頗具特色的Multisim(采用Spice標準的電路仿真環(huán)境)和Ultiboard(PCB設(shè)計環(huán)境)之外,更是創(chuàng)造性的將Multisim MCU Module作為插件無縫結(jié)合到Multisim之中,從而為Multisim增添了微控制器協(xié)同仿真的功能,在同一個軟件中將程序編譯與測試和電路仿真與分析這2大功能完美的結(jié)合在一起。至此,Multisim終于打破了一直以來僅能實現(xiàn)模擬與數(shù)字電路仿真的局限,彌補了同類軟件的不足,開始為嵌入式系統(tǒng)軟硬件開發(fā)提供有力支持。

本文結(jié)合單片機系統(tǒng)仿真實例,講解在NI Multisim 10環(huán)境下,利用Multisim MCU Module進行單片機協(xié)同仿真的完整過程。對于單片機系統(tǒng)設(shè)計具有指導意義。

1 MCU Module的特性

MCU Module的特性為:

(1) 支持4種類型的單片機芯片,分別是Intel或Atmel公司的8051和8052芯片,和Microchip公司的PIC16F84和PIC16F84a芯片。

(2) 支持對外部RAM、外部ROM、鍵盤和LCD等外圍設(shè)備的仿真。

(3) 包含8051/8052 Metalink assembler,Hi-Tech C51-Lite Compiler,Microchip MPASM for PIC16,Hi-Tech PICC-Lite Compiler,分別對4種類型芯片提供匯編和編譯支持。

(4) 所建項目支持C代碼、匯編代碼以及16進制代碼,并兼容第三方工具源代碼。

(5) 包含設(shè)置斷點、單步運行、查看和編輯內(nèi)部RAM、特殊功能寄存器等高級調(diào)試功能。

2 Multisim的使用

下面簡單介紹在Windows XP環(huán)境下,利用Multisim進行單片機系統(tǒng)仿真的步驟。

2.1 原理圖設(shè)計

在建立的Schematic Capture中對單片機及其外圍電路原理圖的設(shè)計與以往單純的模擬或數(shù)字電路的設(shè)計類似,但需要注意的是在進行單片機芯片放置過程中,應(yīng)該對MCU Wizard的3個環(huán)節(jié)進行合理的設(shè)置,以便有利于接下來的軟硬件聯(lián)合仿真。在可逆計時器實例中選擇的是8051芯片,設(shè)置workspace name為UpDown Counter,在Programming language中選擇Assembly,同時Project name和source file name均命名為UpDown Counter。

單片機芯片放置完成后,會在Design Toolbox中顯示出完整的項目結(jié)構(gòu),如圖1所示。通過鼠標左鍵單擊Schematic Capture窗口左下角的選項卡,可以方便地在Schematic Capture、Source Code Editor以及Debug Viewer之間進行切換,從而完成原理圖設(shè)計、程序設(shè)計以及仿真進程的控制。

2.2 程序設(shè)計

選擇進入Source Code Editor后,即可在該窗口內(nèi)進行程序的編寫,待程序編寫完成后,需要進行匯編操作,在Design Toolbox中右擊UpDown Counter.asm,在下拉菜單中點擊Build即可完成,如圖1所示,并會在界面最下方看到匯編結(jié)果。

2.3 MCU Module微控制器協(xié)同仿真

在保證編譯匯編無誤后,即可進行單片機系統(tǒng)仿真。仿真時,不僅可以采用以往Multisim版本中模擬、數(shù)字電路的仿真方法,即在Schematic Capture環(huán)境下點擊Run按鍵,觀察電路仿真結(jié)果;而且可以利用MCU Module全面的高級調(diào)試功能,詳細了解仿真過程中程序的運行和各存儲器的狀態(tài)。在此僅對后者進行詳細闡述。

2.3.1 合理布局窗口

為了能夠同時觀察電路仿真過程、程序運行階段以及各存儲器單元的狀態(tài),首先應(yīng)該對整個工作環(huán)境各窗口進行合理布局。在進行圖1中Build操作之后,在同一個下拉菜單中點擊Debug View,即可出現(xiàn)源文件調(diào)試窗口;點擊Memory View,即可顯示存儲器窗口。此時可以在工具欄中Window的下拉菜單中選擇Tile Horizontal,即可出現(xiàn)圖2所示的窗口布局。

2.3.2 仿真暫停功能

選擇Debug作為當前窗口,此時點擊工具欄中的Run按鍵(或按F5),即可在圖2最上方Schematic Capture中觀察到電路的仿真過程。點擊Pause Simulation(或按F6),仿真暫時停止,此時可以詳細檢查以下信息:Schematic Capture窗口中電路仿真中間結(jié)果;程序當前所在位置,即Debug窗口中左側(cè)箭頭所指方位;特殊功能寄存器狀態(tài)、內(nèi)部RAM狀態(tài)等。如圖2所示,在本例中,數(shù)碼管顯示數(shù)字為23,左側(cè)SFR中P3的內(nèi)容為FFH,而IRAM中寄存器組0中的4號寄存器內(nèi)容為24H,同時在Debug窗口中可以看到程序當前所處位置,由此可以驗證程序運行以及整個仿真過程的正確性。

2.3.3 單步運行程序

在仿真暫停后,點擊Step into(或按F11),即可進行程序的單步運行操作,這一點與其他被廣泛應(yīng)用的單片機仿真軟件(如Keil,Proteus等)相同,好處在于可以對程序的運行情況更加明晰。

2.3.4 設(shè)置代碼斷點

圖2所示的開關(guān)J1為加計數(shù)和減計數(shù)的控制開關(guān),開關(guān)打開為加計數(shù),開關(guān)閉合為減計數(shù)。為使加減切換過程更明確,本例中在程序START處設(shè)置斷點,即在Source Code Editor窗口中相應(yīng)代碼前點擊右鍵,在菜單中選擇Toggle breakpoint,即可出現(xiàn)圖2中間Source Code Editor窗口中的圓餅圖形。仿真過程中,點擊J1閉合開關(guān)時,當程序運行至斷點所在位置時,會自動暫停運行,此時可以觀察程序運行位置以及各存儲器狀態(tài),再次點擊Run按鍵可繼續(xù)仿真。

2.3.5 編輯存儲器內(nèi)容

在仿真過程中,無論程序運行至何處,在運行暫停后,不僅可以觀察SFR以及IRAM等存儲器狀態(tài),而且可以將SFR和IRAM中的內(nèi)容編輯為任意內(nèi)容。如圖2所示,左側(cè)SFR窗口中P3的Bit-6單元已被激活,可以將1改為0,極大地增加了仿真的靈活性,也是Multisim MCU Module在協(xié)同仿真時的顯著特色。

3 仿真實例分析

Multisim不僅可以對4種類型的單片機CPU進行仿真,而且支持眾多外圍電路的仿真,由于篇幅所限,以下僅以可逆計時器和LCD顯示電路[6]為例進行說明。

3.1 0~99 s可逆計時器

圖3為計時器程序流程圖[7],電路原理圖如圖4所示。該計時器實現(xiàn)的功能為每間隔1 s記一次數(shù),當開關(guān)J1打開時,進行加計數(shù),當開關(guān)閉合時,進行減計數(shù)。加計數(shù)從00~99,再回到00,減計數(shù)與之相反。在計時過程中,開關(guān)的打開與閉合將會影響計時器的計數(shù)方向。經(jīng)過測試,該計時器完全實現(xiàn)了所需要的功能。并且在仿真過程中特別將圖2的SFR窗口中Latch P3的Bit-6單元內(nèi)容改為0,再次運行后,即便沒有合上開關(guān)J1,系統(tǒng)仍然轉(zhuǎn)入減計數(shù)階段,由此可見Multisim存儲器編輯功能之強大。

3.2 LCD顯示電路

該實例簡便易行,引用此例的目的在于闡述Multisim所具備的設(shè)置斷點和存儲器編輯兩大功能的聯(lián)合使用對于系統(tǒng)仿真的重要意義。電路功能如下,系統(tǒng)上電后首先在LCD上逐個字符顯示“PASSWORD”,然后重新逐個字符顯示“D:000000”,最終光標停留在“D”的下方,經(jīng)過仿真,該功能完全可以實現(xiàn)。電路原理圖如圖5所示,LCD所要顯示的文字通過8051的P1端口送入,而“PASSWORD”中各個字符按順序依次顯示是通過程序中INC R1指令實現(xiàn)的,為了檢驗該指令的運行情況,在程序中該指令處設(shè)置斷點,程序運行至此將會暫停,此時將圖5中IRAM的00×01單元的00改為06,則下一字符將不會顯示“S”,而會顯示最后一個字符“D”,而再次運行后R1的值也將在06的基礎(chǔ)上加1成為07,LCD的顯示結(jié)果將為“PAD”,如圖5所示,仿真結(jié)果與分析一致。

4 結(jié) 語

通過以上介紹,可以發(fā)現(xiàn)NI Multisim 10在將Multisim MCU Module嵌入其中之后,大大增強了仿真的廣度和深度,增強了對嵌入式系統(tǒng)開發(fā)的支持。雖然與Proteus相比,Multisim能夠用以仿真的單片機芯片種類稀少,但以目前高校單片機課程開設(shè)情況而言,主要還是以MCS 51為主,因此使用Multisim仿真仍然具有很重要的現(xiàn)實意義。而且與同類軟件相比,Multisim的存儲器編輯功能又是非常獨特的,這在程序調(diào)試過程中非常有用。特別是能夠在一個軟件中實現(xiàn)從程序編譯調(diào)試到電路分析仿真2大功能,確實為單片機系統(tǒng)開發(fā)帶來了便利。其不足之處也較為明顯,首先,在單片機系統(tǒng)仿真時,如果選擇在Schematic Capture環(huán)境下運行,則Simulation工具欄中僅有Run,Pause Simulation以及Stop Simulation可以點擊,而Step into,Toggle breakpoint等高級功能均不能使用,這為單步運行程序帶來了不便;其次,通過窗口的切換可以感覺到,傳統(tǒng)的Schematic Capture與新增的Source Code Editor并沒有做到渾然一體,在一定程度上影響了操作的連貫性。相信NI公司會在后續(xù)版本中有所改進。

參 考 文 獻

[1]沙春芳.Proteus VSM在單片機系統(tǒng)仿真中的應(yīng)用[J].現(xiàn)代電子技術(shù),2004,27(24):110-112.

[2]唐前輝,丁明亮.Proteus ISIS和Keil在單片機教學中的應(yīng)用[J].重慶電力高等專科學校學報,2006,11(4):46-49.

[3]李華清,李鋒.基于軟件仿真的單片機調(diào)試技術(shù)[J].礦業(yè)科學技術(shù),2002(1):24-25.

[4]嚴天峰.單片機仿真調(diào)試及Keil 51集成開發(fā)環(huán)境[J].電子世界,2002(4):28-31.

[5]劉炳堯.Keil C + Proteus 6.9——搭建自己的單片機仿真實驗室[J].電子制作,2007(8):52-54.

[6]吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應(yīng)用[M].北京:清華大學出版社,2002.

[7]周景潤,袁偉亭,景曉松.Proteus在MCS-51ARM7系統(tǒng)中的應(yīng)用百例[M].北京:電子工業(yè)出版社,2006.

作者簡介 張 錚 男,1980年出生,助教,畢業(yè)于山東大學。現(xiàn)從事通信信號處理方面的研究。

主站蜘蛛池模板: 日韩区欧美区| 亚洲一级毛片| 真实国产乱子伦高清| 欧美国产日韩在线观看| 欧美在线一二区| 97se亚洲综合在线韩国专区福利| 视频二区亚洲精品| 亚洲色图欧美激情| 久久黄色小视频| 国产精品密蕾丝视频| 美女视频黄频a免费高清不卡| 又猛又黄又爽无遮挡的视频网站| 制服丝袜 91视频| 九九精品在线观看| 一级毛片网| 亚洲精品国偷自产在线91正片| 亚洲成人动漫在线| 欧美人与动牲交a欧美精品| 91亚洲视频下载| 婷婷六月综合网| 欧美午夜视频| 99国产精品国产高清一区二区| 18禁黄无遮挡网站| 久久伊伊香蕉综合精品| 婷婷激情五月网| 亚洲精品无码久久毛片波多野吉| 99精品热视频这里只有精品7| 免费中文字幕一级毛片| 久久6免费视频| 久久国产精品77777| 天堂亚洲网| 亚洲精品第一页不卡| 国产成人三级| 国产精品嫩草影院av| 中文字幕在线欧美| 亚洲视屏在线观看| 亚洲日产2021三区在线| 亚洲av无码专区久久蜜芽| 91啪在线| 亚洲乱伦视频| 91小视频在线观看免费版高清| 亚洲性网站| 午夜视频在线观看区二区| 亚洲精品福利视频| 亚洲免费毛片| 国产最新无码专区在线| 日韩欧美色综合| 特级aaaaaaaaa毛片免费视频 | 91麻豆精品国产高清在线 | 欧美怡红院视频一区二区三区| 欧美亚洲国产视频| 午夜精品福利影院| 18禁不卡免费网站| 国产一级裸网站| 99精品热视频这里只有精品7| 91免费在线看| 国产福利2021最新在线观看| 日本在线国产| 青青青视频91在线 | 国产精品浪潮Av| 日韩国产综合精选| 特级做a爰片毛片免费69| 色婷婷色丁香| 伊人久综合| 亚洲男人在线| 特级做a爰片毛片免费69| 国产大片喷水在线在线视频| 国产拍揄自揄精品视频网站| 99爱在线| 91无码人妻精品一区二区蜜桃| 美女一区二区在线观看| 久久精品aⅴ无码中文字幕| 久久女人网| 最新国语自产精品视频在| 久久永久精品免费视频| 国产在线精品香蕉麻豆| 91成人免费观看| 亚洲乱强伦| 欧美人在线一区二区三区| 小蝌蚪亚洲精品国产| 国产99视频免费精品是看6| 亚洲成人精品在线|