" />

国产黄色毛片-国产黄色毛片视频-国产黄色片91-国产黄色片一级-一级坐爱片-一级免费

基于KEIL-AGSI接口的單片機虛擬實驗室構(gòu)建之軟件開發(fā)論文

所屬欄目:軟件開發(fā)論文 發(fā)布日期:2012-03-24 15:13 熱度:

  摘要:文章軟件開發(fā)論文提出了一種基于uVisionKEIL的AGSI接口,利用VC++編寫動態(tài)鏈接庫,模擬單片機外圍設(shè)備,以實現(xiàn)單片機虛擬實驗室的建設(shè)方案,從而實驗、實訓(xùn)課題在虛擬平臺中實現(xiàn),有效解決了資金和設(shè)備維護問題,并增強了學(xué)生自主學(xué)習(xí)單片機的便利性和時效性。
  關(guān)鍵詞:AGSI;仿真實驗室;單片機;動態(tài)鏈接庫
  1.論文引言
  目前,單片機因其功能強且可自定義,價格低,可靠性高,抗干擾能力強,使用方便靈活,通用性強,在工控、智能儀表、通信系統(tǒng)、信號處理、智能家電等領(lǐng)域都得到了廣泛的應(yīng)用,學(xué)習(xí)者逐年增加。作者利用計算機軟件的仿真技術(shù),在KEIL的AGSI接口基礎(chǔ)上,開發(fā)DLL庫,構(gòu)建單片機虛擬實驗室,針對高職院校單片機教學(xué),成功的解決了資金的限制,單片機設(shè)備更新快,學(xué)生自主學(xué)習(xí)時硬件缺乏等許多實際的問題和困難。
  2.解決方案
  為了解決傳統(tǒng)單片機實驗室存在的問題,并為學(xué)生自主學(xué)習(xí)提供更大的便利;贏GSI接口利用VC++自行開發(fā)動態(tài)鏈接庫,采用純軟件的方法仿真按鈕、LED、數(shù)碼管、LCD、信號發(fā)生器以及其他自定義外設(shè),無縫鏈接至uVision,實現(xiàn)方便的外設(shè)軟件仿真和直觀的界面問題。
  2.1仿真庫的開發(fā)。下面將以學(xué)生學(xué)習(xí)時常用的跑馬燈實訓(xùn)題目為例,開發(fā)直觀的虛擬外設(shè),介紹如何利用AGSI接口開發(fā)動態(tài)鏈接庫。
 。1)啟動MSVisualC++,利用MFCAppWizard(dll)新建Experiment工程。注意使用MFC的靜態(tài)鏈接,否則無法正常工作。
 。2)在Experiment工程中添加頭文件AGSI.h,增加AGSI的接口函數(shù)原型,在Experiment.h中添加SFR(特殊功能寄存器)、VTR(虛擬寄存器)的定義和接口函數(shù)原型。
 。3)在Experiment.cpp文件中添加外設(shè)初始化代碼,包括AGSI的建立(GetFunctionPointers),外設(shè)菜單入口及其對應(yīng)對話框的聲明(DefineAllMenuEntries),和SFR(DefineAllSFR),VTR(DefineAllVTREG),監(jiān)視器(DefineAllWatches)和中斷(DefineAllInterrupts)的聲明。編寫外設(shè)復(fù)位代碼(ResetPripheral),上述的所有函數(shù)都通過AgsiEntry()函數(shù)調(diào)用,該函數(shù)需要在DLL中導(dǎo)出,定義如下:extern"C"DWORDAGSIEXPORTAgsiEntry(DWORD,void*)。
 。4)在工程中添加一個非模態(tài)對話框,在對話框定義時產(chǎn)生的源文件中添加PeriDisp、PeriUpdate、PeriKill三個函數(shù),分別用來顯示對話框,更新顯示內(nèi)容和關(guān)閉對話框。同時添加兩個宏用于菜單定義AGSIMENU和對話框?qū)傩远xAGSIDLGD。
 。5)在對話框類中添加Update()函數(shù),用于更新顯示,該函數(shù)在外設(shè)狀態(tài)改變時被自動調(diào)用便于及時反映外設(shè)狀態(tài)。
 。6)在Update()函數(shù),編寫人機界面,利用Agsi.ReadSFR()函數(shù)讀取P1口的狀態(tài),繪制8個LED燈,用于仿真P1口狀態(tài)。
 。7)添加4個按鈕,用于仿真P3.4~P3.7四個管腳的按鍵動作。編寫按鈕的處理函數(shù)如下:利用Agsi.WriteSFR(P3,0x00,0x10)對P3.4口進行清“0”操作,然后調(diào)用AGSI的CreateTimer函數(shù)將回調(diào)函數(shù)BtnP34與時間進行關(guān)聯(lián) Timer4=Agsi.CreateTimer(BtnP34),最后利用SetTimer函數(shù)定時100ms,Agsi.SetTimer(Timer4,1000),這樣回調(diào)函數(shù)BtnP34將在1S以后被調(diào)用,在BtnP34函數(shù)中調(diào)用WriterSFR對P3.4口進行置“1”操作,模擬按鍵P3.4的動作。其他P3.5等三個管腳的動作仿照P3.4管腳實現(xiàn),P3.4按鍵動作時序與VC++程序間關(guān)系如圖1所示。
  (8)編譯鏈接生成動態(tài)鏈接庫Experiment.dll。1.png
  圖1P3.4仿真按鍵時序的實現(xiàn)方法
  2.2仿真庫的使用
 。1)將編譯生成的Experiment.dll文件拷貝到KEIL程序所在的目錄C51BIN文件夾中。
 。2)在uVision3的OptionsforTarget的Debug選項頁中,選擇UseSimulator,在DialogDLL一欄的Parameter項中寫入-dExperimen,為后續(xù)進行仿真單片機程序做準(zhǔn)備。
 。3)編寫一個跑馬燈的單片機測試程序,P1.0~P1.7所接8個LED燈,循環(huán)點亮,間隔周期為1S,按鍵P3.4控制跑馬燈的啟停。編譯通過后,啟動DebugSession后,IDE將自動裝載8051的仿真動態(tài)鏈接庫S8051.DLL和我們所設(shè)計的仿真動態(tài)鏈接庫Experiment.DLL。在Peripherals的下拉菜單中可以看到“單片機虛擬實驗平臺1.0”,點擊后可進入實驗平臺的選擇界面,點擊“實驗1”按鈕可進入圖2所示跑馬燈仿真界面。
  (4)開始仿真時,點擊P3.4按鍵后,8個LED燈以1S為周期循環(huán)左移點亮,再次點擊P3.4按鍵后,LED燈停止循環(huán),停留在當(dāng)前狀態(tài)。圖3為LED的仿真界面。
  上述通過動態(tài)鏈接庫的編寫,實現(xiàn)了簡單跑馬燈電路的仿真工作,為高職學(xué)生學(xué)習(xí)單片機提供了直觀形象的仿真界面,并為自主學(xué)習(xí)單片機,調(diào)試程序工作時提供了很大的便利。
  3.論文結(jié)論
  本文介紹的利用AGSI接口編寫動態(tài)鏈接庫,仿真單片機外圍設(shè)備的方法,其設(shè)計思想具有一定的普遍性,不光可以仿真51系列單片機的內(nèi)部資源,也可以仿真其外設(shè)設(shè)備,而且也可以仿真其他KEIL軟件支持的單片機。
  論文參考文獻
  [1]鮑小南.單片微型計算機原理及應(yīng)用.浙江大學(xué)出版社,2007
  

文章標(biāo)題:基于KEIL-AGSI接口的單片機虛擬實驗室構(gòu)建之軟件開發(fā)論文

轉(zhuǎn)載請注明來自:http://m.optiwork.cn/fblw/dianxin/ruanjiankaifa/11542.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識網(wǎng) 冀ICP備15021333號-3

主站蜘蛛池模板: 国产孕妇孕交一级毛片 | 国产精品密蕾丝视频 | 国产成人综合亚洲一区 | 国产午夜人做人视频羞羞 | 一级一片 | 久久久久综合 | 欧美激情综合亚洲一二区 | 免费在线亚洲视频 | 国产精品免费视频一区二区三区 | 日本一区二区三区不卡视频中文字幕 | 99福利资源久久福利资源 | 欧美精品区 | 97视频免费在线 | 亚洲天堂视频在线观看 | 国产精品美女一级在线观看 | 欧美一级手机免费观看片 | 免费高清在线爱做视频 | 成人在免费视频手机观看网站 | 黄色三级国产 | 欧美成年人视频 | 99精品免费观看 | 亚洲欧美国产中文 | 久久福利资源网站免费看 | 全免费毛片在线播放 | 亚洲线精品一区二区三区 | 一区二区三区亚洲视频 | 香蕉福利久久福利久久香蕉 | 操美女大逼视频 | 国产激情视频网站 | 亚洲欧美成人在线 | 日韩一品在线播放视频一品免费 | 一区毛片 | 真实一级一级一片免费视频 | 国产亚洲一路线二路线高质量 | 日韩特级毛片免费观看视频 | 日本高清色视频www 日本高清在线精品一区二区三区 | 一级一毛片a级毛片欧美 | 久草福利资源网站免费 | 性欧美高清久久久久久久 | 国产亚洲欧美在线视频 | 在线中文字幕一区 |