葉夢君 胡長暉 焦冰 李琳



關(guān)鍵詞:Proteus;搶答器;綜合實驗案例;教學(xué)實施
中圖分類號:TP368.1-4;G642.423 文獻標(biāo)識碼:A
文章編號:1009-3044(2023)14-0018-04
0 引言
單片機原理與應(yīng)用課程是電子類專業(yè)一門技術(shù)性和實踐性很強的專業(yè)核心課程,課程學(xué)習(xí)必須通過一系列的軟硬件實驗、理論聯(lián)系實際,才能學(xué)好、學(xué)懂,取得較好的學(xué)習(xí)效果,單片機原理與應(yīng)用課程的基礎(chǔ)實驗一般都是針對單片機某個知識點進行的實驗,實驗內(nèi)容簡單,各知識點之間的銜接不明顯,不能提高學(xué)生單片機開發(fā)與應(yīng)用的能力,也不能很好提高學(xué)生的創(chuàng)新意識和團隊協(xié)作能力。基于Proteus的單片機綜合案例實驗,一方面使用Proteus仿真軟件搭建虛擬硬件平臺,通過合理設(shè)計實驗內(nèi)容和實驗案例,增強實驗的工程性、綜合性與探索性,提高學(xué)生的學(xué)習(xí)熱情;另一方面將單片機理論課程中多個核心知識點融會貫通起來,加深學(xué)生對單片機內(nèi)部結(jié)構(gòu)和工作原理的理解,提高綜合運用軟硬件進行單片機系統(tǒng)開發(fā)的技能,加強理論聯(lián)系實際,培養(yǎng)學(xué)生的工程實踐能力和創(chuàng)新意識,以及團隊協(xié)作能力。
本文以單片機原理與應(yīng)用綜合性實驗——基于Proteus 的8位競賽搶答器為例,從知識目標(biāo)、技能目標(biāo)、素質(zhì)目標(biāo)、能力目標(biāo)四個方面,淺談基于Proteus的單片機綜合實驗案例進行設(shè)計與實踐。
1 綜合實驗案例設(shè)計思想
綜合實驗案例,旨在知識目標(biāo)、技能目標(biāo)、素質(zhì)目標(biāo)、能力目標(biāo)對學(xué)生進行綜合培養(yǎng)[1-2]。在知識目標(biāo)上,培養(yǎng)學(xué)生將單片機原理與應(yīng)用課程中碎片化的理論知識點構(gòu)建成完善的知識體系;技能目標(biāo)上,培養(yǎng)學(xué)生熟悉使用軟件繪圖和編程開發(fā),能夠獨立進行單片機應(yīng)用系統(tǒng)的軟硬件開發(fā);素質(zhì)目標(biāo)上,培養(yǎng)學(xué)生具有團隊合作意識,建立科學(xué)嚴(yán)謹(jǐn)?shù)乃季S方式,理論聯(lián)系實踐;能力目標(biāo)上,培養(yǎng)學(xué)生自主學(xué)習(xí)、創(chuàng)新思維、研發(fā)設(shè)計和工程實踐能力。以8位競賽搶答器為例,該綜合案例實驗在知識目標(biāo)、技能目標(biāo)、素質(zhì)目標(biāo)、能力目標(biāo)的具體體現(xiàn)。
1.1 綜合實驗項目的知識目標(biāo)
通過綜合實驗案例的設(shè)計,可以將單片機原理與應(yīng)用課程的多個知識點融會貫通起來,構(gòu)建完善的知識體系。8位競賽搶答器綜合性實驗涉及單片機原理與應(yīng)用課程中的獨立式鍵盤與單片機接口設(shè)計、數(shù)碼管的工作原理及顯示、定時器的工作原理及應(yīng)用、串行通信等知識點的融合。8位競賽搶答器綜合性實驗知識點分布如表1所示,通過對獨立式鍵盤、數(shù)碼管、定時器、串行通信知識點的掌握,并將知識點融會貫通起來,構(gòu)建完善的知識體系,實現(xiàn)具體搶答功能。
1.2 實驗項目的技能目標(biāo)
8位競賽搶答器綜合性實驗,可以借助虛擬仿真軟件+編程開發(fā)軟件進行實現(xiàn)相應(yīng)的功能,一方面,通過虛擬仿真軟件+編程開發(fā)軟件驗證該實驗的可行性,另一方面,通過功能的實現(xiàn),提高學(xué)生的學(xué)習(xí)興趣。8位競賽搶答器綜合性實驗技能目標(biāo)如表2所示,要求學(xué)生熟悉使用軟件繪圖、編程開發(fā)和仿真軟件,能夠獨立進行單片機應(yīng)用系統(tǒng)的軟硬件開發(fā)[3-4]。
1.3 實驗項目的素質(zhì)目標(biāo)
綜合性實驗,設(shè)計的功能和任務(wù)往往較多,需要進行拆分,分解成較小的任務(wù),這就需要多個同學(xué)協(xié)作共同完成相應(yīng)的任務(wù)需求。8位競賽搶答器綜合性實驗包含硬件設(shè)計任務(wù)和軟件設(shè)計任務(wù),8位競賽搶答器綜合性實驗項目的素質(zhì)目標(biāo)如表3所示。通過綜合實驗案例的設(shè)計,培養(yǎng)了學(xué)生團隊合作意識,鍛煉了學(xué)生科學(xué)嚴(yán)謹(jǐn)?shù)乃季S[5-6]。
1.4 實驗項目的能力目標(biāo)
8位競賽搶答器綜合性實驗,在教師指導(dǎo)下,學(xué)生獨立自主學(xué)習(xí)和合作討論學(xué)習(xí),并通過探索、研究獲取知識。學(xué)生通過對8位搶答器綜合實驗進行思考,如果選手較多,采用獨立式按鍵是否合理,是否可以采用矩陣式鍵盤進行操作以及具體實現(xiàn);定時時間是否可以進行調(diào)整;數(shù)碼管驅(qū)動芯片可否用其他芯片或者電路進行取代;學(xué)生通過以上一系列問題,進行自主設(shè)計與實現(xiàn),在能力目標(biāo)上,培養(yǎng)了學(xué)生自主學(xué)習(xí)、創(chuàng)新思維、研發(fā)設(shè)計和工程實踐能力[7-8]。
2 綜合實驗案例具體實施
2.1 具體任務(wù)要求
設(shè)計一個以單片機為核心8位競賽搶答器,可以同時供8名選手或8支隊伍比賽,具體要求如下:
1)搶答器同時供8名選手或8個代表隊參賽。
2)設(shè)置一個系統(tǒng)清除/設(shè)置時間按鈕S9和搶答開關(guān)按鈕S0,由主持人控制。
3)搶答器具有鎖存和顯示功能。即選手按動按鈕,鎖存相應(yīng)的編號,且優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。
4)搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30s)。當(dāng)主持人啟動“開始”鍵后,定時器進行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間為0.5s左右。
5)參賽選手在設(shè)定的時間內(nèi)進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答剩余的時間,并保持到主持人將系統(tǒng)清除為止。
6)如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)禁止搶答,定時顯示器上顯示00。
2.2 原理分析
通過對8位競賽搶答器任務(wù)要求分析,該8位競賽搶答器有單片機最小系統(tǒng)、搶答電路、主持人控制電路、數(shù)碼管顯示電路、揚聲器提示電路;8位競賽搶答器的系統(tǒng)框圖如圖1所示:
2.3 8位競賽搶答器系統(tǒng)硬件電路設(shè)計
單片機最小系統(tǒng)硬件電路由單片機微控制器、晶振電路和復(fù)位電路構(gòu)成,教師講解單片機最小系統(tǒng)硬件圖,學(xué)生掌握單片機最小系統(tǒng)組成;搶答電路使用AT89C51的IO口(選取P1.0 - P1.7)分別連接獨立式按鍵作為選手的搶答按鍵,選手編號分別為1到8,當(dāng)選手按下按鍵時,按鍵對應(yīng)的接口由高電平變?yōu)榈碗娖剑绦虿粩鄴呙鑀1各個口電平的變化,在掃描到有接口變?yōu)榈碗娖胶螅杆冁i定該口的編號,模擬搶答成功情形,學(xué)生掌握獨立按鍵與單片機的接口連接。主持人控制電路由AT89C51芯片的IO口(選取P2.0 與P2.1口)進行實現(xiàn),通過與兩個按鍵進行連接,實現(xiàn)開始計時與搶答時間的設(shè)置。揚聲器發(fā)聲由AT89C51芯片的IO口(選取P3.7口)進行提供。顯示電路由數(shù)碼管進行顯示,數(shù)碼管由MAX7219芯片進行顯示驅(qū)動,兩個10引腳的LED數(shù)碼管進行選手編號的顯示與搶答時間顯示,選手編號與搶答時間顯示的數(shù)據(jù)由MAX7219芯片的DIN接口(串行數(shù)據(jù)輸入端口)進行串行數(shù)據(jù)的輸入,LOAD口進行數(shù)據(jù)的裝載,再通過DIG0~DIG7 口進行片選信號的輸出,對LED數(shù)碼管進行控制和顯示,教師講授數(shù)碼管的工作原理與應(yīng)用,MAX7219芯片的工作原理與應(yīng)用,學(xué)生掌握數(shù)碼管、MAX7219芯片與單片機接口的硬件連接。8位競賽搶答器系統(tǒng)硬件電路如圖2所示:
2.4 8位競賽搶答器系統(tǒng)軟件設(shè)計
實現(xiàn)了8位競賽搶答器的硬件電路設(shè)計,進行8 位競賽搶答器的軟件設(shè)計,通過這個任務(wù)要求分析,8 位競賽搶答器系統(tǒng)接通電源后,主持人可以按搶答時間設(shè)置按鍵進行搶答時間的設(shè)置,在設(shè)置好搶答時間后,按開始按鍵即可開始計時搶答,此時選手可以通過自己的按鍵進行搶答。在一個選手成功之后,系統(tǒng)會進行選手編號與搶答時間的鎖定,數(shù)碼管就會顯示當(dāng)前搶答選手的編號與搶答時間。8位競賽搶答器的軟件程序流程圖如圖3所示。
整個8位競賽搶答器程序涉及時間設(shè)置函數(shù)、定時時間函數(shù)、鍵盤掃描函數(shù)、顯示函數(shù)的編寫;其中時間設(shè)置函數(shù)過程:8位競賽搶答器系統(tǒng)接通電源后,系統(tǒng)裝入時間初值和搶答結(jié)果初值,系統(tǒng)上電時,時間初值為30s,搶答結(jié)果初值為0;如果有時間設(shè)置鍵按下,改變搶答時間,每按一次時間設(shè)置鍵,搶答時間加1,如果搶答時間超過60s,搶答時間重置0。
定時時間函數(shù)根據(jù)定時時間,選取定時器和工作方式,確定定時初值:8位競賽搶答器系統(tǒng)由主持人按開始按鍵即可進入開始計時搶答環(huán)節(jié),定時器進行減計時,由定時器中斷服務(wù)函數(shù)實現(xiàn)相應(yīng)的定時功能,每定時0.5s通過揚聲器發(fā)出短暫聲響,揚聲器聲響持續(xù)時間為0.5s左右,每定時1s,計時時間減1。需要教師講解定時器的工作原理,定時器初始化的程序編寫。
鍵盤掃描函數(shù),初始化搶答選手端口的狀態(tài),如果搶答選手搶答鍵按下,進入相應(yīng)的按鍵處理程序,獲取鍵值,即選手號;需要講師講解獨立式鍵盤工作原理及獨立式鍵盤掃描程序編寫。
顯示函數(shù)有時間顯示和搶答結(jié)果顯示,均由數(shù)碼管進行顯示,顯示函數(shù)主要由MAX7219寫命令函數(shù)進行控制。需要教師講解MAX7219 的工作原理及MAX7219寫命令函數(shù)編寫。
2.5 8位競賽搶答器系統(tǒng)仿真分析
系統(tǒng)仿真時首先要在使用Keil C51編譯器時,對把所寫的程序進行編譯,同時在仿真器里設(shè)置生成.hex文件,編譯無錯誤時使用Proteus軟件在8位競賽搶答器虛擬硬件電路中進行仿真。主持人按下開始按鍵后,搶答開始,開始30s倒計時,開始搶答仿真結(jié)果如圖4所示;當(dāng)?shù)褂嫊r到20s時,搶答器仿真結(jié)果如圖5所示:
點擊任意選手按鈕,如按按鈕S5,倒計時暫停,此時倒計時時間數(shù)碼管上顯示,數(shù)碼管顯示選手編號05,選手搶答仿真結(jié)果如圖6所示;若該選手答錯,繼續(xù)開始搶答,繼續(xù)倒計時,選手編號清零,仿真結(jié)果如圖7所示。
一輪答題結(jié)束后,定時時間和選手編號均清零,點擊清除/設(shè)置時間按鈕,可設(shè)置搶答時間,按開始按鈕重新?lián)尨鸫痤},如果選手答錯,按開始按鍵繼續(xù)搶答,選手編號清零,計時時間繼續(xù)倒計時。
3 結(jié)束語
本綜合實驗教學(xué)案例已成功應(yīng)用于單片機原理與應(yīng)用課程教學(xué),具有如下特點:
1)該綜合實驗案例幾乎涵蓋了單片機原理與應(yīng)用課程中定時器、中斷、鍵盤、數(shù)碼管、串行通信等核心知識點,具有較強綜合性,便于學(xué)生將理論課程中碎片化知識構(gòu)建成相對完善知識體系。
2)通過將Proteus虛擬仿真軟件+Keil編程融入單片機課程的教學(xué)中,一方面提高學(xué)生對軟件技能的掌握,一方面培養(yǎng)學(xué)生發(fā)現(xiàn)問題、解決問題的能力。
3)通過實驗結(jié)果的呈現(xiàn),激發(fā)了學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生團隊合作意識、自主創(chuàng)新能力和解決復(fù)雜問題能力。
多年的教學(xué)經(jīng)驗表明,基于虛擬仿真的綜合性實驗案例設(shè)計提高了學(xué)生設(shè)計單片機硬件電路系統(tǒng)的能力,培養(yǎng)了學(xué)生的實踐創(chuàng)新和工程應(yīng)用能力,取得了良好的教學(xué)效果,有利于教學(xué)水平的提高。