劉書赫,李蘭英,肖 亮,汪明曌,單黎瀟
(哈爾濱理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱150080)
突如其來的新冠肺炎疫情,對高校嵌入式方向相關(guān)課程課堂教學(xué)提出了挑戰(zhàn),而挑戰(zhàn)中難度最大的當(dāng)屬硬件相關(guān)的實驗教學(xué)。硬件虛擬仿真實驗平臺可以在沒有實驗工具和實驗平臺的情況下,進行硬件仿真實驗,學(xué)生可在沒有硬件成本支出的情況下,不受時間空間的限制完成實驗,提高實驗的伸縮性和擴展性。
由于EDA工具軟件在硬件仿真上的優(yōu)異性能,可營造嵌入式系統(tǒng)低成本無硬件的實踐教學(xué)環(huán)境。Proteus不僅可將許多嵌入式系統(tǒng)實例功能形象化,也可將其運行過程形象化。前者可在相當(dāng)程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。
為了解決微機原理與接口技術(shù)課程的線上實踐教學(xué)的難題,本文基于Proteus和8086CPU,設(shè)計與實現(xiàn)了一個簡易智能家居虛擬仿真系統(tǒng),該系統(tǒng)涵蓋了課程大綱中要求學(xué)生掌握的總線緩沖驅(qū)動器74LS373、74LS244、74LS138譯碼器、并行可編程接口芯片8255、定時器/計數(shù)器8253、模數(shù)轉(zhuǎn)換器ADC0809等接口器件,以及嵌入式系統(tǒng)設(shè)計常用的外圍設(shè)備:按鍵、LCD顯示器、指示燈、繼電器等,還包括Proteus元件庫中提供的光強檢測、聲音檢測、電位器等器件。疫情期間的線上案例實踐教學(xué)驗證了其很好的教學(xué)效果,有助于學(xué)生全面、系統(tǒng)地達成課程的教學(xué)目標(biāo)。
簡易智能家居虛擬仿真控制系統(tǒng)可完成的功能如下:
在液晶屏上實時顯示溫度,溫度超過設(shè)定值可以啟動空調(diào)(電風(fēng)扇),低于設(shè)定值則停止。
在鍵盤上連續(xù)輸入4位密碼,在液晶屏上顯示,當(dāng)輸入正確的密碼后,顯示OK,門鎖打開,5秒后門鎖自動熄滅。
天黑后,光線低于設(shè)定值后,如果有聲音,樓道燈自動點亮10秒鐘后熄滅。
Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是比較好的仿真單片機及外圍器件的工具。雖然國內(nèi)推廣剛起步,但已受到單片機愛好者、從事嵌入式教學(xué)的教師、致力于嵌入式系統(tǒng)開發(fā)應(yīng)用的科技工作者的青睞。
Proteus是世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器,另外Proteus還支持多種通用外設(shè)模型[1]。
簡易智能家居虛擬仿真系統(tǒng)硬件結(jié)構(gòu)總體框圖如圖1所示。包括8086處理器及其接口電路、按鍵電路、LCD液晶顯示電路、室內(nèi)溫度檢測電路、樓道燈控制電路、密碼鎖控制電路和風(fēng)扇控制電路等。
圖1 智能家居硬件總體結(jié)構(gòu)框圖
8086CPU總線控制、譯碼電路和可編程并行接口芯片8255的接口電路[2]如圖2所示。
圖2 8086CPU總線控制與譯碼電路圖
矩陣鍵盤控制電路如圖3所示。0~15共16個按鍵通過74LS373和74LS244與8086接口。
圖3 矩陣鍵盤控制電路圖
溫度測量及液晶顯示電路如圖4所示。溫度檢測采用一個10k電位器RV1進行模擬。電位器滑動頭與ADC0808的IN0連接,通過改變滑動頭的位置來模擬溫度的變化。液晶顯示器采用LCD1602。8086通過8255控制1602進行溫度的顯示。
圖4 溫度測量及液晶顯示電路圖
ADC0808接口電路如圖5所示。通過8255的PC0~PC1控制通道的選擇。
圖5 ADC0809接口電路圖
樓道燈、密碼鎖控制電路如圖6所示。采用定時器8253接口芯片[3]控制樓道燈和密碼鎖的開關(guān),8253的通道0控制樓道燈,通道1控制密碼鎖,用繼電器作為電子開關(guān)控制電燈,用三色燈模擬密碼鎖的開關(guān)。風(fēng)扇的控制和樓道燈類似。
圖6 樓道燈、密碼鎖控制電路圖
樓道燈聲光檢測電路如圖7所示。采用器件庫里面的APDS-9002作為光強度檢測電路,A/D轉(zhuǎn)換值最暗為2,最亮為282。采用器件庫里面的VUMETER測量聲音的大小。
圖7 樓道燈聲光檢測電路圖
系統(tǒng)軟件采用8086匯編語言進行設(shè)計,其主程序流程如圖8所示。
圖8 主程序流程圖
包括AD轉(zhuǎn)換、溫度代碼轉(zhuǎn)換和溫度顯示、電風(fēng)扇控制、密碼門控制和樓道燈控制等子程序。
由于Proteus提供了修改電路設(shè)計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了一個培養(yǎng)提高學(xué)生創(chuàng)新實踐能力的平臺。使用Proteus軟件進行嵌入式系統(tǒng)虛擬仿真設(shè)計,是虛擬仿真技術(shù)和計算機多媒體技術(shù)相結(jié)合的綜合運用,有利于培養(yǎng)學(xué)生的電路設(shè)計能力及仿真軟件的操作能力。
除此之外,由于經(jīng)費以及時間成本問題,很多情況下學(xué)生沒有能力購置所需的儀器以及元器件,大多數(shù)學(xué)生只能在實驗室進行硬件實驗和嵌入式系統(tǒng)相關(guān)技術(shù)的學(xué)習(xí)。所以本文設(shè)計的智能家居仿真系統(tǒng)也可作為基于其他處理器的仿真系統(tǒng)設(shè)計的參考案例。學(xué)習(xí)和掌握基于Proteus的仿真系統(tǒng)的設(shè)計方法,既能提高嵌入式系統(tǒng)線上實踐教學(xué)質(zhì)量,又能大大降低嵌入式系統(tǒng)人才培養(yǎng)的成本和門檻。