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