馬雪林
摘 要:單片微型計算機(MCU)經(jīng)過多年的發(fā)展,在性能上有很大的進步,在型號上發(fā)展到上千種類,已經(jīng)廣泛應(yīng)用于人類社會生活的各個領(lǐng)域。單片機課程已經(jīng)成為高校計算機、自動化、測控以及電子信息工程等專業(yè)的重要課程。在掌握理論知識之余,必須通過編寫程序、設(shè)計硬件電路、仿真、調(diào)試這一系列的實驗過程,才能更好地掌握單片機的結(jié)構(gòu)原理和應(yīng)用技能。隨著單片機及其接口技術(shù)的飛速發(fā)展,目前市場上供應(yīng)的編程仿真實驗資源并不能完全滿足高校單片機課程教與學(xué)的需求,構(gòu)建低成本、技術(shù)先進、源碼公開的單片機編程仿真實驗系統(tǒng),對我國單片機課程的教學(xué)和單片機領(lǐng)域人才的培養(yǎng)具有重要的現(xiàn)實意義。
關(guān)鍵詞:超聲波流量計;時差法;自動增益控制
單片機也叫嵌入式微控制器,它的出現(xiàn)是計算機發(fā)展史上重要的里程碑,使計算機的用途從海量數(shù)據(jù)計算發(fā)展到智能化控制,它具有體積小、功能強、可靠性高、價格低、使用方便、性能穩(wěn)定等優(yōu)點。單片機系統(tǒng)廣泛應(yīng)用于工業(yè)自動化、儀器儀表、家用電器、信息和通信產(chǎn)品和軍事裝備等方面。在工業(yè)自動化技術(shù)中,無論是過程控制技術(shù)、數(shù)據(jù)采集和測控技術(shù),還是生產(chǎn)線上的機器人技術(shù),都需要單片機的參與;單片機的使用又將使儀器儀表向數(shù)字化、智能化、多功能化和柔性化方向發(fā)展;汽車的安全保障系統(tǒng),計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,飛機上的各種儀表控制,導(dǎo)彈的導(dǎo)航裝置等,都有單片機在其中發(fā)揮著作用。學(xué)習(xí)、開發(fā)與應(yīng)用單片機并掌握其應(yīng)用技術(shù)具有重要意義。
1 單片機編程仿真試驗系統(tǒng)設(shè)計
1.1 單片機選型。在單片機家族中,80C51 系列是其中的佼佼者,Intel 公司將其 MCS-51 系列中的 80C51內(nèi)核使用權(quán)以專利互換或出售形式轉(zhuǎn)讓給全世界許多著名 IC 設(shè)計廠商,如 Philips、NEC、Atmel、AMD、華邦等,這些公司都在保持與 80C51 單片機兼容的基礎(chǔ)上改善了 80C51 的許多特性。目前,單片機進一步向著 CMOS 化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展,越來越多的高性能和多品種單片機出現(xiàn)[1]。一個好的單片機編程仿真實驗系統(tǒng)必須有與之適合的 MCU,本實驗系統(tǒng)主要是根據(jù)單片機的 ISP在系統(tǒng)編程功能,使程序下載到實驗板目標(biāo)單片機中并即時運行,系統(tǒng)選用了 Atmel 公司生產(chǎn)的具有 ISP 功能的 AT89S51 單片機。
1.2 編程控制設(shè)計。根據(jù) MCU 芯片編程手冊上規(guī)定的命令協(xié)議,通過一定的時序向不同的引腳置高或低的編程電壓實現(xiàn)對單片機的編程,將代碼寫入單片機的 ROM 中。單片機編程仿真實驗系統(tǒng)中的編程器模塊就是根據(jù)這一原理,在 PC 上位機和單片機間規(guī)定通訊協(xié)議,按照通訊協(xié)議實現(xiàn) PC 機上的編程控制軟件與單片機通訊,使單片機編程器控制程序中所要求的不同地址的引腳置高或低電平從而實現(xiàn)單片機的編程。 單片機編程仿真實驗系統(tǒng)的子程序查詢模塊通過把單片機子程序的各要素按一定的規(guī)則放入數(shù)據(jù)庫,根據(jù) Delphi 強大的數(shù)據(jù)庫查詢功能,通過標(biāo)號和子程序功能字段實現(xiàn)單片機子程序的查詢。單片機編程仿真實驗系統(tǒng)的編程仿真模塊根據(jù)實驗板仿真的結(jié)果,通過 Delphi的編程把實驗結(jié)果在系統(tǒng)中模擬出來。
1.3 單片機編程仿真試驗系統(tǒng)設(shè)計
該單片機編程仿真實驗板利用其在系統(tǒng)可編程(ISP)功能,在軟件仿真正確的前提下,直接對目標(biāo)單片機進行在系統(tǒng)編程,實時運行并立刻出現(xiàn)實際運行效果。
根據(jù)單片機編程仿真實驗系統(tǒng)硬件資源,我們設(shè)計了如下實驗:
實驗一、最簡單的 LED 燈閃爍實驗。實驗二、按鍵控制 LED 亮滅實驗。實驗三、流水燈的左移右移實驗 。實驗四、采用查表方式的花樣流水燈實驗 。實驗五、數(shù)碼管的靜態(tài)顯示實驗 。實驗六、按鍵控制蜂鳴器發(fā)聲實驗 。實驗七、矩陣式鍵盤識別技術(shù) 。實驗八、數(shù)碼管動態(tài)掃描顯示“1、2、3、4….9、0”。實驗九、時鐘實驗 。實驗十、0~9999計數(shù)器實驗。實驗十一、LCD1602顯示實驗。實驗十二、I2C總線(AT24C01)讀寫演示實驗。實驗十三、紅外遙控器解碼數(shù)碼管顯示實驗 。實驗十四、繼電器控制實驗 。實驗十五、無線遙控實驗 。實驗十六、DS18B20溫度采集實驗。實驗十七、8255可編程控制實驗。實驗十八、步進電機控制實驗 。實驗十九、串行通訊實驗 。學(xué)習(xí)者還可以根據(jù)實際學(xué)習(xí)的內(nèi)容,利用實驗板的硬件資源和輸入輸出接口設(shè)計拓展實驗。
2 編程仿真軟件設(shè)計與實現(xiàn)
2.1 單片機編程器模塊
單片機編程仿真實驗系統(tǒng)的編程器模塊總體設(shè)計主要分為三部分:操作部分、設(shè)置部分和顯示部分[2]。其中,操作部分包括打開文件、保存文件、擦除器件、寫器件、讀器件、校驗數(shù)據(jù)和鎖定部分;設(shè)置部分包括設(shè)置加密位,選擇編程器類型、串口、波特率和下載線性能設(shè)置;顯示部分包括提示信息、緩沖存儲區(qū)1內(nèi)容和緩沖存儲區(qū)2內(nèi)容。
2.2 子程序庫查詢模塊
目前已有若干版本的 MCS-51 單片機實用子程序庫公開發(fā)表,它們各有特色[3]。本程序庫中的開平方算法為快速逼近算法,它能達(dá)到牛頓迭代法同樣的精度,而速度加快二十倍左右,超過雙字節(jié)定點除法的速度。子程序庫查詢系統(tǒng)實現(xiàn)的功能即查詢每一個子程序的標(biāo)號、功能、入口條件、出口信息、影響資源、堆棧需求和程序代碼,可以在單片機編程過程中方便的查詢所需要的子程序。本子程序庫查詢系統(tǒng)可以通過兩種方法查詢:(1)按標(biāo)號查詢;(2)按功能查詢。也可以通過導(dǎo)航按鈕逐一查看子程序。
3 編程仿真實驗板設(shè)計
3.1 總體設(shè)計
單片機編程仿真實驗板的編程模塊根據(jù) AT89S51 的 ISP 功能對單片機進行編程??梢灾苯訉︽i緊座的目標(biāo)單片機進行在系統(tǒng)編程,實時運行并立刻出現(xiàn)實際運行效果。單片機編程仿真實驗系統(tǒng)可重復(fù)對目標(biāo)單片機進行編程運行,只需在編程前擦除片內(nèi) ROM 內(nèi)容,即可再次編程,省去了拔插芯片的麻煩,使學(xué)習(xí)更加方便、快捷。單片機編程仿真實驗系統(tǒng)對單片機進行編程寫入后即時運行,要求在實驗板上設(shè)計支持實時仿真的實驗資源和接口。根據(jù)單片機編程仿真的原理和實驗過程,實驗板上需設(shè)計接口部分、操作部分和顯示部分使芯片編程后即時地仿真。
3.2 實驗板模塊
單片機編程仿真實驗板由編程電路和仿真擴展電路組成,本系統(tǒng)集成了 8255 可編程I/O 接口芯片構(gòu)成的鍵盤和8位數(shù)碼管電路,還留有P1口、數(shù)據(jù)總線、地址總線和控制總線以及232串行通信接口等外擴接口。下面分以下幾個模塊對實驗板進行功能設(shè)計與實現(xiàn)。實驗板模塊包括電源、ISP接口、發(fā)音、流水燈、行列鍵盤和數(shù)碼管、紅外接收、繼電器控制、I2C實驗、溫度傳感器。
3.3 編程功能設(shè)計
ISP(In System Programming)技術(shù)即在系統(tǒng)可編程技術(shù),是指在用戶設(shè)計的目標(biāo)系統(tǒng)中或印刷電路板上,為重新配置邏輯或?qū)崿F(xiàn)新的功能而對器件進行編程或反復(fù)編程的能力。ISP 技術(shù)無需編程器和較高的編程電壓,打破了先編程后裝配的慣例,形成產(chǎn)品后還可以在系統(tǒng)內(nèi)反復(fù)編程,使具有FLASH-ROM可多次編程或反復(fù)編程的微控制器的優(yōu)越性得以更充分的發(fā)揮。目前ISP編程器的使用越來越多,各個廠商分別推出了自己的使用ISP技術(shù)的新產(chǎn)品。與此同時,ISP 下載電路的種類也非常多,大多數(shù)的區(qū)別僅在于并口信號引腳配置不同。使用 ISP 技術(shù)可以大大加快硬件開發(fā)速度。并且與計算機軟件的配合使用也可以降低開發(fā)成本,非常適合初學(xué)者使用。
4 結(jié)語
本論文針對現(xiàn)有單片機編程仿真實驗資源所存在的種種不足,根據(jù)一些從事實驗教學(xué)的高校教師通過長期的教學(xué)實踐摸索提出的實驗教學(xué)改革意見以及對單片機編程仿真實驗資源的要求,根據(jù)單片機編程仿真原理,采用模塊化的結(jié)構(gòu),精心設(shè)計了一款單片機編程仿真實驗系統(tǒng)。該系統(tǒng)可適用于多層次的實驗教學(xué)和學(xué)生自己編程實驗,目前已通過調(diào)試,并將逐步增加編程支持的芯片和完善其他一些實驗電路板。通過開發(fā)單片機編程仿真實驗系統(tǒng),實現(xiàn)了理論與實際相結(jié)合,提高了分析問題、解決問題和實際動手的能力,同時也使自己對單片機產(chǎn)品的應(yīng)用開發(fā)以及單片機課程的講授作了比較深入地探討和研究。
參考文獻
[1]吳嘗,邊玉亮.基于單片機的舵機控制仿真實驗研究[J].淮北職業(yè)技術(shù)學(xué)院學(xué)報,2017,16(01):136-137+142.
[2]周教生.單片機編程仿真實驗系統(tǒng)的設(shè)計與開發(fā)[J].自動化與儀器儀表,2016(11):202-205.
[3]張欽.基于單片機仿真實驗平臺的PLC控制[J].現(xiàn)代制造技術(shù)與裝備,2015(05):147-148.