下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于proeus和koil的單片機(jī)實(shí)驗(yàn)教學(xué)的聯(lián)合運(yùn)用
0系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)單門課程是能源和自動化的主要課程。該課程通過該課程培養(yǎng)具有應(yīng)用方案、分析、生產(chǎn)和調(diào)試能力的實(shí)踐經(jīng)驗(yàn)人才。傳統(tǒng)的單片機(jī)課程教學(xué)采用“先理論講解,再動手實(shí)驗(yàn)”的教學(xué)模式,以大量的原理來引導(dǎo)學(xué)生入門,不僅使學(xué)生理解困難,而且感覺枯燥乏味;教學(xué)過程中以單片機(jī)原理為核心,其應(yīng)用只是點(diǎn)綴,造成學(xué)生應(yīng)用能力培養(yǎng)不足;將軟硬件分離介紹,對單片機(jī)軟硬件結(jié)合的系統(tǒng)設(shè)計(jì)方法強(qiáng)調(diào)不夠,使得學(xué)生在構(gòu)建實(shí)際的應(yīng)用系統(tǒng)時(shí)缺少系統(tǒng)化的思路。而且由于實(shí)驗(yàn)條件的限制,學(xué)生的動手經(jīng)驗(yàn)完全來自于加工成箱的實(shí)驗(yàn)設(shè)備,做實(shí)驗(yàn)時(shí)只是機(jī)械地接孔連線,創(chuàng)造性和學(xué)習(xí)的興趣被嚴(yán)重挫傷,實(shí)驗(yàn)箱經(jīng)長期使用后,有些功能出現(xiàn)了故障,導(dǎo)致學(xué)生無法正確地進(jìn)行實(shí)驗(yàn)。本文將Proteus和Keil軟件聯(lián)合使用,實(shí)現(xiàn)單片機(jī)軟硬件的仿真。這種方法用虛擬單片機(jī)代替實(shí)驗(yàn)箱的硬件電路,形象具體,增強(qiáng)了學(xué)生的感性認(rèn)識,有助于對實(shí)驗(yàn)原理的理解。大量的教學(xué)實(shí)例通過軟件仿真,不僅節(jié)約了硬件資源,而且提高了教學(xué)效率。1proteus與kiel聯(lián)合仿真Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件。Proteus與其他電子仿真軟件不同的是,它不僅能仿真單片機(jī)的工作情況,還能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語句執(zhí)行時(shí)單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。從某種意義上講,這種仿真彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾。Keil是德國開發(fā)的51單片機(jī)開發(fā)軟件平臺,支持匯編和C語言。能夠不接硬件電路直接進(jìn)行用戶程序仿真,或者利用硬件仿真器,通過連接單片機(jī)硬件電路,在仿真器中載入項(xiàng)目程序后進(jìn)行實(shí)時(shí)仿真調(diào)試。Keil軟件提供了豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,生成的目標(biāo)代碼效率高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。利用Proteus和Keil聯(lián)合仿真,具體的設(shè)置步驟如下:(1)下載VDM51.DLL文件,將該文件復(fù)制到Proteus安裝目錄下(C:\ProgramFiles\LabcenterElectronics\Proteus6Professional\MODELS)以及KeilC安裝目錄的\C51\BIN目錄中。(2)編輯Keil安裝目錄下的TOOLS.INI文件,加入TDRV5=BIN\VDM51.DLL(”PROTEUSVSMMONITOR51DRIVER”),并保存(注意:不一定要用TDRV5,根據(jù)原來字段選用一個(gè)不重復(fù)的數(shù)值即可,引號內(nèi)的名字隨意)。(3)打開Proteus,畫出相應(yīng)電路,在Proteus的debug菜單中選中useremotedebugmonitor。2實(shí)驗(yàn)教學(xué)的例子本文通過“電子密碼鎖”這一實(shí)驗(yàn)教學(xué)實(shí)例,介紹Proteus和Keil在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用。2.1顯示電路時(shí),把led熒光總數(shù)據(jù)打造成設(shè)密碼。請看設(shè)計(jì)電子密碼鎖,用4×4鍵盤組成0~9數(shù)字鍵、確認(rèn)鍵和刪除鍵等,用6位數(shù)碼管組成顯示電路提示信息。當(dāng)輸入密碼時(shí),只顯示“-”,當(dāng)密碼輸入完畢按下確認(rèn)鍵時(shí),將輸入的密碼與設(shè)定的密碼進(jìn)行比較,若密碼正確,顯示“888888”,門打開,用LED發(fā)光二極管綠燈亮做為提示;若密碼不正確,發(fā)出報(bào)警聲,并顯示“FFFFFF”。2.2led監(jiān)控系統(tǒng)電路打開Proteus的ISIS軟件,進(jìn)行原理圖繪制,添加51單片機(jī)及外圍電路元件并連接,電路如圖1所示。圖中的主要元件有AT89C51、74HC373、RESPACK-8、7SEG-MPX4-CC、BUTTON、SPEAKER、LED-GREEN、CRYSTAL和CAP-ELEC等,構(gòu)成了AT89C51單片機(jī)芯片、6位LED動態(tài)數(shù)碼顯示屏、4×4行列式鍵盤、發(fā)光二極管、音頻放大模塊、蜂鳴器和時(shí)鐘電路等模塊。電路的核心是單片機(jī)AT89C51,單片機(jī)以動態(tài)掃描方式同時(shí)驅(qū)動六個(gè)數(shù)碼管來顯示密碼;如果輸入密碼正確,則單片機(jī)驅(qū)動數(shù)碼管顯示正確信息,同時(shí)LED發(fā)光二極管點(diǎn)亮;如果密碼錯(cuò)誤,單片機(jī)驅(qū)動數(shù)碼管顯示錯(cuò)誤信息,并且驅(qū)動蜂鳴器來報(bào)警。AT89C51單片機(jī)共有4個(gè)8位并行口P0~P3,其中P0口8個(gè)引腳P0.0~P0.7接8位LED動態(tài)數(shù)碼顯示屏A~G和DP端,作用是送段選碼到6位數(shù)碼管,七段LED數(shù)碼管采用共陰極接法,碼位為1時(shí)有效;P1口的P1.6接蜂鳴器,P1.7接LED發(fā)光二極管。P2口的8個(gè)引腳P2.0~P2.7接LED動態(tài)數(shù)碼顯示屏S1~S8端子,作用是送位選碼,碼位為0時(shí)選中當(dāng)前位;P3口接矩陣式鍵盤,對按鍵進(jìn)行鍵盤掃描,傳輸數(shù)據(jù)到AT89C51單片機(jī)中,其中P3口的8個(gè)引腳P3.0~P3.7接鍵盤行端子R1~R4和列端子C1~C4,分別用于行掃描和列掃描,行掃描選中行送低電平,其余送高電平,列掃描讀取低電平有效,代表當(dāng)前列有鍵按下。2.3編寫“電子密碼鎖”程序電子密碼鎖主要實(shí)現(xiàn)密碼的輸入、清除、更改和開鎖等功能。在Keil軟件下建立項(xiàng)目,用C語言編寫“電子密碼鎖”程序。采用主程序調(diào)用子程序的模塊化結(jié)構(gòu),主要由主程序、鍵盤掃描程序和顯示子程序等部分構(gòu)成,主程序通過判斷跳轉(zhuǎn)到相應(yīng)的子程序來實(shí)現(xiàn)系統(tǒng)各模塊的功能。2.3.1主程序主程序主要完成初始化、調(diào)用鍵盤掃描程序和顯示子程序等功能。主程序流程如圖2所示。2.3.2掃描碼讀取操作本實(shí)驗(yàn)采用行列式鍵盤。行列式鍵盤對鍵的識別方法有兩種:(1)常用的逐行掃描查詢法;(2)是速度較快的線反轉(zhuǎn)法。本實(shí)驗(yàn)采用逐行掃描法。鍵盤掃描需要完成以下幾項(xiàng)功能:(1)判斷是否有鍵按下,其中包括去抖處理。由單片機(jī)P3口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷,每個(gè)鍵都分成水平和垂直的兩端接入,分別接P3口低4位和高4位。掃描的動作是先送入掃描碼,再從鍵盤讀取。例如掃描碼送入11111110,低4位1110說明當(dāng)前掃描第一行,而高4位1111是將4條列線均設(shè)為高電平,若此時(shí)第一行第一列按鍵被按下,當(dāng)前按鍵所在列線接地,則從鍵盤讀取的結(jié)果為11101110,由此來判斷按鍵位置。為準(zhǔn)確讀取按鍵信息,本實(shí)驗(yàn)采用軟件延時(shí),調(diào)用延時(shí)子程序來達(dá)到去抖的目的。(2)判鍵類型,做出不同處理。按鍵有5種類型:數(shù)字鍵、確認(rèn)鍵、刪除一位鍵、全刪除鍵、空鍵。(1)數(shù)字鍵:存儲鍵值,將顯示緩沖區(qū)workbuf對應(yīng)位查表賦值,顯示“-”。(2)確認(rèn)鍵:跳轉(zhuǎn)到主程序,進(jìn)行密碼比較。(3)刪除一位鍵:當(dāng)前顯示“-”變?yōu)闊o顯示,將顯示緩沖區(qū)workbuf對應(yīng)位賦值0X00,顯示為空。(4)全刪除鍵:清屏,將顯示緩沖區(qū)workbuf所有位查表賦值,顯示均為空。(5)空鍵:無顯示。由于掃描的全局性,空鍵被作為一個(gè)鍵值存儲,視為錯(cuò)誤密碼位。(3)編碼轉(zhuǎn)換。讀取掃描碼,將對應(yīng)按鍵數(shù)字存入變量num中,并將其存放在待比較數(shù)組變量的某位中pwx[count]=num,存放的具體位置由按鍵計(jì)數(shù)變量count確定。而數(shù)碼管段選碼則由存放段選碼值的數(shù)組通過查表獲得,workbuf[count]=tabledu[x]。鍵盤掃描子程序流程如圖3所示。2.3.3選碼口的產(chǎn)生該子程序?yàn)橹袛喾?wù)子程序,由定時(shí)器T0控制。將段選碼送P0口(P0=workbuf[i]),位選碼送P1口(P1=tablewe[i])。顯示子程序代碼:2.4proteus仿真打開KeilC51軟件,新建工程,選擇Atmel的AT89C51,進(jìn)入Keil的project菜單OptionforTarget‘Target1’,添加源文件到工程中。在Output選項(xiàng)下的createHEXfile選項(xiàng)前打鉤,在Debug選項(xiàng)欄右上角Use選項(xiàng)右邊的下拉框中,選中ProteusVSMMonitor-51Driver。再進(jìn)入setting,如果是單機(jī)聯(lián)調(diào),IP為127.0.0.1,如不是單機(jī)則填另一臺機(jī)的IP地址,端口號均為8000。在KeilC51中編寫MCU的程序,編寫完軟件程序并編譯通過后,在Keil中直接點(diǎn)擊調(diào)試按鈕,開始進(jìn)行仿真調(diào)試,同時(shí)在Proteus中查看結(jié)果,此時(shí)Proteus的仿真調(diào)試工具條的運(yùn)行按鈕由黑色變?yōu)榫G色。按F5或點(diǎn)擊工具欄的按鈕,Proteus開始運(yùn)行。本實(shí)驗(yàn)設(shè)置原始密碼為“666333”,密碼可任意改動。通過鍵盤輸入“666333”,數(shù)碼管顯示“———”,然后按“確認(rèn)”鍵,數(shù)碼管顯示“888888”,同時(shí)LED綠燈持續(xù)點(diǎn)亮,如圖4和圖5所示。當(dāng)輸入的6個(gè)鍵值不是“666333”,數(shù)碼管顯示相應(yīng)按鍵個(gè)數(shù)的“-”,此時(shí)按“確認(rèn)”鍵,數(shù)碼管顯示“FFFFFF”,并伴隨蜂鳴器鳴響,3s后數(shù)碼管熄滅,響聲停止,如圖6所示。發(fā)現(xiàn)密碼輸錯(cuò)時(shí),按下“刪除”鍵后,每按一次,當(dāng)前顯示“-”熄滅一位。當(dāng)按下“全刪除”鍵后,顯示均熄滅。3調(diào)的整個(gè)實(shí)驗(yàn)過程實(shí)例通過將Proteus與Keil軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024水箱安全檢測與銷售服務(wù)合作協(xié)議3篇
- 2025年度銷售合同終止及市場拓展合作管理協(xié)議2篇
- 個(gè)體工商戶商鋪?zhàn)赓U標(biāo)準(zhǔn)協(xié)議模板版A版
- 2024年度商鋪離婚協(xié)議及企業(yè)經(jīng)營權(quán)轉(zhuǎn)讓與風(fēng)險(xiǎn)分擔(dān)合同3篇
- 二零二五年豪華二手車經(jīng)銷合作框架合同2篇
- 二零二五年砂石料買賣協(xié)議3篇
- 2024標(biāo)準(zhǔn)窗簾買賣合同樣本版B版
- 二零二五版25MW柴油發(fā)電機(jī)電站發(fā)電設(shè)備安裝調(diào)試服務(wù)協(xié)議3篇
- 西安明德理工學(xué)院《項(xiàng)目管理與案例分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版家政服務(wù)三方合同范本
- 心理學(xué)專業(yè)知識考試參考題庫500題(含答案)(一)
- 2024年浙江高考技術(shù)試題(含答案)
- 資管行業(yè)投研一體化建設(shè)
- 提高保險(xiǎn)公司客戶投訴處理能力的整改措施
- 物業(yè)費(fèi)收取協(xié)議書模板
- 電工(中級工)理論知識練習(xí)題(附參考答案)
- 工業(yè)設(shè)計(jì)概論試題
- 起重機(jī)的維護(hù)保養(yǎng)要求與月度、年度檢查記錄表
- 消防設(shè)施維護(hù)保養(yǎng)記錄表
- 城區(qū)生活垃圾填埋場封場項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 垃圾分類巡檢督導(dǎo)方案
評論
0/150
提交評論