<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>如何仿真單片機的外圍設備

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

      時間:2023-02-20 23:01:55 電子通信論文 我要投稿
      • 相關推薦

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

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

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

      1 問題提出

      目前,單片機因其諸多特點,在各行各業中得到了廣泛的應用。單片機本身只有一個電子器件,只有和其它器件、設備有機地組合在一起,并配置適當的工作程序(軟件)后,才能構成一個單片機的應用系統。因此,單片機的開發包括硬件和軟件兩個部分。單片機本身沒有自開發功能,必須借助于開發工具。近年來,(范文先生網www.ycxgx.cn收集整理)隨著個人計算機系統的不斷普及,國內外推出了不少以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),用VC++編寫動態鏈接庫,仿真單片機外圍設備,從而解決外部信號的輸入問題及界面問題。Keil提供的SDK是相當于Keil UV2仿真環境的一個插件,以DLL的形式提供在純軟件仿真模式下,仿真A/D芯片、仿真液晶顯示板及鍵盤輸入等功能,在PC上就可以開發,調試大部分與界面、功能相關的程序,而不須燒片子來調試、開發,效率將大在提高,成本將大大降低。

      另一方面,與單片機配合使用的接口芯片比較固定,接法相對也比較固定,由用戶自主開發DLL,模塊可以共享,使仿真外圍芯片和器件的DLL不斷豐富。利用VC++的強大功能以及面向對象,窗口等技術,可以擴展外圍設備的仿真功能,實現靈活、通用的面板功能,解決界面不直觀的問題。

      圖3 仿真實現

      3 實例分析

      下面以傳送帶控制系統為例,介紹如何編寫DLL實時仿真單片機的外圍設備,其方法具有普遍意義。

      3.1 傳送帶控制系統的組成原理

      圖1表示了傳送帶控制系統的示意圖。(漏頭中是小球。)

      ①料箱隨傳送帶按運動方向向前移動。

      ②當料箱移動到漏斗下方進,傳感器B反應,傳送帶停止運行,漏頭落料門打開,單片機對落下的小球計數(通過傳感器A計數)。

      ③當落下的小球數等于裝箱數目時,關閉漏斗門,傳送帶移動。

      圖4 Debug頁

          3.2 仿真的具體實現

      圖2是單片機的硬件電路圖。此例中需要仿真的外圍設備有:鍵盤(外供用戶輸入裝箱的小球數目)、傳感器(判斷料箱是否移動到漏斗下方以及計數)和其它(如傳送帶)。

      具體實現如下:

      首先是在調試函數中設置斷點,以便查看存儲器內容以及控制目標文件與DLL庫的執行順序。其次是DLL的編寫:

      ①加入AGSI.h(其中定義了外部仿真的接口及函數的原型)。

      ②寫初始代碼。包括創建AGSI,定義菜單及對話框,定義SFR、VTR,定義中斷復位。

      ③建立用戶界面。加入按鈕(代表鍵盤)、指示燈圖片(代表傳感器)等。

      ④編寫仿真代碼,如圖3所示。

      ⑤接口。

      *VC中打開菜單Project->Setting,選取Custom Builder頁,將編制好的DLL文件拷貝到Keil公司指定的安裝路徑..下,然后配置環境。

      *keil中打開菜單project->Options for Target,選取Debug頁,按圖4輸入。

          ⑥仿真結果。啟動dScope,將自動載入8051仿真動態鏈接庫S8051.DLL及自行設計的外部設備的仿真動態鏈接庫KEY.DLL。用戶輸入程序,編譯成功后進入調試狀態,打開菜單Peripheral,會多出一個Interface。通過這個界面可以完成該軟件的設計,而不需要外圍設備。最終界面如圖5所示。

      4 小結

      本文介紹了利用DLL仿真單片機外圍設備的方法,其設計思想具一定的普遍性。軟件仿真在硬件診斷、實時仿真等方面存在不足;但在教學研究中或沒有硬件情況下,應用前景廣泛,對于單片機教學以及程序開發具有一定的指導意義。


      【如何仿真單片機的外圍設備】相關文章:

      單片機軟硬件聯合仿真解決方案08-06

      機械工程虛擬仿真實驗平臺如何構建論文07-21

      定性仿真綜述08-06

      仿真小蛇作文08-17

      化工仿真實習心得04-03

      單片機實習報告06-09

      單片機實習報告07-22

      電力驅動系統逆變器實時仿真08-06

      單片機學習心得06-23

      主站蜘蛛池模板: 一级做a爰片在线播放| 狠狠做五月深爱婷婷伊人| 中文字幕日韩有码国产| 精品乱人码一区二区二区| 精品国产一区二区三区香| 99在线精品视频观看免费| 亚洲最大成人网色| 久热综合在线亚洲精品| 亚洲av无码精品蜜桃| 一区二区精品久久蜜精品| 高清国产亚洲精品自在久久 | 亚洲最大成人在线播放| 亚洲av免费成人精品区| 99午夜精品亚洲一区二区 | 狠狠躁日日躁夜夜躁欧美老妇| 毛片一区二区在线看| 无码熟妇人妻AV影音先锋| 成人免费AA片在线观看| 日韩精品国产中文字幕| 国产美女高潮流白浆视频| 国产精品国产三级国快看| 午夜福利一区二区在线看| 国产一区二区三区九九视频| 中文字幕日韩精品东京热| 极品无码国模国产在线观看| 国产人妻人伦精品婷婷| 国产91精品丝袜美腿在线| 性无码专区无码| 亚洲人成网站18禁止无码| 综合色一色综合久久网| 性欧美vr高清极品| 最新亚洲人成网站在线影院| 少妇xxxxx性开放| 亚洲国产成人资源在线| 亚洲大尺度视频在线播放| 国产午夜三级一区二区三| 国产精品色哟哟在线观看| 精品国产中文字幕第一页| 国产三级精品三级色噜噜| 欧洲熟妇熟女久久精品综合| 国产综合视频一区二区三区|