葉夢君 胡長暉 焦冰 李琳



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