" />
所屬欄目:軟件開發論文 發布日期:2012-03-24 15:13 熱度:
摘要:文章軟件開發論文提出了一種基于uVisionKEIL的AGSI接口,利用VC++編寫動態鏈接庫,模擬單片機外圍設備,以實現單片機虛擬實驗室的建設方案,從而實驗、實訓課題在虛擬平臺中實現,有效解決了資金和設備維護問題,并增強了學生自主學習單片機的便利性和時效性。
關鍵詞:AGSI;仿真實驗室;單片機;動態鏈接庫
1.論文引言
目前,單片機因其功能強且可自定義,價格低,可靠性高,抗干擾能力強,使用方便靈活,通用性強,在工控、智能儀表、通信系統、信號處理、智能家電等領域都得到了廣泛的應用,學習者逐年增加。作者利用計算機軟件的仿真技術,在KEIL的AGSI接口基礎上,開發DLL庫,構建單片機虛擬實驗室,針對高職院校單片機教學,成功的解決了資金的限制,單片機設備更新快,學生自主學習時硬件缺乏等許多實際的問題和困難。
2.解決方案
為了解決傳統單片機實驗室存在的問題,并為學生自主學習提供更大的便利。基于AGSI接口利用VC++自行開發動態鏈接庫,采用純軟件的方法仿真按鈕、LED、數碼管、LCD、信號發生器以及其他自定義外設,無縫鏈接至uVision,實現方便的外設軟件仿真和直觀的界面問題。
2.1仿真庫的開發。下面將以學生學習時常用的跑馬燈實訓題目為例,開發直觀的虛擬外設,介紹如何利用AGSI接口開發動態鏈接庫。
(1)啟動MSVisualC++,利用MFCAppWizard(dll)新建Experiment工程。注意使用MFC的靜態鏈接,否則無法正常工作。
(2)在Experiment工程中添加頭文件AGSI.h,增加AGSI的接口函數原型,在Experiment.h中添加SFR(特殊功能寄存器)、VTR(虛擬寄存器)的定義和接口函數原型。
(3)在Experiment.cpp文件中添加外設初始化代碼,包括AGSI的建立(GetFunctionPointers),外設菜單入口及其對應對話框的聲明(DefineAllMenuEntries),和SFR(DefineAllSFR),VTR(DefineAllVTREG),監視器(DefineAllWatches)和中斷(DefineAllInterrupts)的聲明。編寫外設復位代碼(ResetPripheral),上述的所有函數都通過AgsiEntry()函數調用,該函數需要在DLL中導出,定義如下:extern"C"DWORDAGSIEXPORTAgsiEntry(DWORD,void*)。
(4)在工程中添加一個非模態對話框,在對話框定義時產生的源文件中添加PeriDisp、PeriUpdate、PeriKill三個函數,分別用來顯示對話框,更新顯示內容和關閉對話框。同時添加兩個宏用于菜單定義AGSIMENU和對話框屬性定義AGSIDLGD。
(5)在對話框類中添加Update()函數,用于更新顯示,該函數在外設狀態改變時被自動調用便于及時反映外設狀態。
(6)在Update()函數,編寫人機界面,利用Agsi.ReadSFR()函數讀取P1口的狀態,繪制8個LED燈,用于仿真P1口狀態。
(7)添加4個按鈕,用于仿真P3.4~P3.7四個管腳的按鍵動作。編寫按鈕的處理函數如下:利用Agsi.WriteSFR(P3,0x00,0x10)對P3.4口進行清“0”操作,然后調用AGSI的CreateTimer函數將回調函數BtnP34與時間進行關聯 Timer4=Agsi.CreateTimer(BtnP34),最后利用SetTimer函數定時100ms,Agsi.SetTimer(Timer4,1000),這樣回調函數BtnP34將在1S以后被調用,在BtnP34函數中調用WriterSFR對P3.4口進行置“1”操作,模擬按鍵P3.4的動作。其他P3.5等三個管腳的動作仿照P3.4管腳實現,P3.4按鍵動作時序與VC++程序間關系如圖1所示。
(8)編譯鏈接生成動態鏈接庫Experiment.dll。
圖1P3.4仿真按鍵時序的實現方法
2.2仿真庫的使用
(1)將編譯生成的Experiment.dll文件拷貝到KEIL程序所在的目錄C51BIN文件夾中。
(2)在uVision3的OptionsforTarget的Debug選項頁中,選擇UseSimulator,在DialogDLL一欄的Parameter項中寫入-dExperimen,為后續進行仿真單片機程序做準備。
(3)編寫一個跑馬燈的單片機測試程序,P1.0~P1.7所接8個LED燈,循環點亮,間隔周期為1S,按鍵P3.4控制跑馬燈的啟停。編譯通過后,啟動DebugSession后,IDE將自動裝載8051的仿真動態鏈接庫S8051.DLL和我們所設計的仿真動態鏈接庫Experiment.DLL。在Peripherals的下拉菜單中可以看到“單片機虛擬實驗平臺1.0”,點擊后可進入實驗平臺的選擇界面,點擊“實驗1”按鈕可進入圖2所示跑馬燈仿真界面。
(4)開始仿真時,點擊P3.4按鍵后,8個LED燈以1S為周期循環左移點亮,再次點擊P3.4按鍵后,LED燈停止循環,停留在當前狀態。圖3為LED的仿真界面。
上述通過動態鏈接庫的編寫,實現了簡單跑馬燈電路的仿真工作,為高職學生學習單片機提供了直觀形象的仿真界面,并為自主學習單片機,調試程序工作時提供了很大的便利。
3.論文結論
本文介紹的利用AGSI接口編寫動態鏈接庫,仿真單片機外圍設備的方法,其設計思想具有一定的普遍性,不光可以仿真51系列單片機的內部資源,也可以仿真其外設設備,而且也可以仿真其他KEIL軟件支持的單片機。
論文參考文獻
[1]鮑小南.單片微型計算機原理及應用.浙江大學出版社,2007
文章標題:基于KEIL-AGSI接口的單片機虛擬實驗室構建之軟件開發論文
轉載請注明來自:http://www.56st48f.cn/fblw/dianxin/ruanjiankaifa/11542.html
攝影藝術領域AHCI期刊推薦《Phot...關注:106
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
電子信息論文范文
智能科學技術論文 廣播電視論文 光電技術論文 計算機信息管理論文 計算機網絡論文 計算機應用論文 通信論文 信息安全論文 微電子應用論文 電子技術論文 生物醫學工程論文 軟件開發論文
SCI期刊分析
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3