許京雷 常靜
DOI:10.3969/j.issn.1671-489X.2023.14.139
摘? 要? 通過對微處理器課程教學(xué)目標(biāo)的分析,確定該課程實驗內(nèi)容設(shè)置的原則,以此為依據(jù)對實驗內(nèi)容進(jìn)行合理設(shè)置,對51和STM 32實驗分別舉例分析具體實驗內(nèi)容,說明具體步驟和實驗要求,通過具體實踐,實現(xiàn)課程對操作技術(shù)的要求。
關(guān)鍵詞? 微處理器;實驗;51開發(fā)板;STM 32
中圖分類號:G642.423? ? 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2023)14-0139-03
Setting of Experiment Content of Microproce-ssor Course//XU Jinglei, CHANG Jing
0? 引言
微處理器課程是本科測控技術(shù)與儀器專業(yè)的一門學(xué)科必修課,是一門實用性較強(qiáng)的課程。本課程通過對微處理器中的典型產(chǎn)品51和STM 32的總體性能,中斷、并行、串行等技術(shù)的分析,說明產(chǎn)品如何實現(xiàn)良好的可編程性,如何將微處理器技術(shù)融入產(chǎn)品研發(fā)流程[1]。通過本課程的學(xué)習(xí),學(xué)生能夠針對微處理器復(fù)雜工程問題進(jìn)行理論分析和實際測算,找出關(guān)鍵因素,解決相關(guān)問題[2]。了解微處理器的應(yīng)用現(xiàn)狀及發(fā)展趨勢,培養(yǎng)學(xué)生在已有的微處理器理論和實踐基礎(chǔ)上,能創(chuàng)新地應(yīng)用于各個領(lǐng)域。通過課程學(xué)習(xí),在學(xué)生具備扎實的微處理器設(shè)計基本理論和設(shè)計分析的基礎(chǔ)上,培養(yǎng)學(xué)生具有對于測控過程、裝置或系統(tǒng)工程問題,設(shè)計合理的微處理器方案的能力[3]。微處理器實驗內(nèi)容設(shè)置為24學(xué)時,占總學(xué)時60學(xué)時的40%,實驗內(nèi)容的設(shè)置直接關(guān)系到課程目標(biāo)的實現(xiàn),意義十分重要,筆者對實驗內(nèi)容設(shè)置原則,具體設(shè)置內(nèi)容進(jìn)行分析。
1? 實驗內(nèi)容設(shè)置原則
本課程內(nèi)容包括兩種微處理器,一種是初級微處理器51,其代表型號是AT89S51,初級微處理器的特征是主頻10 MHz左右,盡管性能有限,但推出時間早,應(yīng)用廣泛,時至今日,仍然有大量兼容產(chǎn)品使用,包括大量包含51內(nèi)核的產(chǎn)品,因此,通過實驗加強(qiáng)51的掌握仍然十分必要。另一種是中級微處理器STM 32,其代表型號是STM 32F103VET6,
中級微處理器的特征是主頻100 MHz左右,性能得到了很大提升,顯示能力也有大幅提高,常規(guī)帶有觸摸彩色液晶顯示屏。更為重要的是,隨著主頻和內(nèi)存的全面提升,在應(yīng)用層面上,發(fā)生了全新的質(zhì)的變化,可以運行操作系統(tǒng)。這是初級微處理器不具備的特征,具體是中級微處理器可運行嵌入式操作系統(tǒng)或者微處理器操作系統(tǒng)。
針對以上分析,實驗內(nèi)容的設(shè)置應(yīng)該遵守三條原則。
一是均衡性原則,即對于51和STM 32應(yīng)設(shè)置同樣的實驗時間;既可熟練51的使用,又可掌握STM 32的使用,51結(jié)構(gòu)簡單,容易應(yīng)用,應(yīng)該達(dá)到熟練的程度;STM32結(jié)構(gòu)比較復(fù)雜,不要求全面深入掌握,只要求掌握常規(guī)的操作。
二是C語言原則,本課程實踐特色比較突出,應(yīng)拋棄側(cè)重原理分析的匯編語言,無論51還是STM 32,均全面采用C語言,符合工程開發(fā)實際情況,著重思維算法,提高開發(fā)效率。
三是操作系統(tǒng)原則,針對STM 32的全新特征:安裝和運行操作系統(tǒng),了解和練習(xí)多任務(wù)運行的機(jī)制,是在實驗設(shè)置時必須考慮的內(nèi)容。
2? 微處理器51實驗內(nèi)容設(shè)置
本部分可設(shè)置12學(xué)時實驗,具體為51并口,51點陣,51矩陣鍵盤,51外部中斷,51定時器,51串口,對51的基本功能做全面練習(xí)。實驗之前要講解注意事項:不要觸摸實驗板的金屬部分,如銅箔、管腳和導(dǎo)線接頭。實驗板盒輕拿輕放,正面朝上,放在桌子內(nèi)側(cè),摔壞要賠償。實驗前檢查液晶屏,實驗后破裂要賠償。實驗盒的STM 32開發(fā)板的仿真器必須放在液晶旁邊以保護(hù)液晶,壓裂要賠償。數(shù)據(jù)線不要從開發(fā)板拔掉。實驗結(jié)束后關(guān)閉電腦,清理垃圾,實驗盒集中存放在后面箱子,課代表關(guān)好電燈門窗。以51并口實驗為例,51并口實驗?zāi)康氖菍W(xué)習(xí)并口P2口的使用方法,學(xué)習(xí)延時子程序的編寫和使用,為驗證實驗。
2.1? 學(xué)習(xí)實驗器材和開發(fā)環(huán)境的使用
51開發(fā)板所用的微處理器是STC89C52,是AT89S51的升級版,軟件上完全兼容后者,主要區(qū)別是程序存儲器增加4 KB。安裝51開發(fā)板軟件:打
開51開發(fā)板軟件\KeilC51\C51V901.exe安裝,注意檢查安裝目錄為C:\Keil,電腦賬戶為字母,進(jìn)入控制面板修改,并注冊,Win10系統(tǒng)要在Keil4圖標(biāo)上右擊以管理員身份運行。
2.2? 建立C51工程框架
先在磁盤建立工程文件夾,例如,D:\test1,再打開Keil uVision4,點擊菜單project→new μvision project,選中D:\test1文件夾,把工程
的名字命為test1,點擊保存,在select device對
話框選擇Atmel的AT89C51,點擊ok,在隨后的復(fù)
制啟動代碼對話框選擇否。點擊菜單file→new,
再點擊工具欄按鈕save,將文件命名為main.c。
在左側(cè)project框雙擊Source Group 1,點擊main.c,點擊Add,再點擊Close。點擊工具欄按
鈕target options,在target標(biāo)簽的xtal填入
12,在output標(biāo)簽勾選create HEX file,點擊ok。下次打開工程點擊菜單project→open或右擊uvproj選UV4。
C51程序結(jié)構(gòu):
1)包含頭文件,打開main.c,輸入#include
2)宏,類型和全局變量定義(可以沒有);
3)子函數(shù)(局部變量定義寫在開頭位置,可以沒有);
4)主函數(shù)void main(){}(必須有)。
編寫程序并保存,點擊工具欄按鈕rebuild或build,顯示0 Error(s), 0 Warning(s)即表示通過編譯連接。
2.3? 學(xué)習(xí)51開發(fā)板使用串口下載程序,安裝開發(fā)板串口驅(qū)動
打開51開發(fā)板軟件\應(yīng)用驅(qū)動\開發(fā)板USB轉(zhuǎn)串口CH340驅(qū)動\CH341SER.EXE安裝。數(shù)據(jù)線連接開發(fā)板和計算機(jī),打開下載軟件:51開發(fā)板軟件\燒寫軟件\PZ-ISP下載軟件.exe,點擊打開文件,選擇D:\test1\test1.hex,芯片類型選擇STC89Cxx(New),點擊程序下載,下載后自動運行。
2.4? 介紹51開發(fā)板LED的原理
如果要點亮一個LED就把單片機(jī)相對應(yīng)的IO賦
為低電平,板子最左為D8。如點亮D8,程序先添加
全局變量定義sbit? P27= P2^7;然后在main()輸
入P27=0。提出實驗要求:P2口實現(xiàn)從左到右流水燈,左右來回流水燈,奇偶交替閃爍,每過程重復(fù)5次,過程間隔5 s。實驗步驟如下。
1)建立C51工程框架。編寫C51程序,需編寫延時程序等。編譯程序并下載運行。
2)對程序作出注釋和說明。
3? 微處理器STM 32實驗內(nèi)容設(shè)置
本部分可設(shè)置12學(xué)時實驗,具體為STM 32的GPIO口,STM32按鍵中斷,STM 32液晶觸摸屏,STM32嵌入式操作系統(tǒng),液晶觸摸屏和嵌入式操作系統(tǒng)均為綜合性實驗,各自4學(xué)時。以STM 32的GPIO口實驗為例,該實驗?zāi)康氖橇私釭PIO的概念,掌握GPIO口的數(shù)據(jù)操作,為驗證實驗。
3.1? 學(xué)習(xí)STM 32開發(fā)板的主要特性以及Keil5的環(huán)境搭建
STM 32開發(fā)板所用的微處理器是STM32F103ZET6,
是STM 32F103VET6的升級版,軟件上完全兼容后者,主要區(qū)別是GPIO管腳增加32個。安裝STM32開發(fā)板軟件:打開STM 32開發(fā)板軟件\KeilMDK\mdk514.exe安裝,注意檢查安裝目錄為C:\Keil_v5,賬戶為字母,然后安裝芯片包:雙擊Keil.STM32F1xx_DFP.1.0.5.pack。最后注冊,Win10系統(tǒng)要在Keil5圖標(biāo)上右擊以管理員身份運行。
3.2? 建立STM 32工程框架
先在磁盤建立工程文件夾,例如D:\test7,然
后把STM 32固件庫文件夾Libraries復(fù)制進(jìn)去,再
打開Keil uVision5,點擊菜單project→new
μvision project,選中D:\test7文件夾,把工程
的名字命為test7,點擊保存,在select device對
話框選擇STMicroelectronics的STM32F103ZE,點
擊ok,在隨后的manage run對話框點關(guān)閉。點擊
菜單file→new,再點擊工具欄按鈕save,將文
件命名為main.c。點擊工具欄按鈕file extensi-
ons,在groups框新建分組CMSIS,StdPeriph_Driver,點ok。雙擊分組Source Group 1添加
main.c,點ok關(guān)閉。雙擊分組CMSIS添加core_
cm3.c,system_stm32f10x.c ,startup_stm32f10x_
hd.s(均在文件夾Libraries\CMSIS,文件類型選
擇all files),分組StdPeriph_Driver添加stm
32f10x_gpio.c和stm32f10x_rcc.c(均在文件夾Libraries\StdPeriph_Driver\src)。點擊工具欄按鈕options for target,在target標(biāo)簽的xtal填入8并選中Use MicroLib,在C標(biāo)簽的define框填入USE_STDPERIPH_DRIVER,STM32F10X_HD,在
include框點右側(cè)按鈕添加.\Libraries\CMSIS和.
\Libraries\ StdPeriph_Driver\inc,點ok關(guān)閉。
打開已有工程點擊菜單project→open或雙擊uv-
projx。
STM32程序結(jié)構(gòu):
1)包含頭文件,打開main.c,輸入#include “stm32f10x.h”;
2) 宏,類型和全局變量定義(可以沒有);
3)子函數(shù)(局部變量定義寫在開頭位置,可以沒有);
4)主函數(shù)int main(){}(必須有)。
點擊工具欄按鈕rebuild或者build,顯示0 Error(s), 0 Warning(s)即表示通過編譯連接。若編譯出現(xiàn)找不到*.o文件,把計算機(jī)賬戶改為字母,右擊我的電腦—屬性—高級,找到環(huán)境變量,把TEMP和TMP的值改為D:\user\temp,文件夾需先創(chuàng)建。
3.3? 練習(xí)下載程序
STM32開發(fā)板使用仿真器下載程序,仿真器免驅(qū)版自動識別不需要安裝驅(qū)動,仿真器連接開發(fā)板和計算機(jī),點擊工具欄按鈕options for target,在debug標(biāo)簽右側(cè)選擇use CMSIS-DAP-Debugger,選中run to main,點settings,在cortex對話框的debug標(biāo)簽的reset框,選擇SYSRESETREQ,在
Flash Download標(biāo)簽選擇Reset and Run,點ok關(guān)
閉cortex對話框,點ok關(guān)閉options對話框。點工具欄按鈕download下載程序,下載后自動運行,若不運行,按復(fù)位鍵或從電腦usb口拔掉插頭重新插上。
3.4? 介紹STM32開發(fā)板的LED模塊的原理
從左到右D1—8連接到GPIO的PC0—7上,低電平亮。提出實驗要求:對連接在GPIO的LED模塊實現(xiàn)從左到右流水燈效果。實驗步驟如下。
1)建立STM 32工程框架。編寫STM 32程序,需編寫時鐘使能程序,端口配置程序等。編譯程序并下載運行。
2)對程序作出注釋和說明。注釋的漢字若有亂碼點菜單edit/configuration,選擇GB2312編碼。
4? 結(jié)束語
以微處理器課程實驗內(nèi)容設(shè)置為研究對象,在分析教學(xué)目標(biāo)基礎(chǔ)上,對現(xiàn)有的實驗內(nèi)容進(jìn)行調(diào)整,增加STM 32相關(guān)實驗,并且對STM 32的全新特征,設(shè)置嵌入式操作系統(tǒng)的實驗,以滿足工程實踐中對于中級微處理器的性能需求。通過合理設(shè)置相關(guān)實驗具體內(nèi)容,實現(xiàn)微處理器課程的教學(xué)目標(biāo)。
5? 參考文獻(xiàn)
[1] 郝尚富,馬艷麗,武曉琴.以學(xué)生為中心的“微處理器
與接口技術(shù)”課程思政建設(shè)[J].教師,2021(11):52-53.
[2] 李暾,賀旭,屈婉霞,等.微處理器敏捷設(shè)計方法綜述
[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2021,33(2):298-
309.
[3] 吳愛萍.新時代應(yīng)用型本科人才培養(yǎng)目標(biāo)下的微處理器
課程群構(gòu)建研究[J].中國現(xiàn)代教育裝備,2020(23):68-
70.
作者簡介:許京雷、常靜,副教授。