匯編語言程序設(shè)計范文

時間:2023-03-16 10:26:37

導語:如何才能寫好一篇匯編語言程序設(shè)計,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

【關(guān)鍵詞】匯編語言程序設(shè)計 現(xiàn)狀 問題 改革

隨著我國國際化的發(fā)展進程越來越快,我國對高等院校教育水平的重視度也越來越高。為了加快接軌國際高等教育的進程,在近幾年中,我國對教育事業(yè)的投入力度不斷加強,提高了對學生實際動手能力以及創(chuàng)新能力的培養(yǎng)力度?!秴R編語言程序設(shè)計》課程教學是高校計算機、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,對學生在學習過程中的創(chuàng)新能力以及實踐能力的提高有一定的促進作用。另外,在對教師對問題進行研究的過程中,對提高其相應(yīng)的科研水平以及意識也有一定的積極影響。

一、《匯編語言程序設(shè)計》課程教學的現(xiàn)狀以及存在的問題

1.相應(yīng)的教材內(nèi)容單一陳舊,無法激發(fā)學生的學習興趣

《匯編語言程序設(shè)計》課程在我國所有高等院校相關(guān)計算機專業(yè)的課程中都占有重要地位,然而隨著時代的飛速發(fā)展,計算機的相關(guān)配置也得到了相應(yīng)的發(fā)展。在《匯編語言程序設(shè)計》教學中,其硬件教學中有些相關(guān)教材內(nèi)容與計算機的發(fā)展現(xiàn)狀不相符,存在一定程度的滯后性。在某些新開發(fā)的匯編得到廣泛使用的時候,大多數(shù)學校的相關(guān)專業(yè)的匯編語言教材依舊還停留在以前的版本中,跟不上實際的發(fā)展進程。

2.沒有明確的教學目的,對課程重要性認識不足

《匯編語言程序設(shè)計》課程教學是高校計算機、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,對學生在學習過程中的創(chuàng)新能力以及實踐能力的提高有一定的促進作用。在對《匯編語言程序設(shè)計》課程的學習過程中,大多時候得不到學生以及教師重視,對其學習的重要性認識不足。而且,大多數(shù)老師在對這門課程進行教學的過程中,受到相應(yīng)教學的課時以及大綱限制,在課堂教學過程中過于偏重對具體指令的相關(guān)應(yīng)用以及功能的講解,從而缺少了對各個課程之間的特點串聯(lián)。這樣的問題導致教師在教學過程中,對學生的學習興趣不能充分的調(diào)動,從而導致學生對正確的學習方法不能很好的掌握。

3.教學方法偏差,教學手段存在缺陷

在對《匯編語言程序設(shè)計》課程進行教學的過程中,其在相應(yīng)的教學方法上存在一定程度的偏差,從而導致一些編程中非法指令經(jīng)常性出現(xiàn)。而且,教師在對這門課程進行教學的過程中,教學手段太過單一,在教學過程中主要就通過多媒體對課堂內(nèi)容進行講解。在教學過程中對多媒體的運用雖然存在直觀生動以及信息量大等相關(guān)優(yōu)勢,但其也在一定程度上使學生產(chǎn)生了學習惰性。

二、對《匯編語言程序設(shè)計》課程教學中相應(yīng)的問題進行改革

1.加強對課程重要性的認識

在對《匯編語言程序設(shè)計》課程進行教學之前,對其相應(yīng)的重要性進行講解,從而使學生對匯編語言的具體特點進行充分掌握,對匯編語言相較于高級語言的具體優(yōu)勢進行具體明確,使學生對其在應(yīng)用領(lǐng)域中必要性有充分的了解。在對《匯編語言程序設(shè)計》課程進行學習的過程中,要注意對其實用性的具體教學,使學生能夠做到對具體知識的學以致用,注重對教學內(nèi)容相關(guān)知識點的訓練和拓展。另外,教師在教學過程中,還要注重對學生知識面的拓寬,從而使學生在對匯編語言的學習興趣得到相應(yīng)的提高。

2.采用多樣化教學,提高學生學習興趣

在對《匯編語言程序設(shè)計》課程進行學習的過程中,想要對相應(yīng)的指令進行掌握,就要對其相關(guān)的尋址方式進行具體的理解和掌握。在對匯編語言進行教學的過程中,由于其相較高級語言而言,沒有足夠的易讀性,不容易學生的理解,所以,在教學的時候要掌握多樣化的教學方法以及教學手段,從而使學生在對其進行學習的過程中的學習興趣得到最大的提高,培養(yǎng)學生學習的自主性,使其對匯編語言的相關(guān)知識的理解和記憶更容易清晰地掌握。

3.增加實踐環(huán)節(jié),提高學生具體的實踐能力

在對《匯編語言程序設(shè)計》課程進行學習的過程中,對學生具體動手實踐課程進行加強,使學生在具體實踐的過程中對教材上的知識點進行具體的理解和掌握。在實際動手過程中學習實踐理論,使實踐與理論達到很好的結(jié)合,從而提升學生的學習效果。其中,在實踐的過程中,教師要注意對具體實驗內(nèi)容的控制,對實驗的重點著重突出,避免實驗的時間太過漫長。除此之外,還要注意積極引導學生多多參與相關(guān)實踐項目,在一定程度上為他們提供一些參與實際研究項目的機會。

三、結(jié)束語

綜上所述,隨著時代的飛速發(fā)展,我國對高等院校教育水平的重視度也越來越高,計算機的相關(guān)配置也得到了相應(yīng)的發(fā)展?!秴R編語言程序設(shè)計》課程作為計算機、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,其硬件教學中有些相關(guān)教材內(nèi)容與計算機的發(fā)展現(xiàn)狀不相符,存在一定程度的滯后性。為了提高學生在學習過程中的創(chuàng)新性以及實際動手能力,對《匯編語言程序設(shè)計》教學課程的教學效果進行相應(yīng)的提高和改善,從而使學生在學習的過程中對其課程中相應(yīng)的知識內(nèi)容進行更清晰精準的掌握。

參考文獻:

[1]陳燕俐,許建.“匯編語言程序設(shè)計”課程教學改革探索 [J].中國電力教育,2012,10(04):193-194.

[2]李黎.《匯編語言程序設(shè)計》課程教學改革探究 [J].產(chǎn)業(yè)與科技論壇,2013,15(08):197-198.

[3]陶雪麗,郭鳳英.匯編語言程序設(shè)計課程教學改革與實踐 [J].中國教育技術(shù)裝備,2012,25(01):192-193.

篇2

關(guān)鍵詞:匯編語言;系統(tǒng)的知識結(jié)構(gòu);教學手段;實踐教學

中圖分類號:G642 文獻標識碼:B

“匯編語言程序設(shè)計”是計算機教學體系中一門必修的專業(yè)基礎(chǔ)核心課程。匯編語言可以直接控制計算機硬件,常用于設(shè)備驅(qū)動程序、實時控制程序等硬件設(shè)計開發(fā)等方面。在系統(tǒng)軟件的底層、大型軟件的性能優(yōu)化、信息安全與計算機病毒的逆向工程等方面的應(yīng)用上,匯編語言也具有其他高級語言所無法企及的優(yōu)勢。該課程不僅是“計算機組成原理”、“操作系統(tǒng)”、“微機原理與接口”等核心課程的必要先修課,而且對于訓練學生掌握程序設(shè)計技巧、熟悉上機操作和程序調(diào)試技術(shù)有著重要作用。從教學的角度出發(fā),我們認為只有激發(fā)學生的學習興趣,教師與學生互動,并采用一些有效的教學手段,才能夠收到事半功倍的效果。

1了解匯編語言的重要性

匯編語言具有與高級語言不同的特點,正是這些特點使得匯編語言具有高級語言不可替代的作用,使得匯編語言在計算機領(lǐng)域非常重要。在教學過程中,首先必須向?qū)W生詳細闡述匯編語言在計算機學科知識體系中的重要作用,充分調(diào)動學生的學習熱情和求知欲望。

匯編語言與處理器密切相關(guān),每種處理器都有自己的指令系統(tǒng),對應(yīng)的匯編語言各不相同。所以,匯編語言程序的通用性、可移植性較差;匯編語言功能有限,又涉及寄存器、主存單元等硬件細節(jié),所以編寫程序比較繁瑣,調(diào)試起來也比較困難。但是匯編語言本質(zhì)上就是機器語言,是計算機提供給用戶的最快最有效的語言,因而容易產(chǎn)生運行速度快、指令序列短小的高效率目標程序,并且匯編語言是能夠利用計算機的所有硬件特性并能夠直接控制硬件的唯一語言,它可以直接、有效地控制計算機硬件。在很多場景下,我們必須使用匯編語言,例如,機器自檢、系統(tǒng)初始化、實際的輸入輸出設(shè)備的操作等;I/O接口電路的初始化程序以及外部設(shè)備的低層驅(qū)動程序等;計算機系統(tǒng)頻繁調(diào)用的子程序、動態(tài)連接庫等。匯編語言在現(xiàn)代計算機應(yīng)用中仍然是一門不可替代的、非常重要的程序設(shè)計語言。

因此,在“匯編語言程序設(shè)計”教學中,我們首先讓學生充分認識到匯編語言的特點和重要性,學生通過用匯編語言編制程序,可以更清楚地了解計算機是如何完成各種復雜的工作。學生能從根本上認識、理解計算機的工作過程,從而充分地利用機器硬件的全部功能,發(fā)揮機器的長處。

2形成系統(tǒng)的知識結(jié)構(gòu)

匯編語言離不開具體的CPU結(jié)構(gòu)以及必要的硬件支持,由于我們的“匯編語言程序設(shè)計”課程仍然基于英特爾公司的8086/8088CPU,因此將英特爾公司的系列CPU發(fā)展歷史作為首先介紹的內(nèi)容。從英特爾公司的4位機4004,8位機8008、8080與8085,到16位機8086/8088微處理器,詳細介紹了它們的內(nèi)外總線結(jié)構(gòu)。對于16位的80286微處理器,我們重點介紹了80286的實模式與保護模式兩種操作模式。對于32位的80386微處理器以及隨后英特爾公司推出的80486,Pentium,MMX Pentium,Pentium Pro,Pentium II,Pentium III與Pentium 4等微處理器,介紹了這些微處理器在硬件結(jié)構(gòu)上的突破,以及什么原因讓這些CPU新增了若干專用指令。通過對英特爾系列處理器的介紹,學生對以英特爾系列處理器發(fā)展為代表的計算機硬件發(fā)展脈絡(luò)有總體的了解,初步建立起計算機技術(shù)繼承性、發(fā)展性的認識,對其中涉及到的相關(guān)概念和術(shù)語有了初步的了解。

匯編語言的一個重要特點是它起到了軟件技術(shù)與硬件技術(shù)的接口作用,這決定了匯編語言程序設(shè)計必須結(jié)合其他課程橫向?qū)W習。從剖析可執(zhí)行程序的結(jié)構(gòu)出發(fā),以可執(zhí)行程序的裝入為例,分析了DOS操作系統(tǒng)下的PSP段前綴,并簡單介紹了Windows操作系統(tǒng)下的PE文件,并在此基礎(chǔ)上講解了計算機從啟動到操作系統(tǒng)裝入的流程;在講解中斷的時候,給學生介紹了8259A的結(jié)構(gòu)與用法。通過這種方式,讓學生明白“匯編語言程序設(shè)計”與“操作系統(tǒng)”、“微型計算機接口技術(shù)”、“計算機組成原理”等課程的聯(lián)系,開闊了學生的思維方式與學習方法。

緩沖區(qū)溢出漏洞是目前最主要的安全漏洞之一,而利用該漏洞的緩沖區(qū)溢出攻擊是目前最主要、最具威脅性的網(wǎng)絡(luò)攻擊之一。我們幫助學生利用DEBUG工具,詳細分析了這些具有威脅性的程序,讓學生從多個角度研究緩沖區(qū)溢出的一般規(guī)律,引導學生深入分析植入代碼的結(jié)構(gòu)組成,總結(jié)植入代碼的結(jié)構(gòu)特征。并鼓勵學生根據(jù)威脅代碼的特點,嘗試提出相對應(yīng)的防御措施。為“網(wǎng)絡(luò)安全”等課程打下了基礎(chǔ),讓學生融會貫通,學以致用。

通過我們這種注重歷史發(fā)展與聯(lián)系其他課程的教學思想,逐步幫助學生形成了系統(tǒng)的知識結(jié)構(gòu)。這有助于學生建立多門課程之間的聯(lián)系,開闊學生的專業(yè)視野,從而調(diào)動學生的學習熱情,增強學習的積極性與主動性。

3利用多種教學手段進行教學

匯編語言的內(nèi)容多而雜,不便于記憶,要教給學生正確的學習方法,指導學生如何去學習。讓啟發(fā)式、開放型的教學貫穿教學全過程,充分調(diào)動學生學習的積極性和主動性,以利于學生對教學內(nèi)容的理解和掌握。在教學內(nèi)容的講解過程中,針對不同的知識點,可采用或結(jié)合不同的教學方法,加深學生的理解,增強記憶。

在介紹英特爾系列的CPU歷史時,我們準備了大量直觀的照片,展示了從4004、8008、8080、8085到16位微處理器8086/8088等微處理器,對于32位機展示了從80386到80486、Pentium、MMX Pentium、Pentium Pro、Pentium II、Pentium III與Pentium 4等微處理器。為了讓學生對當前的計算機有直觀的認識,我們用照片展示了當前計算機的主板結(jié)構(gòu),對照圖片逐一介紹了PCI接口、顯卡、網(wǎng)卡等各種插卡。學生們對直觀的學習非常有興趣,課堂氣氛活躍。

在講解指令系統(tǒng)時,我們使用動畫講解了指令在CPU中的執(zhí)行過程。在講解指令前,我們重點介紹了8086 內(nèi)部結(jié)構(gòu),仔細講解了各個部件的功能,并突出介紹了指令流水線方式。對于典型的指令,我們在結(jié)構(gòu)圖上演示了指令執(zhí)行過程,包括指令隊列的變化、指令操作數(shù)的來源、物理地址的形成、EU與BIU是如何配合工作的。通過直觀的動畫,學生基本理解了CPU中指令的執(zhí)行過程。

在講解MOV指令時,我們采用圖解法講解了MOV指令操作數(shù)的來源,這非常利于學生理解與記憶MOV指令的操作數(shù)的來源。圖1中矩形框中表示MOV指令的操作數(shù),箭頭的起始點表示MOV指令的源操作數(shù),箭頭的終止點表示它的目的操作數(shù),兩者間如有箭頭連接,表示它們是MOV指令源操作數(shù)與目的操作數(shù)的允許組合方式。通過圖解法,學生普遍感到MOV指令的操作數(shù)來源好懂易記,并逐步推廣到其他的指令學習中。

在講解存儲器操作數(shù)的尋址方式時,我們采用逐步分解的方式介紹存儲器操作數(shù)的四種尋址,并強調(diào)了基址、變址、位移量這三個分量的不同組合就形成了不同的尋址方式。8086/8088 CPU各指令中操作數(shù)的來源有四種,立即數(shù)操作數(shù)、寄存器操作數(shù)、輸入/輸出端口操作數(shù)、存儲器操作數(shù)。而存儲器操作數(shù)又有直接尋址、寄存器間接尋址、基址(變址)尋址、基址變址四種尋址方式,存儲器操作數(shù)的這些尋址方式易導致學生理解與記憶出錯,造成不佳的學習效果。在講述基址由BX或BP提供,變址SI或DI提供,位移量是一個在匯編期間的常數(shù)后,我們在圖2中介紹了基址、變址、位移量這三個分量的不同組合構(gòu)成的不同的尋址方式。通過這種逐步分解的方式,學生很容易就掌握了存儲器操作數(shù)的四種尋址方式。

從我們采取的多種教學手段收到的良好效果可見,在教學過程中,靈活應(yīng)用各種教學方法,能夠減少學習匯編語言的難度,便于學生學習和掌握相關(guān)內(nèi)容,提高教與學的效率。

4重視實踐教學

上機實驗是“匯編語言程序設(shè)計”的一個重要教學環(huán)節(jié)。在“匯編語言程序設(shè)計”實驗中,針對學生對DOS操作環(huán)境不熟悉,我們在課堂上重點講授了相關(guān)的DOS命令,使得學生在上機時能夠熟練的在DOS環(huán)境下進行操作;針對匯編語言上機調(diào)試復雜的問題,我們通過耐心講解,讓學生充分認識到,這是一個從源程序到可執(zhí)行程序的必經(jīng)過程,通過學生的反復實踐,一定能夠掌握匯編語言的開發(fā)過程,加深對匯編語言的認識,提高程序設(shè)計的能力;針對調(diào)試工具DEBUG,重點講解了常用的調(diào)試命令,對一些較復雜并且較為不常用的命令,暫時不引入,重點讓學生實踐,學生通過使用DEBUG工具,深刻體會到了CPU的工作過程,這對于提高學生的學習興趣,鞏固課堂教學內(nèi)容起到了關(guān)鍵作用。

在合理安排實驗教學內(nèi)容的基礎(chǔ)上,我們還將課外科技活動融入到實踐教學活動中,其中最為重要的是組織學生參加國家級以及校級的各種電子設(shè)計競賽,在實踐中鍛煉學生使用匯編語言設(shè)計程序的能力。

我們積極指導學生使用匯編語言參加了全國性的關(guān)于嵌入式系統(tǒng)的“電子設(shè)計競賽”,這些競賽項目不但需要參賽者具有深厚的匯編語言程序編程水平,還要求參賽者擁有過硬的硬件基礎(chǔ)知識,包括電路分析、模擬電路和數(shù)字電路等各方面的專業(yè)知識儲備。通過競賽,學生加深了對整個計算機學科知識體系的掌握,并對匯編語言與其它學科的關(guān)系有了深入的認識。

我們還組織了較大規(guī)模的學生隊伍參加電子科技大學“億利達杯”、“NS杯”等大學生電子設(shè)計競賽,這些競賽是半開放式的競賽,在指導教師的指導下,參賽隊員利用提供的器件設(shè)計并實現(xiàn)了“數(shù)字式Q表設(shè)計”、“多點溫度檢測系統(tǒng)設(shè)計”、“數(shù)字調(diào)諧濾波器設(shè)計”、“工頻標準信號源設(shè)計”、“電機轉(zhuǎn)速控制器設(shè)計”、“太陽能自動跟蹤器設(shè)計”、“數(shù)字溫度表”、“數(shù)控電源”、“遙控小車”、“防嘯叫話筒”、“智能LED照明”等多個項目。在這個實踐過程中,鍛煉了學生使用匯編語言與硬件結(jié)合的能力,加深理解了匯編語言在控制系統(tǒng)中的作用,培養(yǎng)了學生的創(chuàng)新能力。

5總結(jié)

“匯編語言程序設(shè)計”是我國高等學校計算機各專業(yè)必修的一門主干課程,對于訓練學生掌握程序設(shè)計方法與技術(shù),從事自主版權(quán)計算機芯片設(shè)計和系統(tǒng)軟件的開發(fā),以及在信息安全、過程控制等多方面的應(yīng)用,均具有十分重要的作用。由于“匯編語言程序設(shè)計”課程自身的特點,學生在學習的過程中總會遇到這樣或那樣的問題。我們在教學過程中積極主動總結(jié),認真分析學生遇到問題的根本原因,及時幫助學生對問題逐一加以解決。

從我們長期從事“匯編語言程序設(shè)計”的教學經(jīng)驗來看,教師要善于采用多種方法及手段,發(fā)掘?qū)W生渴望新知識、接受能力強的潛能,讓學生從了解匯編語言的重要性入手,培養(yǎng)學生的興趣,進而幫助學生形成系統(tǒng)的知識結(jié)構(gòu),并在教學中靈活運用多種教學手段,最終通過實踐教學,使學生達到熟練掌握“匯編語言程序設(shè)計”的目的。

參考文獻:

[1] 王正智. 8086/8088宏匯編語言程序設(shè)計教程[M]. 北京:電子工業(yè)出版社,2002.

[2] 沈美明. IBM-PC匯編語言程序設(shè)計[M]. 北京:清華大學出版社,2001.

[3] 殷肖川. 匯編語言程序設(shè)計[M]. 北京:清華大學出版社,2005.

[4] Peter Abel. IBM PC匯編語言程序設(shè)計(影印)[M]. 北京:清華大學出版社,2006.

[5] Mazidi, Muhammad Ali. 80x86 IBM PC及兼容計算機(卷1和2),匯編語言、設(shè)計與接口技術(shù)(影印)[M]. 北京:清華大學出版社,2004.

[6] 張英彥. 更新知識觀念改革高校教學[J]. 中國高教研究,2006(2):70-71.

篇3

關(guān)鍵詞:匯編語言程序設(shè)計;實驗;教學改革

中圖分類號:G64 文獻標識碼:A

文章編號:1672-5913(2007)01-0034-04

在傳統(tǒng)教學模式中,理論教學 (或者說是課堂教學) 與實驗教學是區(qū)別對待的,后者通常用來“輔助”前者 (例如實驗教材歷來被認為是輔助教材) ,學生通過實驗教學環(huán)節(jié)來“驗證”理論教學的內(nèi)容。但是,在大眾化高等教育的背景下,課堂教學的效果普遍出現(xiàn)滑坡,導致淡化了“驗證性”實驗的基礎(chǔ),因而嚴重地影響了課程的教學質(zhì)量。

近年來,我們在多門計算機課程的教學實踐中,摸索出一套“把實驗實踐環(huán)節(jié)與理論教學相融合,抓實驗實踐教學促進學科理論知識學習”的教學方法,有效地提高了學生的學習興趣,以此提高了大眾化高等教育背景下計算機專業(yè)課程的教學效果和教學質(zhì)量。本文中,我們結(jié)合“匯編語言程序設(shè)計”課程的實驗創(chuàng)新,來探討新的教育形勢下計算機課程教學方法的改革。

1匯編語言及其教學的現(xiàn)狀

計算機中真正可以處理的只是由“0”和“1”組成的二進制代碼,這種指令代碼易出錯且不易修改。于是,人們發(fā)明了“指令的助記符”,用幾個字母 (往往就是其含義的英文單詞或縮寫) 來代替某條指令,如加法用ADD表示,減法用SUB表示等,這種符號系統(tǒng)最終擴大形成了匯編語言。匯編語言就是機器語言的一種可以被人讀懂的形式,只不過它更容易記憶。使用匯編語言編程,優(yōu)點是運行效率高,可直接對硬件內(nèi)部進行控制,缺點是使用者需要對硬件有更深入的了解,編程效率不高,并且匯編語言與機器的體系結(jié)構(gòu)有一定的依賴關(guān)系,每種計算機都有自己的匯編語言,使用極不方便。

匯編語言易學卻很難真正掌握,編寫快速、高效,并且能夠讓計算機處理器“舒服地執(zhí)行”的匯編語言程序是一件很困難的事情。由于教師開展教學困難,學生學習和掌握困難,教學效果很差,以至于不少學校甚至取消了這門課程。

盡管與發(fā)展初期相比,計算機開發(fā)和應(yīng)用技術(shù)已經(jīng)有了根本性的變化,我們有了各種高級語言、我們有了網(wǎng)絡(luò)應(yīng)用開發(fā)的許多編程工具,很多程序甚至可以自動生成,但機器語言、匯編語言和高級語言的程序設(shè)計語言體系仍然是計算機技術(shù)的基礎(chǔ),也是計算機技術(shù)的重要知識體系之一。對于計算機及其相關(guān)專業(yè)的學生以及喜歡計算機的一般學生和讀者來說,匯編語言程序設(shè)計肯定是需要掌握的重要專業(yè)基礎(chǔ)知識之一。不能了解和熟悉匯編語言知識不僅將導致學生知識結(jié)構(gòu)的缺乏,也可能導致學生認知水平的降低、開發(fā)手段的貧乏。在一些應(yīng)用中,匯編語言甚至是其開發(fā)工具的唯一選擇。

匯編語言是機器語言之外最接近計算機硬件的編程語言。由于它如此地接近計算機硬件,因此,它可以最大限度地發(fā)揮計算機硬件的性能。用匯編語言編寫的程序的速度通常要比高級語言(例如C/C++),快很多倍,甚至成百上千倍。選擇匯編,意味著選擇性能而不是可移植或便于調(diào)試。在一些實際的應(yīng)用系統(tǒng)中,我們往往會用匯編徹底重寫某些經(jīng)常調(diào)用的部分以期獲得更高的性能。應(yīng)用匯編也許不能提高程序的穩(wěn)定性,但至少它也不會降低穩(wěn)定性;與此同時,它可以大大地提高程序的運行速度。至少,匯編語言的知識可以告訴你一些有用的東西,比如,你有多少個寄存器可以使用。有時,手工的優(yōu)化比編譯器的優(yōu)化更為有效,而且,你可以完全控制程序的實際行為。

“匯編語言程序設(shè)計”課程的任務(wù)是為“計算機原理”、“計算機接口技術(shù)”、“操作系統(tǒng)原理”等后繼課程提供必要的基礎(chǔ)知識,它對訓練學生掌握程序設(shè)計技術(shù)、熟悉上機操作和程序調(diào)試技術(shù)都有重要作用,為從事計算機的應(yīng)用開發(fā)提供了強有力的編程工具。

通過學習匯編語言,學生可以了解到如何有效地設(shè)計數(shù)據(jù)結(jié)構(gòu),讓計算機處理得更快,并使用更少的存儲空間;同時,學習匯編語言可以讓學生熟悉計算機內(nèi)部運行機制,并有效地提高調(diào)試能力。經(jīng)驗表明,調(diào)試一個非結(jié)構(gòu)化程序的困難程度,要比調(diào)試一個結(jié)構(gòu)化程序的難度高很多,因為“結(jié)構(gòu)化”是以犧牲運行效率來提高可讀性與可調(diào)試性的,這對于完成一般軟件工程的編碼階段是非常必要的。然而,在一些地方,比如,硬件驅(qū)動程序、操作系統(tǒng)底層,或者程序中經(jīng)常需要執(zhí)行的代碼,結(jié)構(gòu)化程序設(shè)計的這些優(yōu)點有時就會被它的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代碼級的調(diào)試是遠遠不夠的。

通常情況下,“匯編語言程序設(shè)計”課程的教師必須決定其課程是集中于問題和理論,還是為學生提供一個能夠?qū)R編語言程序設(shè)計進行實驗的環(huán)境?!皡R編語言程序設(shè)計”課程本身具有的理論抽象性和鮮明的應(yīng)用性,決定了我們必須充分重視這門課程的實踐環(huán)節(jié)。

2教學內(nèi)容的分層次設(shè)計

教育部計算機科學與技術(shù)專業(yè)教學指導分委員會在其的“中國計算機本科專業(yè)發(fā)展戰(zhàn)略研究報告”中指出:大多數(shù)院校都有比較完善的教學大綱、教學計劃和進度表、教學檔案等,實踐著一套有效的管理規(guī)范。但同時教學內(nèi)容的研究則需要加強。報告進一步指出:

1) 有些學校計算機專業(yè)的教學內(nèi)容設(shè)計存在明顯的盲目性,還有些學校在培養(yǎng)人才定位上有明顯偏差。盡管CC1991開創(chuàng)了一種對計算機科學教育的創(chuàng)造性的、理性的思考,但它并不應(yīng)該成為我國所有大學計算機專業(yè)教學實踐所共同追求的目標。

2) 作為一種比較普遍的規(guī)律或者現(xiàn)象,學生就業(yè)通常會有較強的地域性:一個企業(yè)通常在周邊地區(qū)招收較多員工,一個學校的畢業(yè)生大都就業(yè)在學校周邊地區(qū)的單位。因此,學校周邊地區(qū)社會發(fā)展的情況對計算機專業(yè)的教學內(nèi)容的設(shè)計應(yīng)該是很有參考意義的。

……

由于大多數(shù)大專院校一般都設(shè)置有計算機科學技術(shù)及其相關(guān)專業(yè),我們至少可以認為:根據(jù)所在院校的辦學類型不同、培養(yǎng)目標不同、所在地及其周邊地區(qū)社會需求的不同,這些計算機專業(yè)的教學內(nèi)容應(yīng)該有所不同,這些計算機專業(yè)對于“匯編語言程序設(shè)計”這門課程的教學內(nèi)容也應(yīng)該是有所不同的。對于那些非研究型院校的相關(guān)專業(yè),對“匯編語言程序設(shè)計”的教學可以集中在適度的理論知識和充分的操作實踐上,通過實驗與實踐,了解匯編語言程序設(shè)計的基本概念和知識,激發(fā)對相關(guān)理論知識的學習興趣,理解和掌握匯編語言程序設(shè)計的基本方法。

匯編語言程序設(shè)計的應(yīng)用面廣,涉及技術(shù)領(lǐng)域?qū)挿海寣W生真正理解匯編語言程序設(shè)計的基礎(chǔ)理論知識,具備將匯編語言技術(shù)應(yīng)用于社會實踐的能力,積極加強匯編語言程序設(shè)計課程的實驗環(huán)節(jié)是至關(guān)重要的。

篇4

關(guān)鍵詞:匯編語言;C語言;混合編程

匯編語言的優(yōu)勢就是速度快,占用存儲空間不大,而且可以隨時控制硬件,這些優(yōu)點是其它的程序語言無法取代的。匯編語言也有不足之處,就是在高級程序的編寫與調(diào)試時存在著較大的困難,特別是在處理一些數(shù)據(jù)或者一些混合運算時顯得更加困難。

C語言,它的優(yōu)勢就是在于功能全面,表達形式多樣且靈活,開發(fā)使用效率很高,具有其它高級語言無法具有的優(yōu)勢。通常在軟件開發(fā)過程中,大部分程序采用高級語言編寫,以提高程序的開發(fā)效率;但在要求執(zhí)行速度快、占用空間少或要求直接控制硬件的場合,則利用匯編語言編寫,以提高程序的運行效率。

1.匯編語言和C語言混合編程的方法

C語言和匯編語言混合編程的具體方法有以下幾種。

2.1 參數(shù)傳遞

匯編語言程序和C語言程序在調(diào)用時會涉及到參數(shù)傳遞,一般采用堆棧進行傳遞。在匯編語言中將BP作為基址寄存器,調(diào)用程序先將來自于C語言程序中的參數(shù)依次壓入堆棧中,然后當需要使用這些參數(shù)時,再用BP加上不同的偏移量依次對堆棧中的數(shù)據(jù)進行存取操作。

2.2 調(diào)用關(guān)系的確定

對于將要涉及到調(diào)用的過程或函數(shù)需要事先說明和建立調(diào)用與被調(diào)用關(guān)系。被調(diào)用的過程或函數(shù)應(yīng)預先說明為外部類型,以便被外部模塊引用,而調(diào)用程序也需要在程序中說明將要引用的外部模塊的名稱。在說明調(diào)用關(guān)系時還應(yīng)根據(jù)不同的存儲模式確定相應(yīng)的匯編語言格式。C程序小模式對應(yīng)匯編程序的近類型過程,而C程序大模式則對應(yīng)匯 編程序的遠類型過程。

總而言之,匯編語言和C語言的混合編程方法可以使匯編語言與C語言之間取長補短,充分發(fā)揮各自優(yōu)勢,相互交叉調(diào)用,進行參數(shù)傳遞,共享數(shù)據(jù)信息和數(shù)據(jù)結(jié)構(gòu),使由此開發(fā)的軟件更實用、更安全可靠,使開發(fā)和編程工作達到事半功倍的效果。

參考文獻:

[1] 羅南超,向昌成,李唐輝. 匯編語言實現(xiàn)多種進制的通用輸入輸出[J]電腦知識與技術(shù), 2008,(36) .

[2] 崔衛(wèi)東. VC++與匯編語言混合編程的研究與實現(xiàn)[J]福建電腦, 2007,(05) .

[3] 宋金華. 匯編語言和C語言在圖形處理中的綜合應(yīng)用[J]湖北廣播電視大學學報, 2010,(12) .

篇5

一、多層次多目標的教學要求

過去,我國的普通高等教育基本上分為本科生教育與專科生教育兩個層次,對這兩個層次教育部有統(tǒng)一的標準和要求,各大學在貫徹實施過程中相對比較穩(wěn)定。改革開放以來,為盡快適應(yīng)新經(jīng)濟快速增長對各類高等專門技術(shù)人才的需求,從20世紀80年代初期開始教育部先后升格了一批院校并批準新成立了一批大專院校,特別是20世紀90年代各大學普遍擴招后,我國的大專院校事實上已經(jīng)打破了兩個相對穩(wěn)定層次的格局而形成多層次教育的局面,本科院校中新學院新專業(yè)建設(shè)及??茖哟蔚穆殬I(yè)技術(shù)教育,??圃盒V斜究茖哟蔚慕逃吐殬I(yè)技術(shù)教育,中等專業(yè)技術(shù)學校中的高等職業(yè)技術(shù)教育等等,同一專業(yè)的教學起點教學大綱教學計劃相去甚遠,教學目標和要求事實上也很不一致,課程合并,教材改革,雖然確實涌現(xiàn)出許多優(yōu)秀品牌“精品課程”和“規(guī)劃教材”,但眾多的“精品課程”和“規(guī)劃教材”也是千差萬別,更加加劇了培養(yǎng)目標的多樣化。

形成這樣一種多層次多目標的教學形勢對不對,好不好呢?不少人對此頗具微詞。筆者認為這種教學勢態(tài)的形成其實是很正常的,教育永遠是服務(wù)于經(jīng)濟建設(shè)需要的,這種教學勢態(tài)的形成正好說明了這一點。經(jīng)濟建設(shè)需要多層次多能力多類型的人才,教學部門就要培養(yǎng)出各種層次各種類型各種能力的人才,市場細分之后,人才也需要細分,專業(yè)也需要細分,培養(yǎng)的“寬基礎(chǔ)”“萬金油”“什么都能干什么都干不好”的人才漸失市場之后,一定要有新的“專門化”“專業(yè)化”“與企業(yè)零接軌”的人才培養(yǎng)方式。這就是目前多層次多目標教育的現(xiàn)實情況,任何教育觀念和教育方法都不能脫離開這一現(xiàn)實。

二、“學用互動,實踐為先”的教育觀念和教學方法

當我國的普通高等教育從傳統(tǒng)單一的教學模式走向多層次多目標培養(yǎng)方式后,教學對象中出現(xiàn)了一大批以職業(yè)技能訓練為主直接面向企業(yè)一線的高職學生,這些學生的共同特點是基礎(chǔ)理論知識不扎實,在中學沒有養(yǎng)成良好的學習習慣,課堂上自控能力較差,注意力分散,但他們普遍身體素質(zhì)較好,思維活躍,善于交流,上大學后有一種時間緊迫感,希望將過去失去的補回來,學習熱情與積極性非常高。對于這部分學生,若仍然按照傳統(tǒng)的教學模式先理論后實驗按章就節(jié)地進行教學,筆者發(fā)現(xiàn)很難保證大多數(shù)同學正常完成教學計劃,而且很容易造成班里同學兩極分化。少數(shù)學習較好的同學總感到課程內(nèi)容不夠?qū)W,而大多數(shù)同學則感到較為吃力。首先對理論教學感到仿佛又回到從前一樣,其次對單調(diào)的純驗證性質(zhì)的實驗無論做出或做不出都不是積極主動地想方設(shè)法完成,而是像抄作業(yè)一樣敷衍了事,久而久之失去學習興趣,導致人生坐標的盲然,不能有效地利用大學這一段人生經(jīng)歷中最為寶貴的時光。針對這一大類學生的實際情況,什么樣的教學方法才能將他們的學習熱情調(diào)動起來?

筆者嘗試過許多方法,如采用案例教學法由淺入深地講解難點重點課,調(diào)整授課課序、刪繁就簡講解理論核心課,整合零散實驗為項目實驗提高實驗興趣,增加專用實驗設(shè)備提高實驗效率,雖然所有這些方法的應(yīng)用對課程的改進都有所幫助,但效果平平,與改進付出的代價相比,回報實在是太有限了!難道計算機課程的教學只能如此嗎?有沒有更好的解決這一問題的方法?怎樣才能改變被動教學為主動教學?回到經(jīng)典的教學理論中尋求答案:學習過程中,學生是主體,教師是主導,只有把學生的主動性調(diào)動起來,教師才能起到導的作用,因此必須想盡一切辦法調(diào)動學生的積極性。筆者分析學生不主動的原因主要是直接看不到課程內(nèi)容的用途,實驗課程中的成就感不強。如何增強這兩方面的意識呢?筆者想到了產(chǎn)品。并在普遍認為“學生難學,教師難教”的“匯編語言程序設(shè)計”課程中進行試驗,結(jié)果獲得了意想不到的效果,真有“柳岸花明又一村”的感覺。筆者將這種方法總結(jié)為“學用互動,實踐為先”的教育觀念和“實踐理論實驗實踐理論實驗……”的教學模式。所謂學用互動,就是邊學邊用,學點用點;所謂實踐為先,就是先進行操作實踐,籍以建立問題,再通過理論課與實驗課理解和解決問題,在整個教學環(huán)節(jié)中,增加了實踐課的教學。那么什么是實踐課呢?實踐課與實驗課有何區(qū)別?實踐課能否代替實驗課?增加實踐課后給教學帶來了哪些新問題?如何處理這些新問題?下面是筆者的一些體會和認識。

在“實踐理論實驗實踐理論實驗……”的教學模式中,實踐課開在理論課與實驗課之前,特別是第一節(jié)課,學生在對課程一無所知的情況下實踐什么。這實際上就是如何理解實踐課的問題。在開實踐課之前,教師必須精心策劃實踐課的內(nèi)容,實踐就是實例操作,就是實際應(yīng)用,這種操作首先是與待講課程內(nèi)容緊密相關(guān),其次是操作應(yīng)該簡單易行,再就是操作確能激發(fā)學生興趣。對于計算機類課程,任何半成品都不能完成正常的操作功能,而太復雜的成品對教學也不合適,選擇合適教學的產(chǎn)品是非常重要的。經(jīng)過一個學期的學習,學生能夠在不斷的實踐課程中反復操作、應(yīng)用、模仿、制造、創(chuàng)新出一個力所能及的計算機產(chǎn)品,這就是實踐課的主要內(nèi)容和任務(wù)。

實踐課與實驗課的區(qū)別何在?眾所周知,實驗課是“驗證”性質(zhì)的,通過重復操作事先設(shè)計好的一個有序步驟,驗證課堂所講內(nèi)容的正確性,非常致命的是這種驗證往往是片斷性質(zhì)的,無論教師還是學生要將所有的片斷有機組成一個整體的概念其實真不是件容易的事。另外,實驗僅需要部分與課程本身相關(guān)的知識,而實踐需要的是更加廣泛的知識,實驗的結(jié)果是單一的,單一的結(jié)果能提高學生的學習興趣嗎?實踐的結(jié)果是多變的,夾雜著同學之間與教師之間相同的和不同的理解。實驗課一般不含產(chǎn)品設(shè)計、產(chǎn)品制造的概念,因而仍然與實際應(yīng)用脫離較遠,實踐課通過模仿與創(chuàng)新努力制造一個產(chǎn)品,直接應(yīng)用于實際。

實踐課能否代替實驗課?不能。實驗課緊密聯(lián)系本課程本單元的教學內(nèi)容,經(jīng)過精心設(shè)計的實驗課程,易于學生在短時間內(nèi)對所學知識點進行驗證,缺點是知識點孤立,不易與相關(guān)知識點發(fā)生聯(lián)系,而孤立的知識點很難完善地與實際情況聯(lián)系起來,造成理論脫離實際的尷尬教學局面,因而“教者難教,空洞無物”,“學者難學,不知用處”。用實踐課的方法來彌補實驗課的這一缺陷,使教者有實例,學者直接看到知識點的用途,就會營造出“教者并非是從書本到書本,而是直接從書本到實際”,“學者并非是簡單的完成作業(yè),而是要聯(lián)系實際解決問題”的生動活潑的教學氣氛。學者主動了,自然就會“教者易教,學者易學”了,而這正好解決了我們目前教學中存在的問題。

增加實踐課后帶來的問題:實踐、講授與實驗課時比例如何分配?教學課時是否需要增加?與本課程相關(guān)的前驅(qū)課程和后繼課程有何變化?實踐課中輔助知識點怎么提供?課程整個進程中實例怎么安排?諸如此類的問題還有許多,但最關(guān)鍵的還是要具體課程具體對象具體分析。一般來說,基礎(chǔ)課不需要安排實踐課,專業(yè)基礎(chǔ)課可少量安排一些實踐課,專業(yè)課則應(yīng)該有比較多的實踐課。教學課時應(yīng)該作調(diào)整,但總課時不會增加。前驅(qū)與后繼課程基本上不需要變動,重復的實踐課程要有深度變化。輔助知識點有些是已經(jīng)學過的,有些是待學的,有些是在校期間不可能在課程中學到的,它們主要由輔導教師提供給學生,同時也鼓勵學生自己通過資料解決。提供的實例不能偏離課程太遠,不能太難太大,實例可以是一個,也可以是多個,可以是從頭到尾完成一個完整的產(chǎn)品,也可以是做某個新產(chǎn)品的某一部分或一個環(huán)節(jié)。

三、在“匯編語言程序設(shè)計”課程中的運用

在各門計算機課程中,“匯編語言程序設(shè)計”是最令所有的教師和學生頭疼的一門課程,為什么會這樣?我們分析主要有以下幾個原因。

1. 對“匯編語言程序設(shè)計”課程的難度認識不足

在學習“匯編語言程序設(shè)計”課程之前,學生往往會憑借學習“C/C++高級語言程序設(shè)計”課程的經(jīng)驗類比“匯編語言程序設(shè)計”,誤以為重點在于掌握匯編指令功能與格式進而用它們組合出典型的程序結(jié)構(gòu),部分同學甚至會努力尋找和理解匯編“語句”,結(jié)果在課程一開始接觸計算機原理的部分內(nèi)容時總是經(jīng)歷一段由漫不經(jīng)心到盲然無策的過程,之后剛進入狀態(tài)又被接口驅(qū)動打得昏昏沉沉,整個的學習過程亦常痛苦。殊不知“匯編語言程序設(shè)計”雖然也是“程序設(shè)計”,但與“高級語言程序設(shè)計”是完全不同的“程序設(shè)計”,其不同之處在于“高級語言程序設(shè)計”是真正獨立的語言,而“匯編語言程序設(shè)計”是非獨立語言,必須結(jié)合具體機型才有意義。也就是說,學習“高級語言程序設(shè)計”不學習計算機硬件結(jié)構(gòu)也可進行,而學習“匯編語言程序設(shè)計”必須首先了解計算機硬件結(jié)構(gòu),而且不是一般性了解,對這一點認識不足是直接導致“匯編語言程序設(shè)計”課程失敗的主要原因。

2. 開課的課序有問題

通常認為學習“軟件”類課程所需的基礎(chǔ)知識來源較為廣泛,而“硬件”類課程所需的基礎(chǔ)知識則較專業(yè),因此大多數(shù)院校都將“匯編語言程序設(shè)計”課程作為“計算機原理”課程的前導課程,但事實上業(yè)內(nèi)人士都十分清楚這兩門課程彼此相依的親密關(guān)系,因此筆者在講述“匯編語言程序設(shè)計”課程相關(guān)計算機原理部分的知識時從不以夠用為度,而是盡力講到位,只有這樣,“匯編語言程序設(shè)計”課程才能順利進行。

3. 教學方法需要改變

歷來的“匯編語言程序設(shè)計”課程采用“理論實驗理論實驗……”的教學模式,學生被動地接受并片斷性地運用所學知識解決實際問題,綜合運用所掌握知識和技能分析解決問題的能力得不到鍛煉,使課程陷入“就事論事”的尷尬局面,改變這種情況可采用各種辦法,改變現(xiàn)在的教學方法也是非常值得探討的辦法之一。

4. 實驗條件

歷來的“匯編語言程序設(shè)計”課程均以80X86系列芯片作為核心硬件模型并以此模型進行各種實驗操作,這種實驗條件存在幾個明顯的不足:實驗項目確定,學生可發(fā)揮性受到制約;需要專門的實驗室環(huán)境,限定了學生的實驗時間;所有實驗項目與實際應(yīng)用都偏離較遠,不利于培養(yǎng)學生解決實際問題的能力。無疑這種實驗條件是需要改變的,但如何改變呢?

5. 學無所用,學生學習積極性不高

由于“匯編語言程序設(shè)計”課程中沒有頗具說服力的實例擺在學生面前,因此“匯編語言是計算機技術(shù)的重要知識體系”、“匯編語言是快速、高效的程序設(shè)計語言”、“匯編語言是在實際工作中應(yīng)用極其廣泛的語言”等等說教就成為不被學生認可的空話,從而一開始便抑制了學生學習“匯編語言程序設(shè)計”課程的積極性。

面對上述一些問題,筆者在“匯編語言程序設(shè)計”課程教學中運用了“實踐理論實驗實踐理論實驗……”的教學模式,采用凌陽十六位單片機SPCE061A作為硬件實驗?zāi)P停慕M織了一學期的“匯編語言程序設(shè)計”實踐課程,結(jié)合以往的教學慣例,比較有效地調(diào)動了學生學習“匯編”的興趣。筆者在實踐課中的具體做法是:

將一些有代表性的應(yīng)用匯編語言的產(chǎn)品和往屆生的作品通過參觀、講解、解剖、試玩等方法介紹給學生,如聲控玩具汽車、機器人、報時鐘、復讀機、電梯模型等,然后給學生提出課程的任務(wù)和要求,如必須獨立或合作完成一個作品,從開始計劃到中間實施步驟到最后完成調(diào)試,之后學生的每一次實踐課都按既定計劃執(zhí)行,實踐課程中與匯編相關(guān)的問題由學生通過課堂教學和實驗課解決,輔助知識由任課教師和輔導教師幫助解決。借助于實踐課,解決了“匯編語言程序設(shè)計”課程中“軟”“硬”結(jié)合、條件不充分、學無興趣等諸多問題,學習實效大大提高。

篇6

關(guān)鍵詞: C 語言;匯編語言;混合編程

中圖分類號:TP313 文獻標識碼:A 文章編號:1006-4311(2014)24-0231-02

0 引言

匯編語言是一種面向機器的語言,其優(yōu)點是運行速度快,占用存儲空間小,可直接對硬件進行控制。缺點是編寫、調(diào)試困難、移植性差。C語言簡潔、靈活、庫函數(shù)豐富、調(diào)試方便、移植性好,目前已被廣泛地應(yīng)用于系統(tǒng)軟件和應(yīng)用軟件的開發(fā)中,為了發(fā)揮各自優(yōu)勢,取長補短,采用混合編程。大部分程序,如界面、人機接口(外殼程序)、數(shù)據(jù)處理等用C語言編寫,以提高程序的開發(fā)效率。而某些程序,如需要縮短程序的運行時間,或需要對硬件進行直接操作,或需要利用操作系統(tǒng)的某些功能模塊,或頻繁使用的程序、或需要占用內(nèi)存空間少的程序(內(nèi)核程序),則用匯編編寫,以提高程序的運行效率。

1 嵌入式匯編

嵌入式匯編也稱行內(nèi)匯編,源程序中直接插入?yún)R編語句。匯編語句可直接訪問C程序中定義的常量、變量、函數(shù)。不必考慮二者之間的接口,方便編程。

1.1 嵌入式匯編語句的格式

格式:asm操作碼 操作數(shù)[;或換行]

其中:操作數(shù)可以是匯編語句中的立即數(shù)、寄存器、表達式等還可以是C中的常量、變量、標號等。分號;是匯編語句結(jié)束符,并非注解,要用注解,用C的注解。如下例

所示。

1.2 匯編語句訪問C的數(shù)據(jù)

嵌入的匯編語句可以訪問C語言程序中的任何標識符,包括變量、常量、標號、函數(shù)名、寄存器變量、函數(shù)參數(shù)等。如下例所示。

1.3 匯編語言與C語言接口規(guī)則

1.4 編譯過程

命令行鍵入命令:TCC-B-Iinclude-Llib 文件名.c即可. TCC會自動調(diào)用TASM.EXE和TLINK.EXE,并且TLINK.EXE能正確的找到需要的.obj和.lib文件,要保證TC目錄下存在TASM.EXE文件。如果單步編譯,可能會碰到很多的問題,主要是TLINK.EXE不會自己去找.obj和.lib文件。該命令的功能是:.C編譯TCC.ASM匯編TASM.OBJ連接TLINK.EXE。

2 Turbo C模塊連接方式

C、匯編程序各自編程,各自編譯,然后連接在一起。

2.1 匯編語言與C語言接口規(guī)則

①命名約定:匯編的名字前加一個下劃線,C的名字前不加下劃線(編譯后內(nèi)部自動加),以確保兩個模塊內(nèi)部名字一致。

3 結(jié)語

混合編程,主要涉及接口,匯編調(diào)C的函數(shù)、全局變量。C調(diào)匯編的函數(shù)、變量。本文對此做了淺述。

參考文獻:

[1]譚浩強.C語言程序設(shè)計[M].清華大學出版社,2004.

篇7

關(guān)鍵詞:匯編語言;課程;教學;學時

中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2012)22-5414-02

Focus on the Difficulty of the Assembly Language Teaching, and Improve the Teaching Effect

ZHANG You-wei, WANG Yong-hong, SI Bin-bin, MA Deng-wei

(Information Engineering University, Zhengzhou 450052, China)

Abstract: The assembly language is a very important major basic courses of computer science, but its closely combination with the hardware and the shortening of the teaching time, lead to some difficulties for teaching this course. This paper analyzes the reason for the difficulty of the course teaching, and also search for feasible ways to improve the teaching effectiveness.

Key words: assembly language; course; teaching effectiveness; teaching hours

“匯編語言”是計算機專業(yè)學員必修的一門專業(yè)基礎(chǔ)課程,對培養(yǎng)學員程序設(shè)計能力,理解計算機工作原理,從事底層軟件開發(fā)和軟硬件結(jié)合的項目開發(fā)均具有非常重要的應(yīng)用。但是,這門課程又是學員感到比較難學的一門課程,習慣了采用面向?qū)ο蠡蚪Y(jié)構(gòu)化程序設(shè)計思想的高級語言程序設(shè)計方法,對匯編語言這種偏“機器化”的低級語言編程方法,學員們一時難以理解和接受,再加上有較多的語法規(guī)則和指令尋址方式需要記憶,語言編程環(huán)境又不熟練,使得學員在一開始學習時便陷入茫然狀態(tài)。因此,就本門課程如何提高教學質(zhì)量,增強教學效果,提高學員在一些底層軟件和軟硬結(jié)合方面的編程能力,是一個值得重視的問題。該文結(jié)合作者過去幾年的教學實踐,就目前計算機專業(yè)匯編語言教學學時壓縮到了40學時,我們總結(jié)了一些可行的、比較好的方法。

1匯編語言教學難點分析

1.1指令系統(tǒng)復雜

匯編語言的指令是用一些具有相應(yīng)含義的助記符來表達的,雖然有助于記憶,但是一般處理器的指令集少則幾十條多則上百條,所有這些指令要在幾節(jié)課內(nèi)全部講完,要求學員在這么短的時間內(nèi)準確記憶這么多條指令幾乎是不可能的,更不用說讓其理解了??扇绻噶钫莆盏貌粔蚝茫瑢W員對大部分指令都感到陌生,在進行程序設(shè)計時就會感到無從下手,甚至讀程序時也會覺得“云里霧里”,不理解程序的含義。這就猶如寫作文一樣,基本的語法不會,造句不成型,豈能寫出好的文章?

1.2教學時間縮短

計算機專業(yè)的課程更新速度快,隨著新知識的不斷涌入,不可避免要開設(shè)一些新的課程。例如:幾年前我們計算機專業(yè)還沒有開設(shè)Linux操作系統(tǒng)、嵌入式軟件開發(fā),網(wǎng)絡(luò)新技術(shù)、Oralc數(shù)據(jù)庫等課程,現(xiàn)在則新增加了這些課程,需要安排相當?shù)慕虒W學時。而對于一些象匯編語言這樣的基礎(chǔ)課程又不能丟掉,所以只能縮短課程教學學時。這使得教員只能講授前面章節(jié)中的硬件基礎(chǔ)和指令這些比較枯燥的內(nèi)容,而許多比較有意義并且能讓學員產(chǎn)生學習熱情的內(nèi)容被刪除了,比如:圖像顏色和動畫程序設(shè)計的教學內(nèi)容。同時隨著實驗學時的減少,造成學員往往只能做一些非常基礎(chǔ)性的實驗,而一些能讓學員有“成就感”的實驗,如定時發(fā)聲、動畫顯示等實驗已經(jīng)沒有時間安排了。這些均造成學員覺得這門課枯燥難學,沒有耐性和興趣學習,更不知道學了這門語言能干什么。

1.3學員基礎(chǔ)薄弱

我們在教學過程中,發(fā)現(xiàn)許多學員盡管學過C或C++,但是缺乏調(diào)試程序的基本能力,當編譯或運行過程中出現(xiàn)錯誤時大多數(shù)學員只會對照已有的源代碼來查找錯誤或請教員一起幫忙調(diào)試,不知道如何通過單步跟蹤和設(shè)置斷點來調(diào)試查找錯誤。即使有些學員具備一些調(diào)試能力,他們的辦法也只是在必要的地方加一些輸出語句來觀察變量的值,不知道如何在調(diào)試環(huán)境中查看變量和內(nèi)存單元的值。因此,對于“更加復雜”(只是文本界面多些,用多了自然就熟悉了)的匯編調(diào)試環(huán)境,他們更加找不到解決問題的辦法。再加上匯編語言的輸入和輸出需要用到中斷,不像高級語言那么方便就能輸出一個變量的值,學員對于在內(nèi)存當中直接觀察變量的值還不適應(yīng),所以當出現(xiàn)問題時,很少有學員能改正自己程序中的錯誤。

1.4教學內(nèi)容陳舊

和大多數(shù)高校一樣,我們選用的教材是清華大學沈美明主編的《IBM-PC匯編語言程序設(shè)計》,該教材以8086指令系統(tǒng)為主來進行介紹,實習實驗環(huán)境主要還是DOS。然而這些教學和實驗內(nèi)容與實際情況相距甚遠,我們知道不同的機器指令系統(tǒng)不同,而且隨著嵌入式處理器的廣泛應(yīng)用,用X86的指令系統(tǒng)編程的范圍越來越少,這使得學員在學完這門課后到實際編程環(huán)境中還要自學相關(guān)處理器的指令集,比如ARM、MIPS、PowerPC等。對于實驗環(huán)境的選擇,大多數(shù)還是在DOS環(huán)境,由于現(xiàn)在的機器完全是Windows操作系統(tǒng),“圖形化”的編程界面,學員普遍對DOS這種文本的編程、調(diào)試環(huán)境不熟悉,調(diào)試結(jié)果難以出現(xiàn),實驗結(jié)果感覺很抽象,使得學員在學習過程中產(chǎn)生一些畏難情緒。

2提高教學效果的可行方法

2.1采用多媒體教學

如果有可能,最好采用能夠邊上課、邊實驗、邊演示的多媒體教室,使用多媒體課件教學。通過文字圖像、聲音、動畫來激發(fā)學員的學習熱情,增強教學效果。充分利用多媒體的功能,模擬程序指令的執(zhí)行過程,著重描繪教學重點和難點。我們可以在教室的機器上安裝調(diào)試環(huán)境,在上課過程中對一些簡單指令執(zhí)行使用調(diào)試環(huán)境進行演示,給學員一個了解“機器世界”的窗口,真正理解機器(CPU)對指令的執(zhí)行過程。這樣可以使學員快速入門,對學習本課程建立初步的信心。

2.2精心選擇教材

教材是提高教學質(zhì)量的基礎(chǔ)和前提,是學員系統(tǒng)學習知識的依據(jù)。一本好教材對于培養(yǎng)學員自學能力和獨立思考能力起著積極的作用。學員可以依據(jù)教材理解課堂教學內(nèi)容,深入了解本學科各個領(lǐng)域的知識。對于清華大學的《IBM-PC匯編語言程序設(shè)計》這本教材,雖然它的內(nèi)容全面而且豐富,但是由于教學學時的減少,導致很多內(nèi)容特別是應(yīng)用方面的內(nèi)容無法講解,因此很多內(nèi)容只能作為自學內(nèi)容,在教學中我們發(fā)現(xiàn)一本教材如果有較多的內(nèi)容不講或者作為自學內(nèi)容,學員會“錯誤地”認為這門課不重要或太難學。所以我們建議更換教材,不再以8086指令系統(tǒng)為基礎(chǔ),考慮到嵌入式系統(tǒng)的發(fā)展趨勢,可以加入一些RAM指令集、32位匯編和AT&T匯編的內(nèi)容,為后續(xù)的嵌入式系統(tǒng)及其其它相關(guān)課程打下一些基礎(chǔ)。

2.3優(yōu)化教學內(nèi)容

目前,這門課程主要的教學內(nèi)容有:基本知識(數(shù)、計算機組織),編程工具(指令系統(tǒng)、尋址方式),編程方法(三種結(jié)構(gòu)、過程)和應(yīng)用(發(fā)聲、圖形程序設(shè)計)。由于學時數(shù)的減少,我們建議壓縮或取消發(fā)聲、圖形程序設(shè)計這部分的內(nèi)容,如果教員覺得非常必要講,可以安排在課程設(shè)計部分(不占課程教學學時)。另外鑒于目前網(wǎng)絡(luò)安全、網(wǎng)絡(luò)病毒泛濫的嚴峻形式,建議在應(yīng)用部分教學中適當增加病毒程序設(shè)計的內(nèi)容。對于前三部分的內(nèi)容也可根據(jù)實際情況進行適當壓縮。與此同時,匯編語言是作為嵌入式系統(tǒng)開發(fā)與應(yīng)用和嵌入式系統(tǒng)課程設(shè)計的專業(yè)基礎(chǔ)課,結(jié)合計算機專業(yè)課程設(shè)置,建議在最后余留四到六學時的時間介紹一下ARM指令系統(tǒng),將x86指令系統(tǒng)和ARM指令系統(tǒng)進行對比學習,為后續(xù)課程的學習打下基礎(chǔ)。

2.4注重教學實踐

匯編語言課程一般安排在大三的第一學期開始,40學時的課程在學期前半程就結(jié)束了。雖然學時數(shù)縮短了,我們還是不能忽略本門課程的實踐這一重要的環(huán)節(jié)。因為學習一門語言課,其最直接的目的是用它去編寫程序。因此,建議在課程結(jié)束后,利用后半學期業(yè)余時間給學員安排課程設(shè)計,到學期末結(jié)束并驗收結(jié)果。對課程設(shè)計的要求不能太高,我們可以先提供給學員一些案例的源代碼,比如:經(jīng)典病毒、月下情人動畫、產(chǎn)生隨機數(shù)、簡單學員成績管理系統(tǒng)、卡通小鬧鐘、文本編輯器等匯編源代碼。一方面先要求學員選擇一個案例詳細分析,給出詳細的注釋、程序設(shè)計流程、體系結(jié)構(gòu)等;然后在理解、掌握的基礎(chǔ)上,再對本案例進行修改設(shè)計出一個新的小系統(tǒng)。這種做法既能提高學員的學習積極性,又能鍛煉其讀程序、編程序的能力,而且沒有占用教學學時。

2.5優(yōu)化考核方式

傳統(tǒng)的匯編語言課程考核方式主要是實行閉卷筆試,但是大多數(shù)學員在做編程題時,普遍反映由于指令太多,要用的指令記不住,導致編程題做不出來。從近兩年的考試看,編程題得分高的學員很少。所以考試不能很好地反映出學員學習的好壞,特別是編程能力。因此建議考試形式采用:閉卷筆試50%+開卷上機編程20%+課程設(shè)計30%。這是因為匯編語言的一些基本知識還是需要筆試來考查:比如尋址方式,邏輯地址,物理地址等;上機考試可以出一些比較簡單而有代表性的題目,估計大多數(shù)學員在給定的時間內(nèi)可以做完,這樣學員不用暫時去背太多的指令(當然如果用多了就不用背了),又可以測試他們現(xiàn)場調(diào)試程序的能力;由于上機考試時間的限制,只能出一些簡單的編程題目,不能完全體現(xiàn)學員對知識的綜合運用能力,所以要通過課程設(shè)計來補充考核這方面能力,當然時間可以延長到學期末。

3結(jié)束語

壓縮學時后的匯編語言課程教學,不能只注重完成理論教學內(nèi)容,而忽視對學員編程能力的培養(yǎng)。教學過程中不僅要理論聯(lián)系實際,還要注重形象性、生動性和趣味性,幫助學員理解,培養(yǎng)他們的興趣,提高教學效果。要在現(xiàn)有的資源和條件下,盡可能地挖掘教員和學員的潛能,把匯編語言課程教與學做得更好。

參考文獻:

篇8

關(guān)鍵詞:C語言;高職;單片機

中圖分類號:G642 文獻標識碼:B

“C語言程序設(shè)計”是高職高專電子專業(yè)的專業(yè)必修課。傳統(tǒng)教學以理論為主,以學科本位的邏輯體系來設(shè)計課程的教學內(nèi)容。課程內(nèi)容沒有與高職電子專業(yè)的其他課程有機銜接,不符合高職高專技能培養(yǎng)的特點。學生在學習C語言之后,不能用之有效地解決實際問題,學生的學習積極性難以調(diào)動,因此有必要對該課程進行改革。

1 現(xiàn)狀分析

目前高等學校都把“C語言程序設(shè)計”作為理工科非計算機專業(yè)的計算機基礎(chǔ)教育課程,屬于計算機基礎(chǔ)教育課程的一部分。但課程設(shè)置并沒有考慮與其他專業(yè)課程之間的關(guān)系,沒有針對高職應(yīng)用電子技術(shù)的專業(yè)特點,成了非計算機專業(yè)學生的“計算機通識教育”課程。

雖然許多學校對“C語言程序設(shè)計”課程從教學內(nèi)容、教學手段、教學方法等方面進行了大膽的改革,把邏輯與編程解題思路(算法)放在主體地位,講解如何分析問題和解決問題;但是受“在學校里牢固掌握基礎(chǔ)知識,畢業(yè)后在實踐中積累經(jīng)驗”這種傳統(tǒng)的教學理念的影響,把培養(yǎng)學生閱讀程序、設(shè)計程序的能力,分析問題、、解決問題的能力和邏輯思維能力作為教學目標。課堂上學到的也只是用C語言解決一些數(shù)學問題,所學內(nèi)容和實際應(yīng)用相脫節(jié),認識不到“C語言程序設(shè)計”和自己專業(yè)之間的關(guān)系,學生在學習C語言之后,不能用C語言編寫為本專業(yè)服務(wù)的應(yīng)用軟件。特別對高職高專電子專業(yè)學生來說,C語言的知識成了他們專業(yè)知識結(jié)構(gòu)中的一個“孤島”。

2 改革的必要性

C語言是影響深遠的、傳統(tǒng)的、優(yōu)秀的面向過程的結(jié)構(gòu)化程序設(shè)計語言。C語言功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、代碼轉(zhuǎn)換質(zhì)量高。C語言方便進行模塊化軟件設(shè)計,還可以實現(xiàn)C語言和匯編語言的混合編程。C語言既具有高級語言的優(yōu)點,又具有低級語言的許多特點,能像匯編語言那樣直接利用CPU的硬件特性進行程序設(shè)計。既可以編寫應(yīng)用軟件,又可以編寫系統(tǒng)軟件。和匯編語言相比,C高級語言程序設(shè)計快、可讀性、可移植性和可維護性好。一般情況下,完成同樣的任務(wù),使用C高級語言比用匯編語言可提高工作效率5-10倍,在調(diào)試階段更容易體會到這一點,因此C語言特別適合單片機的開發(fā)。嵌入式系統(tǒng)中使用的嵌入式操作系統(tǒng)絕大部分也都是以C高級語言為基礎(chǔ)的,很多直接將源代碼提供給使用者。目前在單片機應(yīng)用領(lǐng)域,C高級語言越來越受到人們的重視。用C語言進行單片機程序設(shè)計已經(jīng)成為單片機開發(fā)的一個主流,是單片機開發(fā)與應(yīng)用的必然趨勢。

單片機課程是應(yīng)用電子技術(shù)及相關(guān)專業(yè)的一門重要的專業(yè)主干課,在專業(yè)基礎(chǔ)課和其他專業(yè)課方面起著重要的橋梁作用。它涉及到的基礎(chǔ)理論知識較廣,應(yīng)用范圍廣,是一門實踐性、工程性很強的技術(shù)課程,在電子技術(shù)及相關(guān)專業(yè)課程中群中占有十分重要的地位。電子專業(yè)的學生普遍將單片機用于課程設(shè)計、畢業(yè)設(shè)計和電子產(chǎn)品設(shè)計大賽等許多實踐環(huán)節(jié)。單片機應(yīng)用也是學生將來在電子類公司或電子行業(yè)工作的最基本的技能。“單片機原理與應(yīng)用”課程都是基于匯編語言的,高職高專學生很難應(yīng)用匯編語言去搞程序設(shè)計,學生學到的單片機知識不能得到應(yīng)用。

高等職業(yè)教育的培養(yǎng)目標是:培養(yǎng)既有一定理論基礎(chǔ)又有較強實踐能力,在生產(chǎn)服務(wù)第一線工作高層次的實用型、技術(shù)型人才,它不同于一般本科院校的學術(shù)型、工程型人才的培養(yǎng)目標。就高職應(yīng)用電子技術(shù)專業(yè)而言,它培養(yǎng)強電弱電相結(jié)合,以弱電為主,并能熟練應(yīng)用電氣技術(shù)、計算機技術(shù)和控制技術(shù)等現(xiàn)代科學技術(shù),具有較強實踐能力的技術(shù)管理人才。強調(diào)應(yīng)用性、實用性是高職教育的特色,教學內(nèi)容突出基礎(chǔ)理論知識的應(yīng)用和實踐能力培養(yǎng)的原則,以應(yīng)用為目的,以“必需、夠用”為度,加強針對性和實用性。

因此,高職應(yīng)用電子專業(yè)的“C語言程序設(shè)計課程”應(yīng)不同于本科相應(yīng)專業(yè),也應(yīng)不同于高職其他專業(yè)?!癈語言程序設(shè)計”課程的開設(shè)應(yīng)緊扣本專業(yè)的特點,為本專業(yè)的培養(yǎng)目標服務(wù)。如果將“C語言程序設(shè)計”變成“單片機C語言程序設(shè)計”,學生通過本課程的學習掌握單片機C語言程序設(shè)計方法,達到獨立利用C語言編寫單片機應(yīng)用程序的目的。將C語言“知識孤島”和單片機“知識孤島”連接起來,結(jié)合所學其他專業(yè)知識,使學生學會應(yīng)用單片機開發(fā)電子系統(tǒng)的基本方法。如果學生以后需要用C語言或其他高級語言開發(fā)通用計算機系統(tǒng)的應(yīng)用軟件或系統(tǒng)軟件,有了“單片機C語言程序設(shè)計”的基礎(chǔ),可以觸類旁通,很容易掌握其他高級程序設(shè)計語言。這也符合從特殊到一般,再從一般到特殊的認知規(guī)律。

3 課程改革設(shè)想:

3.1 課程內(nèi)容的改革

把“C語言程序設(shè)計”置換為“單片機C語言程序設(shè)計”,放在“單片機原理與應(yīng)用”課程之后開設(shè),將“計算機基礎(chǔ)教育”課程變成“單片機開發(fā)技能”課程。課程內(nèi)容適用于C高級語言的初學者,包括數(shù)據(jù)類型、運算符和表達式、數(shù)組、指針和函數(shù)、程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)、程序設(shè)計基本知識和單片機的C編程等內(nèi)容。對C語言中較難或單片機程序不常使用的內(nèi)容,比如多維數(shù)組、指向指針的指針、鏈表等進行刪減。相關(guān)例題應(yīng)本著“深入淺出,突出實用”的指導思想,難度應(yīng)與高職高專學生的基礎(chǔ)相適應(yīng),算法不要過于復雜。單片機的C語言編程部分主要應(yīng)包括中斷、定時器/計數(shù)器、串行口、鍵盤和顯示等相關(guān)應(yīng)用,適當包含少量可編程芯片的應(yīng)用。所選內(nèi)容應(yīng)體現(xiàn)先進性、實用性和技能培養(yǎng)的特點,拋棄一些過時或不實用的內(nèi)容,把提高學生的職業(yè)技能放在突出的重要位置。整門課程應(yīng)將單片機和C語言有機結(jié)合起來,強調(diào)知識點在單片機程序設(shè)計中的應(yīng)用,體現(xiàn)“單片機C語言”的特色,避免把課程內(nèi)容分為“C語言程序設(shè)計”和“單片機C編程”兩部分。

3.2 編譯開發(fā)環(huán)境

以80C51系列為基礎(chǔ),開發(fā)環(huán)境選擇德國KeilSoftware公司的Keil uVision集成開發(fā)環(huán)境(當前版本是uVision3)。這是一個基于Windows的開發(fā)平臺,集成了編輯器、項目管理器、Cx51編譯器、Ax51宏匯編器、BL51/Lx51連接定位器和調(diào)試器,用戶群極為龐大,符合教學特點的典型性。其中Cx51是專為80C51單片機設(shè)計的C語言編譯器,生成的程序代碼運行速度高,存儲空間小。KeiluVision還提供了強大的項目管理功能,可以十分方便地進行結(jié)構(gòu)化多模塊程序設(shè)計,特別是Keil提供的純軟件模擬仿真功能(也支持硬件目標板在線仿真),非常適合教學使用。Keil調(diào)試器支持斷點管理和程序代碼的多種 執(zhí)行方式(全速、單步、執(zhí)行到指定行等)。在調(diào)試狀態(tài)下有寄存器窗口、存儲器窗口、觀察窗口和命令窗口,用于程序執(zhí)調(diào)試過程中顯示單片機寄存器、存儲器、局部變量和觀察點的狀態(tài)和輸入各種調(diào)試命令。Keil uVision的集成功能(Peripherals)菜單可以打開中斷系統(tǒng)、I/O接口、串行口、定時器計數(shù)器等狀態(tài)窗口,通過這些狀態(tài)窗口可以觀察軟件仿真結(jié)果。

Keil uVision可以與PROTEUS整合構(gòu)建單片機虛擬實驗室。PROTEUS是目前世界上最先進最完善的嵌入式系統(tǒng)設(shè)計與仿真平臺,可以實現(xiàn)數(shù)字電路、模擬電路及微控制器與外設(shè)組成的混合電路系統(tǒng)仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計等全部功能。由于PROTEUS軟件包逼真、真實的協(xié)同仿真功能,得到了包括劍橋在內(nèi)的眾多大學用戶的認可,作為電子學或嵌入式系統(tǒng)的課程教學、實驗和水平考試平臺。Keil uVision與PROTEUS通過設(shè)置聯(lián)機調(diào)試單片機系統(tǒng),在PROTEUS中完成單片機系統(tǒng)的電路原理圖繪制后,在Keil uVision集成開發(fā)環(huán)境中進行程序設(shè)計、項目的創(chuàng)建、編譯鏈接和調(diào)試,同時可在PROTEUS查看直觀的結(jié)果(如鍵盤輸入和LCD顯示等)。

3.3 教學方式的改革

高職教學應(yīng)該是基礎(chǔ)和技能的教學同步進行,甚至先教技能再教理論,在不斷實踐中掌握技能,在技能學習中提高基礎(chǔ)理論。在高級語言程序設(shè)計教學中,不能期望高職學生對每一個算法都理解。一些太復雜的算法、單片機應(yīng)用系統(tǒng)中常用芯片的驅(qū)動程序,可以以函數(shù)庫或軟件包的形式直接提供給學生,供學生在程序設(shè)計中調(diào)用,降低理論教學難度。

確立以學生為中心的教學理念。從學生實際出發(fā),以學生為本,采用多樣化、層次化的教學方法,貫徹循序漸進、深入淺出的原則。學生沒有高級語言程序設(shè)計的基礎(chǔ),在“單片機C語言程序設(shè)計”教學中要注意分散難點,縮小臺階。在內(nèi)容體例的設(shè)計上以實用為主,拋棄過多的語法細節(jié)和非通用的或?qū)嶋H用途很少的語言特性,理出重點和教學主線;采用一體化教學方法,以程序樣例為主實施教學。淡化語法教學,以程序設(shè)計帶動基本語法的學習。

上機實驗是掌握單片機C語言程序設(shè)計的必要手段。不能簡單地認為上機實驗只是輔的教學。程序設(shè)計的能力是在實際動手實踐中練就的,通過上機操作和驗證可進一步加深各種語句的理解,提高學生的編程能力。通過Keilu Vision與PROTEUS組成的聯(lián)機調(diào)試環(huán)境,熟練使用Keilu Vision和PROTEUS軟件對學生的深入學習有巨大的幫助。

篇9

摘 要:本文對計算機專業(yè)學生存在的專業(yè)課學習興趣低、自主學習能力弱以及工程能力不強等問題,進行了分析和思考。結(jié)合匯編語言程序設(shè)計課程教學的實踐體會,探索如何引入工程案例改進教學方法,激發(fā)學生專業(yè)學習的興趣,培養(yǎng)學生自主學習能力,逐步提升其工程能力。

關(guān)鍵詞:計算機專業(yè);工程案例教學;工程能力;匯編語言程序設(shè)計

基金項目:重慶市教委(113014),地方高校計算機及其相關(guān)專業(yè)工程應(yīng)用型人才培養(yǎng)模式研究與實踐(2009006);重慶理工大學校級項目(2009006),結(jié)合工程認證,創(chuàng)建新型的計算機專業(yè)教學體系。

作者簡介:徐世軍,男,教授,碩士生導師,研究方向嵌入式技術(shù);范偉,男,副教授,研究方向為計算機應(yīng)用與物聯(lián)網(wǎng);黃賢英,女,教授,碩士生導師,研究方向計算機應(yīng)用。

1 背景

計算機科學與應(yīng)用技術(shù)的發(fā)展是高新技術(shù)的主要標志,如何跟上時代的發(fā)展和社會的需求是計算機專業(yè)教學所面臨的挑戰(zhàn)。教育部計算機科學與技術(shù)教學指導委員會在2004年的《關(guān)于計算機人才需求的調(diào)研報告》中指出:計算機專業(yè)的學生仍處于應(yīng)試教育模式中,實踐課程少,動手能力不強,導致學生畢業(yè)后競爭力不強。隨著近年來高校招生規(guī)模的擴大,學生綜合素質(zhì)不斷下降;有些問題顯得更加突出,如:學生普遍學習能力較弱、缺乏學習的熱情,部分學生對專業(yè)不感興趣,甚至厭學。

工科畢業(yè)生缺乏工程背景、動手能力弱,被認為是當前大學教育的首要“弊病”。在擔任計算機專業(yè)教學工作之前,本人一直在企業(yè)從事工程設(shè)計和產(chǎn)品研發(fā)工作,這也使我有機會從社會需求和大學教學兩個不同的角度去觀察和思索一些問題。從社會需求角度去觀察大學畢業(yè)生,你會發(fā)現(xiàn)他們大多存在自主學習能力差、專業(yè)知識面窄(甚至除專業(yè)書本外一無所知)、動手能力差、思維僵化、方法能力和社會能力嚴重欠缺等不足。而高校教學的主要方法仍然是傳統(tǒng)的以理論知識灌輸為核心,力求學生能全面領(lǐng)會和掌握主要知識點。即使談到教學改革,很多學校的主要辦法還是把教學計劃排得更滿,讓學生學得更多、更細。從本質(zhì)上講,這仍然是應(yīng)試教育思維模式的一種延續(xù)[4]。

就計算機專業(yè)教材而言,多數(shù)是原理性、條款式、菜單型論述結(jié)構(gòu),內(nèi)容大都比較抽象和枯燥。若課程教學仍沿用以教師為中心、以理論灌輸為主、輕學生自主動手參與的傳統(tǒng)教學模式,將很不利于激發(fā)學生的學習興趣、調(diào)動其主動學習的積極性,當然更不談不上培養(yǎng)學生的工程能力。

引導其學習興趣、培養(yǎng)自主學習的能力從而提高教學效果,是教學改革的關(guān)鍵;如何采用更有效的課堂教學的形式,逐步培養(yǎng)其動手能力,也已經(jīng)成為計算機各門專業(yè)課程都必須進行反復思考和不斷改進的重要課題。

2 改進思路

究其原因,是我們在教學過程中很少注意去區(qū)分和思考“科學研究”和“工程技術(shù)”的差異問題。在實際工作中,社會對從事“科學研究”和“工程技術(shù)”的人員素質(zhì)和能力的要求是有很大差別的??茖W研究

往往是專注于某個專業(yè)并從某個專業(yè)領(lǐng)域入手,遵循系統(tǒng)、嚴密的理論推演,往往是由個人完成的;而工程技術(shù)需要的是綜合性知識和能力(有的工程甚至是憑一種感悟),一個具體的工程技術(shù)問題,大多不是一門專業(yè)學科知識所能解決的,需要多學科知識的綜合應(yīng)用。工程的許多條件常常是動態(tài)變化的,工程問題的解決更象是一場開卷考試――思路和方法更重要。工程更注重是團隊行為(管理和協(xié)調(diào)),成員的協(xié)作精神常常決定了工程的成敗??茖W要求嚴謹和一絲不茍,而工程則注重對全局把握(可能會犧牲局部)和利害的權(quán)衡取舍[1]。因此,所謂“工程能力”實際上就是對上述“工程技術(shù)”素質(zhì)要求的綜合。

“授之以魚,莫若授之以漁”。我們要清楚地認識到,工程能力的培養(yǎng)僅靠傳授科學知識是遠遠不夠的,它更加強調(diào)對學生思路和方法的訓練,讓學生學會學習、學會思考、才能真正解決實際問題。簡言之:學生工程素質(zhì)和能力的培養(yǎng),就是通過各種具體工程案例教學使學生盡早學會用綜合的、全局的、動態(tài)的思維方法去發(fā)現(xiàn)問題、分析問題和解決問題,全面提高學生的專業(yè)能力和社會能力[3]。

3 具體方法

匯編語言程序設(shè)計課程的專業(yè)性、綜合性強,涉及的知識點多,學生普遍反映抽象難懂,不易掌握。因為匯編語言和機器的體系結(jié)構(gòu)結(jié)合緊密,使用者必須對計算機組成、硬件控制和指令解釋過程有比較清晰的理解和認識,因此學生在學習中容易產(chǎn)生厭煩情緒,對匯編語言的學習熱情普遍不高。針對這些特點,筆者注意從以下幾個方面入手進行教學形式的改進和嘗試。

1) 讓學生盡早領(lǐng)會匯編語言的特點及應(yīng)用領(lǐng)域,明確學習目標、激發(fā)學生的學習興趣。

在第一堂課,向?qū)W生播放一組經(jīng)過精心準備,且學生感興趣的介紹嵌入式產(chǎn)品功能及應(yīng)用的視頻短片,盡可能向?qū)W生展示部分實物的內(nèi)部結(jié)構(gòu),并重點說明其控制方法和運行機理。比如:汽車電子部件(AT組件、電噴、電動門窗、防盜報警、輔助轉(zhuǎn)向等),智能儀器、儀表(智能電表、溫度調(diào)節(jié)儀、自動售貨機)以及一些智能小家電產(chǎn)品(智能小風扇)等等;還可以找適當?shù)臅r機給學生介紹一下計算機病毒的工作機理。要讓學生明白,在某些特定的領(lǐng)域和場合,匯編語言具有不可替代的地位。在第一堂課上,就明確地提出學習本門課程要達到的目標,特別是學習后可以解決哪些實際工程問題。

通過實例分析讓學生體會到匯編語言特點:它是一種最接近計算機核心的語言,可以最大限度地發(fā)揮計算機硬件的性能,是一種能夠利用計算機的硬件特性直接控制計算機硬件的語言。用匯編語言編寫的小程序的速度通常要比高級語言快幾倍、幾十倍、甚至成百上千倍。同時,提醒學生注意:學習匯編語言的好處――有利于理解軟件和硬件的關(guān)系,學會如何有效地設(shè)計數(shù)據(jù)結(jié)構(gòu),能讓計算機存儲空間更少、處理速度更快,能更有效地提高調(diào)試能力。要從思想上改變學生“重軟輕硬”的傾向,明確告訴他們,如果想真正地控制自己的程序,只知道源代碼級的調(diào)試是遠遠不夠的。

2) 在明確學習目標和具體工程應(yīng)用之后,讓學生針對“如何實現(xiàn)這些目標(特別是工程應(yīng)用問題)”,各自提出自己認為課程中應(yīng)學習的知識點和方法,最后由教師加以總結(jié)和歸納,形成“匯編語言程序設(shè)計”課程的基本教學和實驗內(nèi)容。

讓學生“帶著問題學習、帶著問題實驗”是培養(yǎng)學生學習興趣、提高學生工程能力的好辦法,只有學生的全身心投入才可能克服被動“填鴨式”教學的種種弊端。

3) 抓住課程特點,使用更直觀生動的教學形式讓學生更容易理解和掌握。

針對匯編語言和機器體系結(jié)構(gòu)結(jié)合緊密、抽象、難于理解的問題,在講解指令系統(tǒng)時,一定要與CPU功能結(jié)構(gòu)圖、存儲器結(jié)構(gòu)示意圖結(jié)合起來,把地址、數(shù)據(jù)和控制信息的傳遞過程通過圖示進行分解。并且在實驗課中,專門設(shè)計若干段由各類指令組成的小程序?qū)嶒?,讓學生反復使用DEBUG工具演示指令流程,仔細跟蹤每條指令運行后各個寄存器和存儲器的變化狀況,列表并作好記錄,讓學生自己對指令功能進行理解、分析和總結(jié),這也是訓練學生調(diào)試程序和發(fā)現(xiàn)邏輯錯誤非常有效的手段。

4) 在指令系統(tǒng)學習完以后,就可以引入完整的工程案例進行教學。通過選取真實具體的工程案例,使學生學會用跨專業(yè)、綜合的、全局的思維方法去觀察問題、分析問題和解決問題。

實際上,要選擇一個合適的工程案例是非常困難的,不但要考慮工程項目本身的特點,而且要考慮學生的實際領(lǐng)悟、消化能力。教學案例可取自實際工作中涉及的工程應(yīng)用實例(變科研工作為教學資源),要強調(diào)實用性,兼顧趣味性,這樣更能激發(fā)學生參與的積極性。教師通過案例分析,將匯編語言程序設(shè)計方法和相關(guān)專業(yè)的知識點恰當?shù)厝谌氚咐姆治龊脱菔具^程中[2]。

筆者選用了一個工業(yè)產(chǎn)品開發(fā)項目――“直流無刷電機智能控制系統(tǒng)”的研發(fā)全過程作為案例教學的主線,分步驟、分模塊地進行講解和分析。案例教學的重點包括:工程目的,工程項目的主要知識點,具體的實施步驟。同時,在案例中穿插介紹一些編程技巧和設(shè)計及調(diào)試工作的要點和難點。案例的教學可按以下層次逐步展開。

① 首先介紹項目目的、目標、實施方案和主要知識點。必須讓學生深刻地認識到任何一個項目都不是一門專業(yè)學科知識所能解決的,需要多學科知識的綜合應(yīng)用,要解決工程問題必須有開放的思維和綜合的知識。通過介紹,使學生逐步領(lǐng)會工程項目開發(fā)的步驟和基本方法。

② 提供全部匯編語言程序清單,并讓學生充分認識和消化一段時間后再進行講解,使學生建立匯編語言程序語句、結(jié)構(gòu)和形式的總體概念??傮w概念的建立,比具體的編程方法和技巧更加重要。

③ 提供全套軟件設(shè)計的程序流程圖,讓學生對照程序清單去領(lǐng)悟匯編語言程序設(shè)計的基本思路和方法。

④ 在充分消化的基礎(chǔ)上,提出若干問題讓學生自己在案例中去尋找答案,最后再由老師加以分析和總結(jié)。這些問題的提出和解決,就是處理具體工程問題的基本方法和步驟。解決問題的方法有很多,但在具體工程中必須找到最優(yōu)方案(成本低、可靠性高),如:

如何實現(xiàn)驅(qū)動電路發(fā)生短路時,系統(tǒng)在10μS以內(nèi)啟動保護(硬件中斷方式);

如何確保電機能準確地換相操作(采用定時器中斷,定時查詢換相標志);

如何用軟件準確設(shè)置MOS管上下臂的“死區(qū)(>300nS)”(采用NOP指令延時);

如何實現(xiàn)主程序和子程序以及子程序之間的參數(shù)傳遞(約定變量――存儲器法);

如何用軟件設(shè)計計數(shù)器、定時器(+1/-1、比較和循環(huán)指令)。

⑤ 在實驗課中,簡化一些條件,讓學生分組實現(xiàn)一些功能模塊:電壓/電流處理、溫度保護、調(diào)速、換相處理的子程序設(shè)計,并且,實現(xiàn)這些功能模塊的組合。通過分組編程和組合實驗,使學生初步體會到工程開發(fā)的團隊行為,并逐步學會管理和協(xié)調(diào)。

⑥ 對部分軟件進行點評和總結(jié)。

5) 另外,針對其他的一些指令應(yīng)用和編程技巧可選取適當?shù)墓こ贪咐M行專項教學和訓練。

筆者選用了一個“獵槍彈自動裝配機控制系統(tǒng)”的設(shè)計案例――裝配機共有22個工位,其中:1、3、6、9、12等5個工位分別是“彈殼、底火、發(fā)射藥、彈托、成彈”檢測工位。只要有一個檢測工位不合格,后續(xù)的裝配就不再進行,當不合格品進入第22工位(“排廢”工位)時自動剔出。先要求學生思考采用什么方法實現(xiàn)最容易,然后設(shè)計程序流程圖,最后將筆者的設(shè)計方案供大家討論。這樣,就強化了學生對AND、OR及移位指令的功能理解,并學會了如何應(yīng)用邏輯運算解決工程問題的編程技巧。

要培養(yǎng)計算機專業(yè)學生的學習興趣,還可以讓某些學生較早地參與到教師的科研工作或?qū)嶋H項目開發(fā)中,并根據(jù)學生的實際情況分配一些具有一定難度的任務(wù),也能較好地調(diào)動學生自主學習的積極性[5]。

4 結(jié)語

通過對匯編語言程序設(shè)計課程教學的一些改進嘗試,提高了學生的學習興趣,避免了其學習的盲目性,也為學生進行工程研發(fā)積累了經(jīng)驗。計算機專業(yè)系列課程的教學改革是一個系統(tǒng)工程,每門課程的實際操作中都有許多工作要做,尤其是案例教學環(huán)節(jié),筆者根據(jù)自己從事工程研發(fā)的經(jīng)驗,談了一點膚淺認識,希望能對計算機專業(yè)系列課程的教學改革有所幫助。

參考文獻:

[1] 蔡敬民,魏朱寶. 應(yīng)用型本科人才培養(yǎng)的戰(zhàn)略思考[J]. 中國高等教育,2008(12):58.

[2] 張雪蘭,譚毓安,李元章. 匯編語言程序設(shè)計課程教學改革與創(chuàng)新能力培養(yǎng)[J]. 計算機教育,2008(8):22-23.

[3] 黃賢英,李玉桃. 構(gòu)建面向崗位的計算機專業(yè)教學體系和教學模式[J]. 重慶工學院學報.2007(21):175-177.

[4] 黃賢英,劉恒祥,范偉. 計算機專業(yè)實踐教學體系建設(shè)思考[J]. 實驗技術(shù)與管理,2009(10):34.

[5] 范偉,黃賢英. 大學計算機教育中的工程素質(zhì)培養(yǎng)[J]. 重慶工學院學報, 2008(3):163-166.

Strengthen Engineering Ability Training, Professional Teaching

Reform Practice in the Course of Exploration

XU Shijun, FAN Wei, HUANG Xianying

(College of Computer Science and Engineering, Chongqing University of Technology, Chongqing 400054, China)

篇10

【關(guān)鍵詞】單片機實踐教學分模塊教學階梯式教學

引言

近幾十年來,計算機技術(shù)得到了飛速發(fā)展,PC機和網(wǎng)絡(luò)已經(jīng)走進千家萬戶,人們的日常生活、工作學習都和它緊密聯(lián)系在一起。單片機作為計算機中的一個獨立門族--嵌入式計算機系統(tǒng),具有廣泛應(yīng)用。例如:各式各樣的辦公設(shè)備和家用電器的智能化、遙控化和模糊控制智能化都是靠單片機來實現(xiàn)的。單片機的學習也理所當然的受到了高等院校師生的高度重視。但是,如何開展單片機的教學工作,如何讓學生學好單片機這門課程,一直是承擔這門課程的老師頭疼的問題,也引發(fā)了對這門課程教學改革的思考。

單片機教學是一門實踐性和技術(shù)性很強的課程,學生需要做大量的軟硬件實驗,目前采用的教材多屬于MCS-51系列,程序源代碼用匯編語言編寫,教學內(nèi)容與實際的產(chǎn)品設(shè)計之間存在著很大差異,因此在單片機實踐教學環(huán)境中必須結(jié)合當前實際應(yīng)用的技術(shù)特征,適當增加新知識、新內(nèi)容,使用計算機輔助實驗教學、用計算機模擬實驗、用計算機仿真軟件等方法改革教學內(nèi)容和教學手段。為此,筆者結(jié)合自己的學習及教學經(jīng)驗,對單片機實踐教學提出一些心得。

一、教學內(nèi)容的更新

1.1以匯編語言程序設(shè)計為基礎(chǔ),以C51語言程序設(shè)計為提高

使用匯編語言的優(yōu)點是代碼緊湊,運行效率高,可直接對硬件內(nèi)部進行控制,但缺點也非常明顯,主要表現(xiàn)在對目標單片機硬件結(jié)構(gòu)的依賴上,編程者必須對硬件有深入的了解,而且匯編語言抽象,不易理解,功能弱,編程效率低。當然,匯編語言有助于學生對單片機底層的存儲器、堆棧等的了解,在某些領(lǐng)域還是有一定的價值,學生必須掌握。

例如,應(yīng)用單片機的時候,經(jīng)常會遇到需要短時間延時的情況。需要的延時時間很短,一般都是幾十到幾百微妙(us)。有時候還需要很高的精度,比如用單片機驅(qū)動DS18B20的時候,誤差容許的范圍在十幾us以內(nèi),不然很容易出錯。這種情況下,用計時器往往有點小題大做。而在極端的情況下,計時器甚至已經(jīng)全部派上了別的用途。這時就需要我們另想別的辦法了。

用匯編語言寫單片機程序,這個問題還是相對容易解決的。比如用的是12MHz晶振的51,打算延時20us,只要用下面的代碼,就可以滿足一般的需要:

51單片機的指令周期是晶振頻率的1/12,也就是1us一個周期。mov r0, #09h需要2個機器周期,djnz也需要2個機器周期。那么存在r0里的數(shù)就是(20-2)/2=9。用這種方法,可以非常方便的實現(xiàn)256us以下時間的延時。如果需要更長時間,可以使用兩層嵌套。而且精度可以達到2us,一般來說,這已經(jīng)足夠了。

相對匯編語言,C51語言作為單片機的開發(fā)工具具有程序結(jié)構(gòu)清晰、可讀性好、易于維護等顯著的優(yōu)點,一條C語言相當于幾條匯編指令,完成同樣功能程序的行數(shù)也大大縮小,更便于復雜算法的實現(xiàn)和調(diào)試?,F(xiàn)在社會上的單片機系統(tǒng)已經(jīng)普遍采用了基于C51高級語言的軟件系統(tǒng)。由于學生在低年級已經(jīng)學習過標準C語言,有了這個基礎(chǔ)后,在現(xiàn)在的單片機實驗中給學生增加一些C51編程訓練,通過循序漸進的實驗,學生完全能在短期內(nèi)自學掌握C51。通過增加C51的內(nèi)容,更新了實驗教學內(nèi)容,使學生的學習更接近實際系統(tǒng)的社會化應(yīng)用,無疑對學生后期的學習有很大的益處。

C51程序設(shè)計不受具體機器的限制,非常擅長于科學計算,入門很容易;但對于程序的時間和空間要求很高的場合,匯編語言仍是不可缺少的。所以在學生單片機應(yīng)用到達一定水平后,提倡C51與匯編相結(jié)合的程序設(shè)計方法,取長補短,使程序設(shè)計達到更高的水平。

1.2 以信號傳輸路徑為主線,分模塊教學

傳統(tǒng)的單片機教學以單片機的知識結(jié)構(gòu)為主線,先后講單片機的硬件結(jié)構(gòu),指令系統(tǒng),匯編語言程序設(shè)計,接口技術(shù)及應(yīng)用。這樣的教學順利很容易使學生乏味,引不起興趣。經(jīng)過多年的教學探討,我們提出以信號的傳輸路徑為主線,分模塊的講解各個部分涉及的知識點的教學方法。信號的傳輸路徑如下圖一所示:

信號傳輸路徑分為五個模塊,單片機模塊部分介紹單片機的硬件結(jié)構(gòu),最小系統(tǒng)設(shè)計,存儲器擴展方法等。輸入、輸出模塊部分結(jié)構(gòu)接口擴展、接口電路設(shè)計等知識。前向通道介紹電平轉(zhuǎn)換電路、濾波電路、A/D轉(zhuǎn)換電路等設(shè)計方法和程序設(shè)計技巧。后向通道部分介紹電磁閥、接觸器、各種電機、LED、LCD電路設(shè)計和程序設(shè)計技巧。

按信息傳輸路徑分模塊教學,有以下幾個優(yōu)點:

1、 知識點完整,思路清晰,各個知識點的作用明了。

2、 后續(xù)項目實例教學法中,便于把一個大的項目按模塊劃分為幾個小的部分,逐一講解,注意攻破。

2 教學方法與教學手段的更新

單片機技術(shù)的應(yīng)用在現(xiàn)代人生活中隨處可見,小到小區(qū)住宅的門禁系統(tǒng),大到航空航天系統(tǒng)中,都有單片機的身影。單片機技術(shù)飛速發(fā)展,日新月異,單片機課程的教學方法與教學手段也必須不斷更新,以適應(yīng)單片機技術(shù)的發(fā)展。

經(jīng)過多年的教學探索,我們提出分四步走,逐步推進的階梯式教學方法,其示意圖如下圖二所示。每個教學方法既可以獨立進行,又相互聯(lián)系、相互推進。前一步的順利開展為后面的教學環(huán)節(jié)鋪好道路,使后面的教學環(huán)節(jié)更容易開展;同時只有一步一步逐一落實好了,才可以達到最佳效果。

2.1用項目實例促進教學,引發(fā)學生興趣

興趣是最好的老師,在學生剛開始接觸這門課程時,通過生動形象的項目實例,如基于單片機的交通燈控制器、基于單片機的搶答器、基于單片機的智能小車等實例,讓學生明白什么是單片機?單片機在我們身邊哪些地方出現(xiàn)?單片機在電子產(chǎn)品中發(fā)揮什么作用?使學生明白學習的目的,對這門課程產(chǎn)生濃厚的興趣。

例如基于單片機的交通燈控制器項目,首先拿出前屆同學制作的作品,講解功能,演示效果,分析工作原理;然后介紹作品的硬件結(jié)構(gòu),軟件功能模塊的組成;最后概括該項目的開展步驟。讓學生既對事物有個感性的認識,引發(fā)濃濃的學習興趣;同時又清楚完成該項目需要做哪些工作,明白今后在該課程學習過程中的努力方向。

2.2 有效利用計算機輔助教學

計算機輔助教學CAI在教學中的作用毋庸置疑,通過圖文聲像的形式表達教學內(nèi)容,補充了傳統(tǒng)板書的授課方式。單片機原理與應(yīng)用理論抽象,實踐性強,通過采用計算機輔助教學, 采用視頻、音頻、豐富的動畫及色彩等多種教學表達方式生動描述教材中的抽象概念,能極大的增加知識的傳授量,使得課堂教學變得豐富多彩。比如,制作flas,演示單片機的定時、計數(shù)中斷工作原理;比如,采用多媒體演示單片機仿真軟件Proteus和Keil聯(lián)調(diào)的強大的仿真功能,演示程序的編寫及調(diào)試過程;這使得抽象的理論教學顯得非常直觀,將促使學生對知識的感知,活躍其思維過程,提高學習效率。比如,在教學初期播放前屆同學優(yōu)秀作品視頻,激發(fā)學生興趣。比如,用 LabView虛擬儀器做信號采集試驗,擴展試驗設(shè)備。

2.3結(jié)合應(yīng)用實例,開拓試驗渠道

單片機是門軟硬件結(jié)合特別緊密的課程,硬件是軟件的控制對象,軟件使硬件的功能更加強大,具有智能化能力,兩者相輔相成,缺一不可。初學者很難兩面兼顧,因此我們開拓多種試驗渠道,促進教學。

在單片機實驗課時較短的情況下,僅僅利用實驗室做實驗不利于單片機的實踐教學,筆者在教學中發(fā)現(xiàn),利用Proteus與Keil構(gòu)建單片機的虛擬實驗室,虛擬實驗彌補了硬件資源的不足,克服了實驗箱教學的固定硬件資源導致的實驗內(nèi)容局限性,豐富了實踐教學方式,提高了學生的學習興趣,取得了非常好的教學效果。Keil完成單片機軟件設(shè)計調(diào)試,proteus完成硬件設(shè)計及系統(tǒng)運行結(jié)果的查看。在單片機的實踐教學中增加Keil和proteus仿真軟件的使用,對于學生深入學習單片機,用來做單片機的仿真分析和設(shè)計,無疑有巨大的幫助。通過學習Keil軟件,加強實踐環(huán)節(jié)中C51語言的應(yīng)用,并結(jié)合工程實例,基于單片機的智能小車,將學生的程序設(shè)計能力練習落到實處。此外,proteus仿真軟件有國際通用的虛擬儀器及電子元器件庫。教師可以在實驗室向?qū)W生演示Protues仿真環(huán)境中的原理圖設(shè)計,搭建虛擬儀器儀表,在 Keil集成環(huán)境中進行程序的編譯連接,進行單步和全速調(diào)試,引導學生觀察電路的狀態(tài)和軟件運行后的變化。

2.4 組織課外電子設(shè)計興趣小組,參加電子設(shè)計競賽,推動單片機教學的開展

利用現(xiàn)有的實驗環(huán)境,以組織課外電子設(shè)計興趣小組為中心,鼓勵學生參加各種競賽,如圖五所示,有助于培養(yǎng)學生的應(yīng)用、開發(fā)、創(chuàng)新及綜合分析能力,既不打亂正常的教學秩序,同時又促進了教學更有效的開展。

在課外電子設(shè)計興趣小組中間進行一些小競賽,要求學生自由組隊,獨立完成設(shè)計,提交設(shè)計說明,明確闡述設(shè)計思路和設(shè)計結(jié)果,并進行小組答辯,評選出優(yōu)秀的作品給予一定獎勵,這種方式,促使學生不斷的學習,在找到問題,解決問題的過程中,學生的知識面擴大了,獲得了學習的樂趣和成就感,激發(fā)了他們的自主性和創(chuàng)造性,培養(yǎng)了工程設(shè)計素養(yǎng)和團隊意識。

同時,從這部分學生中選拔一些尖子生參加省和國家的各種競賽,以賽促學。

結(jié)語

在單片機課程實踐的教學中,我們根據(jù)社會對工程類專業(yè)人才的需求,做了一些嘗試性的工作,提出新的教學目標,并更新了實驗教學的內(nèi)容和模式,旨在提高教學質(zhì)量,培養(yǎng)學生的工程設(shè)計能力,為他們走上工作崗位打下堅實的基礎(chǔ)。

參考文獻

[1] 雷建龍 吳相林 馮雪姣,加強實踐性、提高趣味性,改進單片機原理教學方法的探索,教育理論與實踐[J],2002(s1):

[2]梅麗風,藍和惠,任國臣 單片機課程教學改革的探索[J], 遼寧工業(yè)大學學報(社會科學版),2008(8):114-116