亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        中圖分類號:TP368.1;TP391.9 文獻(xiàn)標(biāo)識碼: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

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

        由此可見,雖然這2種軟件各自都可以進(jìn)行單片機(jī)系統(tǒng)仿真,但受到的限制也比較多,針對這種情況,目前更為常用的仿真辦法是將Keil和Proteus結(jié)合在一起進(jìn)行單片機(jī)系統(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標(biāo)準(zhǔn)的電路仿真環(huán)境)和Ultiboard(PCB設(shè)計環(huán)境)之外,更是創(chuàng)造性的將Multisim MCU Module作為插件無縫結(jié)合到Multisim之中,從而為Multisim增添了微控制器協(xié)同仿真的功能,在同一個軟件中將程序編譯與測試和電路仿真與分析這2大功能完美的結(jié)合在一起。至此,Multisim終于打破了一直以來僅能實(shí)現(xiàn)模擬與數(shù)字電路仿真的局限,彌補(bǔ)了同類軟件的不足,開始為嵌入式系統(tǒng)軟硬件開發(fā)提供有力支持。

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

        1 MCU Module的特性

        MCU Module的特性為:

        (1) 支持4種類型的單片機(jī)芯片,分別是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進(jìn)制代碼,并兼容第三方工具源代碼。

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

        2 Multisim的使用

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

        2.1 原理圖設(shè)計

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

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

        2.2 程序設(shè)計

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

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

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

        2.3.1 合理布局窗口

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

        2.3.2 仿真暫停功能

        選擇Debug作為當(dāng)前窗口,此時點(diǎn)擊工具欄中的Run按鍵(或按F5),即可在圖2最上方Schematic Capture中觀察到電路的仿真過程。點(diǎn)擊Pause Simulation(或按F6),仿真暫時停止,此時可以詳細(xì)檢查以下信息:Schematic Capture窗口中電路仿真中間結(jié)果;程序當(dāng)前所在位置,即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窗口中可以看到程序當(dāng)前所處位置,由此可以驗證程序運(yùn)行以及整個仿真過程的正確性。

        2.3.3 單步運(yùn)行程序

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

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

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

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

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

        3 仿真實(shí)例分析

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

        3.1 0~99 s可逆計時器

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

        3.2 LCD顯示電路

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

        4 結(jié) 語

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

        參 考 文 獻(xiàn)

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

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

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

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

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

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

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

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

        久久精品国产亚洲av大全| 久久一区二区国产精品| 男人天堂网2017| 久久久久国产一区二区| 国产区福利| 日韩av一区在线播放| 日本一区二区三区视频免费在线 | 欧美激情一区二区三区 | 国内精品久久久久久99| 亚洲精品无码久久久久av麻豆| 亚洲an日韩专区在线| 日本视频一区二区三区三州 | 国产片精品av在线观看夜色| 国产精品人妻一区夜夜爱| 9丨精品国产高清自在线看| 青青草免费在线视频久草| 亚洲av无码国产精品色午夜字幕 | 国产午夜亚洲精品理论片不卡| 久久蜜臀av一区三区| av在线观看一区二区三区| 午夜无码片在线观看影视| 亚洲AV无码成人精品区网页| 日本一区二区三区在线观看视频| 无遮挡激情视频国产在线观看| 99国内精品久久久久久久| 国产丝袜一区二区三区在线不卡| 日产精品毛片av一区二区三区| 亚洲一区二区女搞男| 老熟妻内射精品一区| 亚洲中文无码精品久久不卡| 国产精品女主播在线播放| 色视频线观看在线网站| 久操视频新免费伊人| 精品国产乱来一区二区三区| 亚洲中文字幕人妻久久| 色欲人妻综合网| 久久亚洲第一视频黄色| 日本一区二区在线播放视频 | 996久久国产精品线观看| 国产精品人人爱一区二区白浆| 丝袜美腿亚洲第一免费|