

摘要:本文深入探究高職高專《單片機應用技術》匯編語言及C語言環境下程序設計過程分析,提出了匯編語言為編程基礎、以C語言為編程提高的教學設計過程,通過使用兩種語言編程,使學生深入挖掘學習潛能,較快掌握單片機原理及使用技巧。
關鍵詞:教學設計;匯編語言;C語言
《單片機應用技術》課程是電氣自動化技術專業的職業能力課程,也是專業技術課程。由于《單片機應用技術》課程概念抽象,硬件難于理解,軟件不易設計,所以,學生在單片機學習過程中困難較多,尤其是在應用匯編指令進行程序設計時,更是覺得無從下手,也挫傷了學生的學習積極性。為提高學生的學習興趣,達到培養學生的知識運用和實際操作能力,通過多年對單片機教學的研究探索,在程序設計這一知識環節,探索采用項目化教學方式,以完整項目為主線,將程序設計各部分細化成分項目,采用匯編語言和C語言交替編程,從而有目的的實施教學,使學習過程充滿探索型和趣味性,整個過程由簡單到復雜,由軟件仿真到硬件實現,逐步提高學生學習興趣和學習能力,并以過程評價激發學生學習潛能、提升學生的專業能力、方法能力和社會能力。
一、整體教學設計
為達到培養學生的就業競爭力和發展潛力的教育教學目標,教學過程中,對程序設計這一部分的教學,摒棄了純粹理論教學的方式,對知識內容進行分析提煉,并設計重構知識,將其提煉成工作項目“八路搶答器設計”,再根據八路搶答器的編程設計過程所涉及到匯編語言程序的基本結構,提煉出6個任務,首先以匯編指令為主編寫程序,經過軟件仿真實現后,再用C語言編寫程序。學生已經學過C語言編程知識,在理解了匯編指令執行過程后,對C語言會有更深的理解。整個設計由簡單到復雜,由單個任務到綜合項目,整個學習過程,既鞏固了基礎知識,又鍛煉了實踐能力。
二、任務設計分析
6個任務設計如下:
1.八個發光二極管不同亮滅方式,分析出匯編語言程序的基本結構:順序程序設計,分支程序設計,散轉程序設計,循環程序設計,查表程序設計;
2.雙字節加法:分析順序程序設計的基本結構及執行過程,用匯編MOV、ADD/ADDC指令完成加法運算,C語言賦值語句完成程序編寫
3.兩數作比較:(1)兩個無符號數比較,分析設計兩分支程序;(2)兩個有符號數作比較,分析設計三分支程序,掌握設計過程及基本方法;利用匯編語言的條件轉移指令JZ/JNZ/CJNE/JC/JNC做條件判斷,分支轉移,用C語言條件語句IF/IFELSE/IFELSEIF/,進行轉向選擇,并比較兩種語言特點及程序實現過程。
4.組合按鍵控制發光管亮滅狀態:分析散轉程序結構,使用散轉指令JMP@A+DPTR及轉移指令AJMP實現多個分支的轉向,并用C語言的開關語句SWITCHCASE語句實現分支執行結果。
5.P1口燈由右到左依次點亮,分析循環程序設計,應用匯編語言指令DJNZ控制循環,完成循環程序設計,同時使用C語言的循環語句FORWHILE,實現循環程序效果,達到循環目的;
6.八路彩燈控制流水:使用匯編查表指令MOVCA,@A+DPTR完成對字形碼的查找,送到P1口,實現燈的亮滅,用C語言數組DISPLAY[]{}實現對字形碼的取值,完成C程序設計。
完成以上6個任務的兩種語言的編程學習后,進行綜合項目八路搶答器設計:綜合運用以上6個知識點,分別用C和匯編指令完成搶答器程序設計,并用PROTUES繪圖,KEIL軟件編程,最后進行軟硬件聯調,完成項目的制作,達到使學生掌握程序設計知識的學習目的,提高了教學效果。
三、教學效果
通過教學實施,教師不僅更好的了解學生的知識、能力、興趣和需求,更著眼于學生的發展潛力,學生完成了從單個任務到軟件仿真、再到實物制作等項目的設計和實現,還主動參與教師教科研課題,并且多次參加省級、國家級電子設計大賽,取得了優異成績。
下圖是學生自己動手焊接制作的實物及部分參賽獲獎獲獎證書。
參考文獻:
[1]王中順.改革傳統考試模式突出高職人才培養特色[J].成人教育,2005年11期.
[2]張定強.信息技術在數學新課程體系中的定位研究[J].電化教育研究,2004年08期.
[3]曹薇,邵忠良.單片機原理及應用課程考試改革的探索[J].廣東水利電力職業技術學院學報,2004年02期.
[4]寧靜,肖婕,繆柏其,戴小莉,宋昌耐.高考成績與大學成績的相關性研究[J].高等理
作者簡介:李霞(1970-),女,碩士,淄博職業學院電子電氣工程學院,研究方向:自動化教學工作。