機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
虛擬仿真儀器UMPS在單片機(jī)系統(tǒng)開(kāi)發(fā)中的應(yīng)用
虛擬仿真儀器UMPS在單片機(jī)系統(tǒng)開(kāi)發(fā)中的應(yīng)用
 更新時(shí)間:2009-11-13 14:23:51  點(diǎn)擊數(shù):0
【字體: 字體顏色

一引言

從事單片機(jī)產(chǎn)品設(shè)計(jì)、開(kāi)發(fā)等工作的人員,經(jīng)常要對(duì)自己所編寫的程序和設(shè)計(jì)的外圍電路進(jìn)行仿真和調(diào)試。以往的單片機(jī)設(shè)計(jì)仿真,常常是制作一塊安裝實(shí)際元器件的模擬試驗(yàn)板,借助于單片機(jī)仿真軟件以及相應(yīng)的仿真器對(duì)目標(biāo)試驗(yàn)板進(jìn)行試驗(yàn)和調(diào)試。然而UMPS集成開(kāi)發(fā)環(huán)境(IDE)的出現(xiàn),成功地解決了上述問(wèn)題,使得單片機(jī)的設(shè)計(jì)和開(kāi)發(fā)完全轉(zhuǎn)化到了軟件系統(tǒng)上來(lái),從而大大縮短了產(chǎn)品的設(shè)計(jì)周期,提高了效率

UMPS功能及特點(diǎn)簡(jiǎn)介

UMPS是Universal Microprocessor Program Simulator(通用微處理器程序仿真器)的縮寫,它是法國(guó)Virtual Micro Design公司開(kāi)發(fā)的一個(gè)單片機(jī)仿真集成開(kāi)發(fā)環(huán)境。和大多數(shù)仿真軟件一樣,UMPS具備編輯、編譯、匯編、反匯編等功能,同樣也有全速執(zhí)行、跟蹤、單步、暫停、設(shè)置斷點(diǎn)等調(diào)試功能,而且它還能夠在線下載編程。UMPS支持很多公司不同型號(hào)的單片機(jī)。如Microchip、Intel、Atmel、Motorola、SGS Thomson等等。

UMPS最強(qiáng)大的特點(diǎn)是,它擁有虛擬元器件和虛擬儀器儀表的可視化“資源”。正是因?yàn)閁MPS具有這些獨(dú)特的可視化“資源”,從而使得單片機(jī)外圍電路的元器件和仿真用的測(cè)試儀器均可從屏幕上直接選取,這些可視化的元器件 “資源”同實(shí)際外形極為相似(例如放光二極管、七段數(shù)碼管、鍵盤、按鈕、錄音機(jī)、集成塊等等),見(jiàn)圖1,用戶特別容易學(xué)習(xí)和使用。不但UMPS的虛擬元器件同實(shí)際工作狀況相似,而且它的虛擬儀器也和實(shí)際的操作、觀測(cè)相似,例如利用虛擬數(shù)字邏輯分析儀可實(shí)時(shí)觀測(cè)電路的邏輯狀態(tài)(見(jiàn)圖2),利用虛擬ADC和DAC示波器可實(shí)時(shí)觀測(cè)電壓狀態(tài)等。

 

1

2

三應(yīng)用舉例

為方便理解和應(yīng)用,現(xiàn)以“用PIC16C54單片機(jī)實(shí)現(xiàn)矩陣鍵盤輸入”這一常用模塊的電路和軟件設(shè)計(jì)來(lái)簡(jiǎn)要說(shuō)明該軟件的仿真應(yīng)用。

第一步、首先在該軟件主菜單下加載要選用的CPU,這里使用PIC16C54單片機(jī)。首先啟動(dòng)UMPS軟件,依次點(diǎn)擊菜單“configure      Load CPU”,便出現(xiàn)圖3所示對(duì)話框。進(jìn)行單片機(jī)的選型。

 

3

第二步、畫電路圖,具體的畫法如下:

首先打開(kāi)菜單confogure,執(zhí)行命令resource,就打開(kāi)了虛擬儀器和元器件的編輯窗口,在resource窗口下單擊菜單“add”就可以就可以打開(kāi)虛擬儀器和元器件對(duì)話框,如圖4所示。該對(duì)話框左邊是虛擬儀器和元器件名稱,右邊是虛擬儀器和元器件的實(shí)物預(yù)覽,在左邊框中選擇好元器件后點(diǎn)OK按鈕,便可以將元器件加入到原理圖設(shè)計(jì)區(qū),重復(fù)上述步驟,便可以完成整個(gè)原理圖的繪制。對(duì)于本例繪制完的原理圖如圖5所示。

4

5

接下來(lái)還要注意的是光把元器件放上不行,還要進(jìn)行電氣連接:

對(duì)于本例,在電路設(shè)計(jì)區(qū)加上按鈕開(kāi)關(guān)后,用鼠標(biāo)雙擊,按鈕開(kāi)關(guān)之后彈出一個(gè)按鈕設(shè)置對(duì)話框,如圖6所示。

6

在該對(duì)話框中可以設(shè)置該開(kāi)關(guān)的電氣屬性,比如說(shuō),輸入“0”有效還是輸入“1”有效,開(kāi)關(guān)作用時(shí)間、是否加模擬實(shí)際開(kāi)關(guān)所產(chǎn)生的噪音,以及開(kāi)關(guān)的形式是“按鈕”形式還是“形瑪”形式?梢(jiàn)單單就一個(gè)開(kāi)關(guān)其功能就這么強(qiáng)大。按圖5放置好電路圖中的16個(gè)按鈕后現(xiàn)在就圖5中的第一個(gè)“SWC”按鈕開(kāi)關(guān)簡(jiǎn)單講解一下如何實(shí)現(xiàn)按鈕開(kāi)關(guān)如何實(shí)現(xiàn)跟單片機(jī)的電氣連接。其它元器件跟單片機(jī)的連接類似。讀者可根據(jù)這個(gè)進(jìn)行其它元件的連接。首先,鼠標(biāo)左鍵單擊“SWC”按鈕,然后單擊鼠標(biāo)右鍵,彈出圖7所示的“Resource Connection :Key_4”對(duì)話框:

7

此對(duì)話框用來(lái)進(jìn)行按鈕跟單片機(jī)管腳的設(shè)置。對(duì)話框中左邊一欄是所選單片機(jī)所具有的所有資源,我們這里要對(duì)單片機(jī)管腳進(jìn)行連接。所以只需要配置單片機(jī)的一般“I/O”,這里我們選擇“PORTB”端口與按鈕SWC(注意標(biāo)識(shí)為Key_4)進(jìn)行連接。從圖中我們可以看出PIC16C54單片機(jī)的“PORTB”端口共有8位,分別是b0-b7,而在“pin list”一欄里列出了該按鈕的端口—“out、in和out2”,這里 out2沒(méi)有用(這一點(diǎn)讀者可以從圖6的按鈕設(shè)置對(duì)話框中左上方的圖中發(fā)現(xiàn)該開(kāi)關(guān)的端口只有“out和in”)。接下來(lái)就是進(jìn)行連接,選中b0-b78位中的一位,然后再選中“pin list”一欄里的out或in,點(diǎn)擊下面的“Connect”圖標(biāo),這樣單片機(jī)的管腳便和按鈕開(kāi)關(guān)的管腳連接在了一起,同時(shí)連接在一起了的管腳形象的顯示在右邊“Connection list”一欄里,同理,可以完成其它管腳的連接,全部連接完畢后的圖如圖8所示:

8

第三步、進(jìn)行對(duì)單片機(jī)控制的軟件源程序的編寫。程序編寫完成后,要對(duì)源程序進(jìn)行編譯,直至沒(méi)有語(yǔ)法錯(cuò)誤。在編譯的過(guò)程中可以綜合利用各種變異工具,從而有效地檢查出程序錯(cuò)誤。下面是已經(jīng)編譯通過(guò)的“用PIC16C54單片機(jī)實(shí)現(xiàn)矩陣鍵盤輸入”的源程序:

keypad      equ    PortB

row1        equ     4

row2        equ     5

row3        equ     6

row4        equ     7

cols        equ     8

key         equ     9

index       equ     10;以上是各個(gè)變量的定義

        org 01FFh;程序入口

                goto    start

        org 0

start:                               

                movlw   11110000b   ;鍵盤掃描:行輸出,列輸入

                TRIS B

        movlw   0

                movwf   PortA          

keys        call    scankeys

                movlw   16

                subwf   Key,W

                btfsc   STATUS,Z

                goto    delay

                movf    Key,W

                movwf   PORTA

delay       nop

            nop

                decfsz index

                goto    delay

                goto    keys

scankeys    clrf    key

        clrf    keypad

                movlw   4

        movwf   cols        ;4 x 4 keypad

        bsf     STATUS,0    ;Put a 1 into carry

scan        rlf keypad

        bcf     STATUS,0    ;Follow the 1 with zeros

 

        btfsc   KeyPad,row1

                goto    press

        incf    key

        btfsc   KeyPad,row2

                goto    press

        incf    key

        btfsc   KeyPad,row3

                goto    press

        incf    key

        btfsc   KeyPad,row4

                goto    press

        incf    key

        decfsz cols

                goto    scan    ;Try all 4 columns.

                retlw   0

press       retlw   0       ;Return with value in key.      

 

上述幾步完成后的軟件界面如圖9所示。

 

 

9

以上準(zhǔn)備工作都做好以后,最后一步也就是最關(guān)鍵的就是進(jìn)行實(shí)際仿真調(diào)試了,運(yùn)行軟件面板上的全速運(yùn)行(也可以借助于跟蹤、單步、暫停、設(shè)置斷點(diǎn)等調(diào)試功能來(lái)實(shí)現(xiàn)最后的仿真運(yùn)行)顯示介面非常直觀同時(shí)在編輯窗口中還可以自己設(shè)置狀態(tài)變量,使得程序在運(yùn)行時(shí)將運(yùn)行結(jié)果直觀的顯示在界面上。運(yùn)行界面如上面圖9所示。

如果相應(yīng)的單片機(jī)下載電纜線,還可實(shí)現(xiàn)程序的下載,從而使程序可脫離環(huán)境運(yùn)行,無(wú)須其它軟件支持。

四結(jié)束語(yǔ)

在單片機(jī)的設(shè)計(jì)開(kāi)發(fā)中,不可能完全實(shí)現(xiàn)硬件的實(shí)際仿真,所以在特殊條件下進(jìn)行軟件仿真仿真便能跟好的體現(xiàn)出其優(yōu)點(diǎn):迅速、節(jié)約。當(dāng)然由于單片機(jī)設(shè)計(jì)需要很好考慮周圍電路環(huán)境,軟件仿真只是在一定程度上輔助硬件進(jìn)行。若能二者結(jié)合,將會(huì)產(chǎn)生最完美的效果。

 

作者聯(lián)系方式:西安市第二炮兵工程學(xué)院研究生二隊(duì)

姓名:牛余朋 

  • 上一篇: MCS-51單片機(jī)指令系統(tǒng)探討
  • 下一篇: 沒(méi)有了
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1