欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

推薦文檔列表

如何仿真單片機(jī)的外圍設(shè)備

時(shí)間:2021-10-01 09:30:54 計(jì)算機(jī)論文 我要投稿

如何仿真單片機(jī)的外圍設(shè)備

摘要:單片機(jī)開發(fā)需要良好的軟件開發(fā)環(huán)境支持,現(xiàn)國內(nèi)外已經(jīng)有若干軟件仿真器支持51系列單片機(jī),但外圍設(shè)備的仿真仍是軟件仿真的一個(gè)薄弱環(huán)節(jié)。本文針對目前較為流行的Keil公司的51單片機(jī)軟件仿真器,介紹如何利用VC++編寫動態(tài)鏈接庫,仿真單片機(jī)外圍設(shè)備,從而為軟件仿真器提出一新思路。

    關(guān)鍵詞:單片機(jī) 仿真 動態(tài)鏈接庫

1 問題提出

目前,單片機(jī)因其諸多特點(diǎn),在各行各業(yè)中得到了廣泛的應(yīng)用。單片機(jī)本身只有一個(gè)電子器件,只有和其它器件、設(shè)備有機(jī)地組合在一起,并配置適當(dāng)?shù)墓ぷ鞒绦颍ㄜ浖┖,才能?gòu)成一個(gè)單片機(jī)的應(yīng)用系統(tǒng)。因此,單片機(jī)的開發(fā)包括硬件和軟件兩個(gè)部分。單片機(jī)本身沒有自開發(fā)功能,必須借助于開發(fā)工具。近年來,隨著個(gè)人計(jì)算機(jī)系統(tǒng)的不斷普及,國內(nèi)外推出了不少以PC機(jī)為基礎(chǔ)的單片機(jī)開發(fā)系統(tǒng);而軟件模擬仿真器是一種新型的開發(fā)方法。這種方法是在PC機(jī)上,用軟件來實(shí)現(xiàn)仿真,并配置一系列相關(guān)的服務(wù)程序,使用時(shí),只要在PC機(jī)上運(yùn)行該軟件包,就可以對目標(biāo)碼程序進(jìn)行調(diào)試。對于那些只是用到單片機(jī)內(nèi)部資源的設(shè)計(jì)來說,可以在軟件仿真器內(nèi)完成仿真工作。但是,由于目前大多數(shù)廠商提供的產(chǎn)品還不能模擬單片機(jī)的外圍設(shè)備(如液晶顯示板),所以對于那些用到外部設(shè)備的設(shè)計(jì)來說,軟件仿真器則顯得力從心了。在這種情況下,筆者利用硬件軟化的思想及面向?qū)ο、窗口等技術(shù),將外圍設(shè)備的功能在軟件中實(shí)現(xiàn)。下面就針對Keil公司的51單片機(jī)軟件仿真器,介紹如何利用VC++編寫動態(tài)鏈接庫,仿真單片機(jī)外圍設(shè)備,從而彌補(bǔ)純軟件仿真的不足,最大限度地發(fā)揮軟件仿真的威力。

2 方案構(gòu)思

目前,Keil公司出品的51系列單片機(jī)軟件仿真器已經(jīng)成為國內(nèi)流行的軟件仿真器之一。Keil uVision2是一個(gè)標(biāo)準(zhǔn)的Windows應(yīng)用程序,集成了C51編譯器、A51匯編器、L51連接器、實(shí)時(shí)操作系統(tǒng)、項(xiàng)目管理器及調(diào)試器等,可以完成編輯、編譯、鏈接、調(diào)試及仿真等整個(gè)開發(fā)流程,可以用IDE編譯C或匯編源文件。

而單片機(jī)軟件的設(shè)計(jì)總要和外部事件打交道,比如響應(yīng)外部中斷,檢測某一引腳上輸入信號電平的高低,完成A/D轉(zhuǎn)換等;同時(shí)某些情況下,還要根據(jù)外部信號輸出不同的控制信號。如果使用硬件仿真系統(tǒng)或在線調(diào)試器時(shí),已有一個(gè)實(shí)實(shí)在在硬件環(huán)境,在調(diào)試時(shí),可以利用目標(biāo)系統(tǒng)提供給單片機(jī)各種信號的輸入,以便測試單片機(jī)的實(shí)際運(yùn)行情況。如果使用軟件仿真器,沒有任何硬件環(huán)境可以給出這些外部信號,所以外部信號的輸入是面臨的一個(gè)難題;此外單處常常需要和其它常用器件有機(jī)地組合在一起使用,如A/D芯片、液晶顯示板等,如何仿真這些常用器件的功能,也是面臨的一個(gè)難題。

一種解決的方法是,利用Keil提供的調(diào)試函數(shù)實(shí)現(xiàn)。調(diào)試函數(shù)可以模擬外部設(shè)備產(chǎn)生的給CPU的模擬和脈沖輸入信號,還可以產(chǎn)生外部中斷,周期性更新模擬輸入,將串行數(shù)據(jù)送入片內(nèi)串行口,解決了外部信號的輸入問題。但dScope只支持特殊命令語句及一些特定的表達(dá)式,需要花費(fèi)時(shí)間掌握調(diào)試命令;而且利用調(diào)試函數(shù)不能仿真外圍設(shè)備的界面,不直觀。

另一種解決的方法是,利用Keil提供的接口AGSI(Advanced Generic Simulator Interface),用

[1] [2] [3]