基于Multisim10的單片機(jī)動態(tài)顯示仿真技術(shù)論文
摘 要:本文闡述了在單片機(jī)動態(tài)顯示的原理方法,以8051為中心給出了其硬件電路的構(gòu)成,并著重闡述了在Multisim10中進(jìn)行單片機(jī)動態(tài)顯示仿真設(shè)計的具體方法。
關(guān)鍵詞:Multisim10;單片機(jī);8051;仿真;編譯
Multisim10是美國國家儀器公司(NI,National Instruments)推出的計算機(jī)電子仿真軟件。Multisim10實現(xiàn)計算機(jī)仿真時設(shè)計和實驗用的元器件和測試儀器和儀表齊全,可以完成各種類型的電路設(shè)計與實驗;可以方便地對電路參數(shù)進(jìn)行測試和分析;設(shè)計與實驗可以同步進(jìn)行,可以邊設(shè)計邊實驗,修改調(diào)試方便;可直接打印輸出實驗數(shù)據(jù)、測試參數(shù)、曲線和電路原理圖;實驗中不消耗實際的元器件,實驗所需的元器件和數(shù)和數(shù)量不受限制,實驗成本低,實驗速度快,效率高;設(shè)計和實驗成功的電路可以直接在產(chǎn)品中使用。
Multisim10版本可用于單片機(jī)和可編程邏輯器件的仿真分析,為單片機(jī)系統(tǒng)的仿真設(shè)計提供了較好的解決方案。multisim10提供了805x、PIC、RAM和ROM等4個系列的單片機(jī)芯片和可編程邏輯器件,使得該軟件的實際應(yīng)用得到了大大的增強(qiáng)。本文使用Multisim10為輔助設(shè)計工具,做以單片機(jī)8051為中心的單片機(jī)動態(tài)顯示電路的`仿真設(shè)計。
1.設(shè)計要求和分析
顯示單元是單片機(jī)常見的控制功能,凡是遇到顯示輸出時都會用到顯示單元,如數(shù)字管的顯示,點陣的顯示等。為了提高單片機(jī)輸入輸出端口的效率,一般顯示單元都使用動態(tài)顯示技術(shù)。所謂動態(tài)顯示方式,就是一位一位地輪流點亮各個數(shù)碼管(動態(tài)掃描方式)。對于每一位數(shù)碼管來說,每隔一定時間點亮一次,當(dāng)掃描的時間間隔足夠小時,利用人的視覺暫留特性,觀察者就不會感到數(shù)碼管的閃爍,看到的現(xiàn)象是所有的數(shù)碼管一起發(fā)光,就如同看電影的道理一樣。
如果要做4個數(shù)碼顯示管的動態(tài)顯示時,其實現(xiàn)方法是將所有的數(shù)碼管的a......g連接在一起,接在單片機(jī)的某個輸出端口上,各個數(shù)碼管的公共端作為片選信號接在單片機(jī)的另一個輸出端口上,這樣做可以大大地節(jié)省了硬件資源。
2.硬件電路的設(shè)計
單片機(jī)模塊8051的工作電源電壓為5V; Multisim10中的8051模塊內(nèi)部已經(jīng)具備了12MHz,所以仿真外圍電路可以省略晶振;故其最小系統(tǒng)需要加一只電容和一只電阻,實現(xiàn)單片機(jī)的上電復(fù)位功能。
如圖1所示是根據(jù)這一思路做的4位共陽數(shù)碼管動態(tài)顯示的電路原理圖。圖中四個數(shù)碼管的a......g共同連接到了8051的P0.7-P0.1,4個數(shù)碼顯示管的公共端分別接到P1.0-P1.3,電阻器R1和電容器C1構(gòu)成了簡單的上電復(fù)位電路。
在動態(tài)掃描顯示方式中,數(shù)碼管的亮度同 LED點亮導(dǎo)通時的電流大小,每一位點亮的時間和掃描間隔時間三個因素有關(guān)。
3.Multisim10中繪制仿真電路原理圖
3.1放置單片機(jī)模塊8051
。1)單擊"元件"工具欄上的"Place MCU"按鈕,在彈出的"選擇元件"對話框的"系列"欄中選擇"805x",在"元件"欄中選擇"8051"。
。2)鼠標(biāo)處出現(xiàn)一個"8051",在繪圖區(qū)單擊鼠標(biāo),便放置了一個"8051",同時打開MCU向?qū)υ捒。在其中輸入工作區(qū)的路徑和名稱,單擊"下一步"。
。3)彈出MCU向?qū)У诙,?quot;Progranning language"欄中選擇編程語言,可以選擇匯編或C語言。若選擇C語言時,"Assembler/conplier tool"欄中會出現(xiàn)"Hi-Tech C51-Lite complier";若選擇了匯編語言(Assenbly)時,"Assembler/conplier tool"欄中會出現(xiàn)"8051/8052 Metalink assenbler"。在"項目名稱"欄中輸入項目名稱,單擊"下一步"按鈕。
。4) 彈出MCU向?qū)У谌剑梢赃x擇Creat empty project(建立空項目)或Add Source file(添加源文件),當(dāng)選擇了Add Source file時,可在其下面的文本框中輸入源文件名,默認(rèn)為"main.asm"。點擊"完成"按鈕結(jié)束放置。
3.2放置其他元件,這里略去。
3.3連線,完成原理圖的繪制。
4.編寫MCU源程序
4.1如圖2所示,打開設(shè)計工具箱,展開8051及其項目,雙擊"main.asm",打開匯編源程序窗口,窗口中出現(xiàn)以下代碼,在第一行和最后一行插入源程序。
4.2輸入源程序
$MOD51; This includes 8051 definitions for the metalink assembler
START:
MOV P1, #0FFH ;關(guān)閉所有的LED
MOV P0, #9FH ;送"1"的字形碼
MOV P1, #0FEH ;打開第1個LED
ACALL DELAY ;延時
MOV P1, #0FFH ;關(guān)閉所有的LED,否則顯示混亂
MOV P0, #27H ;送"2"的字形碼
MOV P1, #0FDH ;打開第2個LED
ACALL DELAY
MOV P1, #0FFH
MOV P0, #0DH ;送"3"的字形碼
MOV P1, #0FBH ;打開第3個LED
ACALL DELAY
MOV P1, #0FFH
MOV P0, #99H ;送"4"的字形碼
MOV P1, #0F7H ;打開第4個LED
ACALL DELAY
AJMP START
DELAY:MOV R6,#2 ;延時1ms
TEMP:MOV R5,#0FFH
DJNZ R5,$
DJNZ R6,TEMP
RET
END
5.編譯與仿真
單擊仿真按鈕,若程序還未經(jīng)編譯則會彈出編譯提示消息框,點擊"是"進(jìn)行編程的編譯。若程序正確,編譯通過,則在電路中顯示仿真結(jié)果;若未通過,則要修改程序,直至編譯通過。編譯后會形成一系列的目標(biāo)文件。
在multisim10中可直接對匯編程序或C語言程序進(jìn)行編譯,不需要其他編譯軟件,使得仿真操作變得簡單,這一點是它優(yōu)于其他單片機(jī)仿真軟件的地方。如Protues也是目前比較流行的單片機(jī)仿真軟件,其優(yōu)點是單片機(jī)芯片類型多,結(jié)果直觀,但它只能執(zhí)行已編譯好的二進(jìn)制和十六進(jìn)制的目標(biāo)文件,需要其他的程序編譯軟件進(jìn)行編譯。但multisim10提供的單片機(jī)芯片種類少,也限制了它的應(yīng)用。相信比multisim10高的版本會提供更多的單片機(jī)芯片種類,使之也能成為單片機(jī)仿真的利器。
參考文獻(xiàn):
[1]覃奈新主編,單片機(jī)應(yīng)用技術(shù),電子工業(yè)出版社,2008
[2]李良榮主編,現(xiàn)代電子設(shè)計技術(shù),機(jī)械工業(yè)出版社,2005
【基于Multisim10的單片機(jī)動態(tài)顯示仿真技術(shù)論文】相關(guān)文章:
基于單片機(jī)的彩燈設(shè)計開題報告集錦03-08
基于單片機(jī)的電子時鐘設(shè)計開題報告書03-13
基于單片機(jī)的電子體溫計的設(shè)計開題報告范例03-06
單片機(jī)實習(xí)目的12-08
基于核心素養(yǎng)的英語寫作教學(xué)策略論文09-29
基于英漢對比的大學(xué)英語寫作教學(xué)方案研究論文12-12
《基于導(dǎo)納的圖像加密算法的研究》論文的參考文獻(xiàn)09-25
單片機(jī)實訓(xùn)心得05-03
單片機(jī)實習(xí)目的范文07-06