劉云朋, 霍曉麗
(焦作大學 信息工程學院, 河南 焦作 454003)
互為實時映像的單片機實驗系統研究與設計
劉云朋, 霍曉麗
(焦作大學 信息工程學院, 河南 焦作 454003)
利用計算機多媒體技術、虛擬儀器技術和USB接口技術對傳統單片機實驗系統進行了改進設計,使之成為互為實時映像的實驗系統。該系統的硬件由計算機、主實驗板、高速通信板、虛擬儀器板、實驗擴展板和程序下載系統6部分構成,主實驗板采用Intel 51系列單片機內核。利用該系統,學生不但可以實時看到單片機內部結構及其動態變化,而且可以自行設計實驗,推動了單片機實驗課程的改進。
多媒體映像; 單片機實驗系統; 虛擬儀器; 實驗芯片; USB接口
單片機技術已廣泛應用于各個領域,單片機課程在高校理工類課程教學中占有很重要的地位。該課程不僅有自身的理論體系,而且是一門實踐性很強的課程[1-2]。目前,學生在實踐課上主要是利用單片機實驗箱進行實踐操作訓練,按照實驗指導書給出的接線圖、實驗方法和實驗步驟操作,只要接線正確并傳入數據就能得到預期的實驗結果,但無法觀察到每個實驗的具體過程和單片機內部的變化。學生無法通過實驗箱將理論與實際聯系起來,甚至有的學生不知道單片機在實驗中起到什么作用。
為此,課題組利用多媒體技術、USB技術和虛擬儀器技術,自行設計了一套單片機實驗系統。該系統不但能夠用于實驗教學,而且可以由學生自行設計實驗,有效提高了學生的學習積極性。該系統價格低廉、易于推廣,對于單片機課程教學具有很好的推動作用。
互為實時映像的單片機實驗系統包括軟件系統和硬件系統兩部分。硬件部分主要由計算機、主實驗板(51系列單片機)、通信板、實驗擴展板、供電電源(USB口提供)等部分組成(見圖1);軟件系統使用VB.NET開發環境,主要使用Windows窗體的GDI+類[3]。
該系統主要實現以下實驗功能:
(1) 利用計算機多媒體技術,實時顯示單片機內部運行情況,增加學生的感性認識;

圖1 實驗系統的硬件結構圖
(2) 計算機多媒體端與單片機內部結構是互動的,可以讀出或修改單片機內部變量;
(3) 修改單片機內部變量后,能夠立即在單片機I/O口上顯示出來;
(4) 實驗單片機的引腳與教材所采用的51系列單片機引腳相同,32個I/O引腳齊全,可進行教材上的全部實驗;
(5) 計算機多媒體輔助講解實驗內容,指導學生實驗;
(6) 配套有虛擬儀器板、虛擬信號輸出、虛擬邏輯筆、虛擬電壓表、虛擬方波信號源。
2.1 主實驗板硬件設計
主實驗板是實驗系統的核心部分,板上有邏輯指示燈,可以完成端口實驗、定時器實驗等基本認知實驗。主實驗板需要滿足:(1)采用Intel 51系列單片機內核,能完成單片機教材中的實驗;(2)有多余的端口實現與計算機的通信,能將單片機內部運行情況映像到計算機上;(3)封裝與DIP40單片機一致(因為大部分單片機教材是以DIP40封裝的單片機芯片為例進行實驗教學,滿足直觀實驗教學的需要);(4)I/O引腳、電源引腳需要有接線端子引出。
實驗單片機選用STC12C5A60S2,其具有高速、低功耗、超強抗干擾的優越性能,且使用方便(對開發環境的要求低)、價格低廉(5.5元左右)[4]。主實驗板的電路原理圖、電路圖和實物圖見如圖2。
主實驗板設計的優點是:(1)設計成放大的51系列單片機外形,與教材中的外形、引腳排列、引腳功能完全相同;(2)I/O通過引腳電路板引出,方便學生接線;(3)每個引腳都有邏輯指示燈,方便學生觀察單片機運行情況;(4)與計算機通信的串口為STC單片機的P4口,不影響DIP封裝的I/O引腳編程(DIP封裝的單片機沒有P4口);(5)STC單片機是普通單片機速度的12倍,與計算機通信編制的程序執行速度不受影響。

圖2 主實驗板圖
2.2 高速通信板設計
由于單片機與外部通信口有并口和串口,而現在的計算機或筆記本電腦已經很少有RS-232口,取代的是USB口。因此需要設計通信板,實現USB口與計算機通信,實時獲取或控制單片機內部運行的特殊功能寄存器信息。通信板的功能如圖3所示。

圖3 通信板的功能
通信卡采用CH341T型USB轉串口芯片,其電路如圖4所示。該芯片外圍電路簡單、兼容性好[5]。需要注意的是:CH341T的RXD和TXD腳要對應接單片機實驗系統的TXD、RXD腳,芯片才能正常向單片機傳輸數據。
單片機實際使用三線制TTL電平與單片機串口通信(RXD、TXD、GND腳),支持50 bit/s~2 Mbit/s波特率。
2.3 虛擬儀器板設計
虛擬儀器板的主要功能有:(1)檢測芯片的邏輯信號(8路)并送計算機顯示;(2)檢測節點電壓參數(2路)并送計算機顯示為虛擬電壓表[6]。虛擬儀器板不是必須使用的,可根據實驗的需要安排使用。
虛擬儀器板硬件及電路接線設計如圖5和圖6所示。

圖4 CH341通信卡的電路圖

圖5 虛擬儀表硬件框圖

圖6 單片機的接線
系統中,計算機是上位機,由它發出控制命令,單片機接收命令并根據命令執行操作。
2.4 實驗子板設計
本單片機實驗系統對實驗內容進行積木式設計,即每個實驗由基本系統板和實驗子模塊組成。
實驗擴展板根據需要使用,完成特定的實驗題目(如數碼管實驗、液晶實驗),學生也可以根據實驗指導書給出的電路圖自己設計和焊接擴展板。
在實驗過程中,將主實驗板模塊通過USB連線連接到計算機,選擇實驗并根據實驗原理、實驗步驟的提示,用杜邦線將實驗子板與主實驗板連接起來。該系統根據實際課程需要,已設計了端口P0—P3寄存器認知、跑馬燈、蜂鳴器、數碼管、按鍵輸入、定時器、計數器、串口中斷、液晶顯示、I2C等實驗子板,具體設計過程不再贅述。
STC單片機使用其串口進行ISP下載[7]。STC12C5A60S2單片機具有在系統可編程特性,可以在用戶的目標系統上將程序直接下載到單片機看運行結果,故無需仿真器。具體下載過程如下:
(1) 購買USB轉串口下載線,要求是USB轉TTL電平的[8];
(2) 進行編程器與單片機的硬件連接,下載線的RXD、TXD、GND引腳分別與單片機的TXD/P3.1、RXD/P3.0、GND引腳相連;
(3) 安裝驅動:以CP2012為例,先下載驅動“CP210x_VCP_Win2K_XP_S2K3.exe”,執行安裝后將STC USB下載線連接至電腦,在“設備管理器”中查看生成的串口號;
(4) 獲得官方下載程序。
計算機端要實現4個主要功能:(1)顯示檢測到的單片機運行狀態,包括單片機端口、中斷設置、定時器、串口等器件寄存器;(2)向單片機發出控制信號,以便查看單片機寄存器對程序運行的影響;(3)讀取虛擬儀器卡的數據,以便獲得測量點的邏輯值或電壓值;(4)利用多媒體功能指導實驗。
計算機端的程序設計主要選用VB.NET開發環境。計算機端的操作主界面包括選單、虛擬儀表區、主實驗區、擴展板選擇區、擴展板操作區、單片機寄存器操作區。
4.1 計算機修改單片機運行寄存器功能的設計
修改單片機運行寄存器的過程是:
(1) 點擊修改寄存器按鈕;
(2) 計算機記錄按鈕對象;
(3) 計算機彈出新寄存器值輸入框;
(4) 點擊確定后,計算機發出3字節數據:修改命令、寄存器值的低4位;
(5) 單片機接收數據,判斷正確后修改寄存器。
修改單片機運行寄存器的通信協議如表1所示。計算機發送寫寄存器命令(1字節)、寄存器數據(2字節),數據格式分別是0x1?和0x2?,“?”號表示高字節或低字節,單片機收到后修改寄存器值。

表1 計算機與單片機間的通信協議
計算機端編程寫入的是16進制碼,點擊“寫”按鈕后出現對話框,確定按鈕并點擊后對話框關閉。
4.2 計算機讀取單片機運行寄存器功能的設計
修改單片機運行寄存器的過程是:
(1) 計算機啟動100 ms的定時器周期;
(2) 定時到,發出一個寄存器的查詢命令;
(3) 計算機串口接收2字節的寄存器值;
(4) 計算機接收數據,判斷正確后,修改顯示界面(二進制和16進制);
(5) 進入下一個寄存器查詢周期。
讀取單片機運行寄存器的通信協議見表1。
計算機端編程時,使用100 ms的定時器;輪換查詢寄存器的值,在不影響單片機正常運行程序的基礎上,計算機能夠獲取寄存器的值;約2 s刷新一次計算機屏幕顯示,不會影響實驗效果;設定通信協議時,將返回的數據分2個字節傳送,以保證通信命令與寄存器數據互不干擾[9]。
4.3 虛擬邏輯筆、電壓表的設計
虛擬邏輯筆、電壓表工作流程如圖7所示。

圖7 虛擬邏輯筆、電壓表工作流程圖
虛擬邏輯筆的通信協議:計算機發送0x51命令,單片機將分2次返回8位邏輯測量值,返回數據格式分別是0x5?、0x7?(?號表示4位測量值)。
計算機端顯示與操作:虛擬邏輯筆啟動位置如圖8所示,分為10個圖標,每個邏輯筆圖標有L1—L8標號。使用鼠標可以將其拖動到任何位置,方便學生使用[10]。

圖8 虛擬邏輯筆
4.4 多媒體指導學生實驗的設計
實驗選單有4個子功能,分別是“實驗指導”“系統幫助”“進制轉換”和“退出系統”。
本系統設計有13個典型的實驗項目,提供一個開放的實驗平臺,可以進行其他一些相關的實驗。每個實驗包括實驗目的、實驗原理、設備與芯片、預習思考題、實驗步驟、實驗思考題、實驗報告等內容,可通過網頁瀏覽[11]。
該系統在實驗應用過程中實現了人-機實時互動。學生可以對實驗全過程進行實時操控,全面認識和了解單片機的工作過程,提高了學生的學習積極性。該系統具有較強的可操作性,并且開發簡單、成本低廉、擴充性好[12],在實際的教學中具有很好的實用性和推廣面。
References)
[1] 徐華結,陳林.基于虛擬儀器和仿真技術的實驗室建設探討[J].池州學院學報,2009(3):115-118.
[2] 鐘鳴.“三位一體”教學模式的探索:以單片機課程教學改革為例[J].蘇州市職業大學學報,2013(4):84-86.
[3] 陳本峰,蘇琦.Windows GDI+的研究與應用[J].計算機應用研究,2003(3):56-59.
[4] 簡訊,黃金平.基于STC12C5A60S2的電子鐘硬件設計[J].長江大學學報(自科版),2016(16):51-56.
[5] 李智敏.USB虛擬串口通信實現[J].電子科技,2014(3):120-122.
[6] 王超,李可,杜奔新.虛擬儀器技術在實驗室的應用研究[J].實驗技術與管理,2013,30(12):105-107.
[7] 付文悅,黃民.STC系列單片機不斷電下載程序應用技術[J].電子科技,2013(2):76-78.
[8] 宋國林,周偉,薛迪杰.基于USB的虛擬示波器設計[J].數字技術與應用,2016(8):167-168.
[9] 瞿兵,陽泳,胡湘娟.基于單片機的數字電壓表論述與仿真[J].電子世界,2015(20):29,32.
[10] 莫勇濤,楊景常.基于LABVIEW的多功能虛擬直流電壓表設計[J].計算機測量與控制,2011(6):1507-1509.
[11] 劉云朋,李鴻征.基于虛擬儀器技術的USB數字電路實驗系統設計[J].實驗技術與管理,2015,32(1):129-133.
[12] 連劍.基于VRML的虛擬綜合布線系統[J].山東科學,2010(1):61-63.
Research and design of SCM experimental system for mutual real-time image
Liu Yunpeng, Huo Xiaoli
(School of Information Engineering, Jiaozuo University, Jiaozuo 454003, China)
The traditional SCM experimental system is improved by using computer multimedia technology, virtual instrument technology and USB interface technology so as to develop itself into the experimental system for the mutual real-time image. The hardware of this system consists of the following six parts: a computer, a main experimental board, a high-speed communication board, a virtual instrument board, an experimental expansion board and a program downloading system. The main experimental board uses the Intel 51 series SCM kernel. By using this system, students can not only see the real-time internal structure and the dynamic changes of SCM, but also design experiments by themselves, which promotes the improvement of the SCM experimental course.
multimedia image; SCM experimental system; virtual instrument; experimental chip; USB interface
10.16791/j.cnki.sjg.2017.08.033
2017-02-28
河南省科技攻關計劃資助項目(172102210390);河南省科技攻關計劃資助項目(152102210020);河南省信息技術教育研究資助項目(ITE12143);河南省教育科學“十三五”規劃課題(2016-JKGHB-0365)
劉云朋(1983—),男,河南上蔡,碩士,副教授,主要研究方向為計算機應用、網絡信息及安全.E-mail:yunpeng2004@126.com
TP368
A
1002-4956(2017)08-0132-05