精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

推薦文檔列表

如何仿真單片機的外圍設備

時間:2021-10-01 09:30:54 計算機論文 我要投稿

如何仿真單片機的外圍設備

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

    關鍵詞:單片機 仿真 動態鏈接庫

1 問題提出

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

2 方案構思

目前,Keil公司出品的51系列單片機軟件仿真器已經成為國內流行的軟件仿真器之一。Keil uVision2是一個標準的Windows應用程序,集成了C51編譯器、A51匯編器、L51連接器、實時操作系統、項目管理器及調試器等,可以完成編輯、編譯、鏈接、調試及仿真等整個開發流程,可以用IDE編譯C或匯編源文件。

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

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

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

[1] [2] [3]