王冬星,王 健,馬英瑞,李 梓,李 娟
(大慶師范大學 計算機科學與信息技術學院,黑龍江 大慶 163712)
?
基于Proteus串行通信系統(tǒng)的教學研究與設計
王冬星,王健,馬英瑞,李梓,李娟
(大慶師范大學 計算機科學與信息技術學院,黑龍江 大慶 163712)
摘要:單片機原理中串行通信理論知識的講解相對較難,為將其理論知識融于“做中學”,讓學生在學習過程中有直觀認識,研究與設計了一個基于Proteus的串行通信教學系統(tǒng),使學生在制作串行通信系統(tǒng)實物之前通過對仿真系統(tǒng)的調試,加深對單片機系統(tǒng)設計的理解,減少實驗器材的消耗并避免一些危險的產生?;诜抡姝h(huán)境教授單片機串行通信知識,使學生能達到所見即所學,激發(fā)了學生的學習興趣,提高了教學效果,為相關教學提供了借鑒。
關鍵詞:Proteus;串行通信;單片機
0引言
2016年,物聯網將攻克一批關鍵核心技術,被進一步擴大應用,在未來十年內會迎來其發(fā)展的高峰期,物聯網技術人才也會炙手可熱[1]。而眾多高校的物聯網專業(yè)均會開設《單片機原理與應用》之類的嵌入式課程,在此課程中對學生的電路設計、程序設計、系統(tǒng)綜合設計與調試等能力進行訓練,使其能對理論與實踐進行良好融合,快速地適應企業(yè)崗位并對嵌入式系統(tǒng)設計有深刻認識。
傳統(tǒng)的單片機教學是理論與實驗相分離,實驗時學生按照實驗說明書在實驗箱上連接固定電路,下載相關程序、調試、運行、觀看實驗現象,由于已知元器件固定,學生對電路設計較少、自行創(chuàng)新設計內容也較少,很難提高學生的自主學習能力[2];同時,學生在枯燥情況下會由于好奇心對實驗箱進行破壞性操作,造成實驗耗材的不必要損失,這種現象在講授單片機串行通信知識時會更加明顯一些。
Proteus由英國Labcenter electronic公司生產的一款電路分析與實物仿真軟件,是目前最好的模擬單片機等元器件運行的仿真工具之一,對常見元器件,在硬件設計完成前通過Proteus進行硬件仿真,可以大量節(jié)約開發(fā)周期[3]。Keil是編寫單片機程序的軟件開發(fā)環(huán)境,Proteus與Keil聯合使用,可以對單片機系統(tǒng)的設計進行軟硬件聯合調試,既方便設計開發(fā)過程,又節(jié)省了時間和費用;同時,基于Proteus仿真系統(tǒng)制作過程的教學演示,又引領學生進行了一步步深入的學習和思考,并讓學生自主設計完善系統(tǒng),達到了良好的教學效果[4]。因此,本文以Proteus為硬件仿真工具、Keil為軟件開發(fā)環(huán)境,設計了一個基于Proteus的串行通信系統(tǒng),為著重講解單片機的通信理論、在仿真教學系統(tǒng)中忽略某些擴展電子元器件的使用,以達到更好的教學效果。
1系統(tǒng)設計
1.1通信系統(tǒng)總體設計
文章設計的通信教學演示系統(tǒng)的總體思想為:突出串行通信的使用,使上位機對信息進行控制和處理,然后將處理結果通過串行通信發(fā)送給下位機,其設計框圖如圖1所示。系統(tǒng)中,上位機通過矩陣鍵盤獲得鍵值,將鍵值進行輸出,當按下“串行通信開關后”,上位機將矩陣鍵盤獲得的鍵值傳送到下位機上,并在下位機上輸出顯示;按下“下位機顯示關閉”鍵,下位機輸出模塊不再顯示數值。
圖1 系統(tǒng)結構圖
串行通信是上位機與下位機聯系的通道,上位機通過此通道將數據發(fā)送給下位機。每個單片機都有輸出模塊,為突出通信功能并簡化輸出模塊,輸出模塊在此系統(tǒng)中用LED數碼管顯示,主要用于顯示收到的數據和發(fā)送的數據。
1.2Proteus仿真系統(tǒng)設計
為方便講解單片機通信原理,用Proteus的ISIS環(huán)境繪制單片機串行通信原理圖,并加載程序調試運行,給學生以直觀認識,易于梳理學生的學習難點,經實踐證明教學效果良好,其教學流程如圖2所示。
圖2 基于Proteus的教學流程圖
本系統(tǒng)的主要目的是讓學生掌握單片機通信原理與控制流程,因此在仿真系統(tǒng)初始設計時,為減少外圍電子器件對主要理論學習的影響而將外圍電子器件省略,在后期學習時再逐漸被講解和使用。根據2.1節(jié)介紹的系統(tǒng)結構,在Proteus的ISIS環(huán)境中繪制的仿真原理圖,如圖3所示,系統(tǒng)明顯地具有輸入、輸出、串行通信和按鍵控制4個功能模塊。
圖3 仿真效果圖
其中,上位機具有以下4個功能:
1.接收矩陣鍵盤的輸入,對其輸入的鍵值進行辨別。
2.將矩陣鍵盤輸入的鍵值進行輸出,在數碼管上顯示。
3.按鍵“串行通信開關”被按下,通過串行通信,將數碼管上顯示的數據傳送給下位機。
4.按鍵“下位機顯示關閉”被按下,通過串行通信控制,控制關閉下位機數碼管、不顯示數據。
下位機具有以下2個功能:
1.通過串行通信,接收上位機發(fā)送到數據。
2.將串行通信接收的數據輸出,在數碼管上顯示;如果是按鍵“下位機顯示關閉”被按下,關閉其輸出模塊,即控制其數碼管不顯示數據。
1.3程序設計
在程序講解中重點要講解單片機串行通信的結構、寄存器SCON的設置和單片機串行中斷的使用方式。這3個部分也是單片機串行通信的理論講解重點,在學生學習過程中也屬于偏難的知識點,因此先通過演示系統(tǒng)例程,讓學生有直觀認識、然后讓學生自行設計或更改例程來創(chuàng)作更好的系統(tǒng)。程序流程圖如圖4,注意上位機和下位機分別使用不同的程序,將程序生成的HEX文件分別下載到相應的單片機中進行運行。
圖4 程序設計流程圖
上位機發(fā)送數據的關鍵代碼
void Send(unsigned char data_send) {
SBUF=data_send;//發(fā)送緩沖區(qū)接收發(fā)送字符
while(TI==0) ; //緩沖區(qū)沒發(fā)完就等待
TI=0; //為了接收下一幀數據,需將TI清0
}
下位機接收數據的關鍵代碼
unsigned char Receive(void){
unsigned char data_rev;
while(RI==0) ;//只要接收中斷標志位RI沒有被置"1"
//等待,直至接收完畢(RI=1)
RI=0; //為了接收下一幀數據,需將RI清0
data_rev=SBUF;//將接收緩沖器中的數據存于data_rev
return data_rev;
}
1.4擴展設計
學生在掌握通信系統(tǒng)原理與編寫程序技巧后,應能對上述通信系統(tǒng)進行擴展設計,例如:
1.將上述系統(tǒng)改成雙機串行通信,2個單片機都能接收和發(fā)送。
2.修改輸出模塊和輸入模塊,形成更豐富串行通信演示系統(tǒng)。
3.自學外圍電子元器件,制作實物串行通信系統(tǒng)。
基于原有系統(tǒng)的擴展訓練,提高了學生的動手能力,無疑是對他們創(chuàng)新創(chuàng)業(yè)的一個很好訓練。
2結語
基于Proteus串行通信系統(tǒng)的教學演示和設計,縮短了平時通信原理知識的授課學時,通過所見即所得的仿真效果,加深了學生學習的印象,提高了教學效率。利用仿真環(huán)境進行教學,省去了實驗器材的消耗,避免了一些危險情況的產生,值得相關教學借鑒。
[參考文獻]
[1] 王乃國,朱香衛(wèi).物聯網應用技術專業(yè)人才需求及高職生的崗位分析[J].中國職業(yè)技術教育,2014(31):76-79.
[2] 高慶華,王潔.基于Proteus的單片機綜合設計實驗教學[J].實驗室科學,2015,18(5):119-121.
[3] 王冬星 許有軍.單片機技術及C51仿真與應用[M].北京:北京理工大學出版社,2015.
[4] 吳小紅.基于Proteus軟件的單片機實驗室構建的研究[J].通訊世界,2016(1):262-263.
作者簡介:王冬星(1977-),女,黑龍江大慶人,副教授,從事計算機應用和軟硬件協(xié)調設計研究。
基金項目:黑龍江省高等教育教學改革項目“地方本科院校轉型過程中計算機應用技術型人才培養(yǎng)模式的研究與實踐”;大慶師范學院教育教學改革項目(JY1521)。
中圖分類號:G642.0
文獻標識碼:A
文章編號:2095-0063(2016)03-0033-03
收稿日期:2016-02-05
DOI 10.13356/j.cnki.jdnu.2095-0063.2016.03.009