王愛華
(上海師范大學(xué)信息與機(jī)電工程學(xué)院,上海 201418)
單片機(jī)課程是電子類專業(yè)的必修課程,實(shí)驗(yàn)教學(xué)中有內(nèi)容簡單和實(shí)驗(yàn)箱陳舊等問題。學(xué)生按部就班地上課和做實(shí)驗(yàn),學(xué)生學(xué)習(xí)積極性不高。
學(xué)生通過實(shí)驗(yàn)驗(yàn)證才能更好地掌握理論知識,通過實(shí)驗(yàn)教學(xué)改革,使得學(xué)生高效率學(xué)習(xí)單片機(jī),能夠有效激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的調(diào)試和設(shè)計能力,培養(yǎng)學(xué)生的實(shí)踐能力。
以前理論課時多,實(shí)驗(yàn)課時少,學(xué)生覺得這門課枯燥泛味。存在實(shí)驗(yàn)內(nèi)容簡單、教學(xué)儀器有限、實(shí)驗(yàn)方法單一、理論實(shí)踐脫節(jié)等問題,學(xué)生做實(shí)驗(yàn)的時候按實(shí)驗(yàn)指導(dǎo)書接幾根線,很快完成實(shí)驗(yàn),實(shí)驗(yàn)報告敷衍了事??己朔绞讲蝗?,實(shí)驗(yàn)考試占比例小,期末筆試占比例大。
實(shí)驗(yàn)用IAP15W4K58S4芯片,是宏晶科技提供的。采用C語言編寫程序,在以前開設(shè)的驗(yàn)證性實(shí)驗(yàn)的基礎(chǔ)上增加難度高的實(shí)驗(yàn),實(shí)驗(yàn)有:I/O口、外部中斷、定時器/計數(shù)器、串口通信、A/D轉(zhuǎn)換、步進(jìn)電機(jī)以及LCD(1602)顯示實(shí)驗(yàn)等。
選擇Proteus 和keil uvision5軟件組成虛擬實(shí)驗(yàn)系統(tǒng),學(xué)生在課外用這兩個軟件對自己編寫的程序進(jìn)行仿真調(diào)試,通過微信、QQ和教師互動。在實(shí)驗(yàn)課上改用開發(fā)板調(diào)試。實(shí)驗(yàn)內(nèi)容有基礎(chǔ)題和提高題。教師適當(dāng)?shù)剡\(yùn)用講授法、討論法、練習(xí)法等教學(xué)方法,啟發(fā)學(xué)生勤思考和勤動手。學(xué)生調(diào)試出程序的時候,自豪感油然而生。教師不僅要講解實(shí)驗(yàn)內(nèi)容和回答學(xué)生提問,而且每堂課都要仔細(xì)檢查學(xué)生實(shí)驗(yàn)結(jié)果并打分。學(xué)生還可以在課外時間進(jìn)入開放實(shí)驗(yàn)室,編寫和調(diào)試程序。教師每周有固定的課外坐班答疑時間,教師要鼓勵學(xué)生多參與各類電子競賽,以學(xué)促賽,以賽促學(xué)。
學(xué)生在課外用Proteus軟件畫原理圖,在keil uvision5中建立新的設(shè)計工程,添加新的.C文件到當(dāng)前工程,把經(jīng)過編譯后生成.hex文件加載到51單片機(jī)中,然后進(jìn)行系統(tǒng)仿真。因?yàn)镻roteus軟件無法仿真IAP15W4K58S4單片機(jī),所以進(jìn)入實(shí)驗(yàn)室后需要稍微改變程序,然后在開發(fā)板上調(diào)試出實(shí)驗(yàn)結(jié)果。
教師在每次實(shí)驗(yàn)中逐個查看學(xué)生實(shí)驗(yàn)現(xiàn)象并打分,很多學(xué)生為了得到高分,專心細(xì)致地調(diào)試程序。課程總評成績根據(jù)出勤、實(shí)驗(yàn)、作業(yè)、上機(jī)考及筆試等計算,實(shí)驗(yàn)考試占比例增大,期末筆試占比例減少。
用宏晶科技的開發(fā)板做實(shí)驗(yàn),使用STC官方軟件下載程序。以下是IAP15W4K58S4通道P1.1輸入的模擬量,A/D轉(zhuǎn)換后的結(jié)果(模擬電壓形式)顯示在數(shù)碼管上的實(shí)例,P0口輸出段碼,P2口輸出位碼。部分程序如下:
void main(void)
{u32 Vin=0; u16 ADval=0;
Pin_Mode();ADC_Initial();
while(1)
{ADval = ADC_Convert();
Vin = VCC * ADval/1023;
Da_Buf[0]= Vin % 10;
。。。。。。//省略
SEG7_Display();}}
u16 ADC_Convert(void)
{u16 ADC_Da = 0;
while((ADC_CONTR & 0x10)!= 0x10);ADC_CONTR = 0x81;
ADC_Da=(ADC_RES << 2)|(ADC_RESL & 0x03);
ADC_CONTR = 0x89;return ADC_Da;}
圖1 A/D轉(zhuǎn)換后的結(jié)果顯示在數(shù)碼管上
通過更新上課教材、實(shí)驗(yàn)教材以及實(shí)驗(yàn)開發(fā)板,更新實(shí)驗(yàn)內(nèi)容,增加實(shí)驗(yàn)課時,運(yùn)用新的教學(xué)方法,改革實(shí)驗(yàn)考核方式,培養(yǎng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的設(shè)計能力和創(chuàng)新能力,取得了較好的教學(xué)效果。