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

Multisim在單片機系統仿真中的應用

2008-04-12 00:00:00
現代電子技術 2008年10期

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

關鍵詞:Multisim;MCU Module;協同仿真;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

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

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

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

本文結合單片機系統仿真實例,講解在NI Multisim 10環境下,利用Multisim MCU Module進行單片機協同仿真的完整過程。對于單片機系統設計具有指導意義。

1 MCU Module的特性

MCU Module的特性為:

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

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

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

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

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

2 Multisim的使用

下面簡單介紹在Windows XP環境下,利用Multisim進行單片機系統仿真的步驟。

2.1 原理圖設計

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

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

2.2 程序設計

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

2.3 MCU Module微控制器協同仿真

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

2.3.1 合理布局窗口

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

2.3.2 仿真暫停功能

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

2.3.3 單步運行程序

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

2.3.4 設置代碼斷點

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

2.3.5 編輯存儲器內容

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

3 仿真實例分析

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

3.1 0~99 s可逆計時器

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

3.2 LCD顯示電路

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

4 結 語

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

參 考 文 獻

[1]沙春芳.Proteus VSM在單片機系統仿真中的應用[J].現代電子技術,2004,27(24):110-112.

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

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

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

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

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

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

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

主站蜘蛛池模板: 乱人伦99久久| 亚洲中文字幕国产av| 亚洲精品在线观看91| 色婷婷综合激情视频免费看| 欧美日韩国产精品va| 久久人妻xunleige无码| 人妻一区二区三区无码精品一区| 欧美日本视频在线观看| 秘书高跟黑色丝袜国产91在线 | 国产成+人+综合+亚洲欧美| 国产91小视频| 91娇喘视频| 美女视频黄频a免费高清不卡| 精品国产成人高清在线| 青青青国产视频手机| 2020国产精品视频| 国产成人综合欧美精品久久| 亚洲国产精品一区二区第一页免 | 国产午夜无码片在线观看网站| 91精品啪在线观看国产91九色| 精品国产美女福到在线不卡f| 中文字幕精品一区二区三区视频| 国产第一页亚洲| 国产无码高清视频不卡| 色综合五月婷婷| 欧美中文字幕在线二区| 日韩毛片免费观看| 精品第一国产综合精品Aⅴ| 啪啪免费视频一区二区| 国产亚洲高清在线精品99| A级全黄试看30分钟小视频| 国内自拍久第一页| 国产亚洲精品自在久久不卡| 久久国产精品电影| 色妞永久免费视频| 亚洲欧美一区二区三区麻豆| 久久国产V一级毛多内射| 男女精品视频| 激情影院内射美女| 日本三区视频| 99热这里只有精品在线播放| 色综合久久88| 国产男人的天堂| 美美女高清毛片视频免费观看| 高h视频在线| 国产综合网站| 丁香婷婷在线视频| 国产精品成人不卡在线观看| 亚洲啪啪网| 中国美女**毛片录像在线| 亚洲国产精品日韩专区AV| 任我操在线视频| 成人国产精品视频频| 天天色综合4| 亚洲六月丁香六月婷婷蜜芽| 午夜人性色福利无码视频在线观看| 丁香婷婷激情综合激情| 日韩不卡免费视频| 99热国产在线精品99| 91无码人妻精品一区| 久久精品人妻中文视频| 久久窝窝国产精品午夜看片| 日韩精品资源| 亚洲第一视频区| 亚洲欧美综合另类图片小说区| 欧美日韩导航| 26uuu国产精品视频| 日韩视频免费| 国产在线啪| 中文字幕亚洲专区第19页| 日日碰狠狠添天天爽| 1769国产精品视频免费观看| 国产欧美中文字幕| 欧美精品高清| 亚洲自偷自拍另类小说| 亚洲最大综合网| 色国产视频| 亚洲免费毛片| 无码有码中文字幕| 亚洲婷婷丁香| 日韩精品中文字幕一区三区| 重口调教一区二区视频|