匯編語言程序設(shè)計(jì)范文
時(shí)間:2023-03-16 10:26:37
導(dǎo)語:如何才能寫好一篇匯編語言程序設(shè)計(jì),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
【關(guān)鍵詞】匯編語言程序設(shè)計(jì) 現(xiàn)狀 問題 改革
隨著我國國際化的發(fā)展進(jìn)程越來越快,我國對高等院校教育水平的重視度也越來越高。為了加快接軌國際高等教育的進(jìn)程,在近幾年中,我國對教育事業(yè)的投入力度不斷加強(qiáng),提高了對學(xué)生實(shí)際動手能力以及創(chuàng)新能力的培養(yǎng)力度?!秴R編語言程序設(shè)計(jì)》課程教學(xué)是高校計(jì)算機(jī)、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,對學(xué)生在學(xué)習(xí)過程中的創(chuàng)新能力以及實(shí)踐能力的提高有一定的促進(jìn)作用。另外,在對教師對問題進(jìn)行研究的過程中,對提高其相應(yīng)的科研水平以及意識也有一定的積極影響。
一、《匯編語言程序設(shè)計(jì)》課程教學(xué)的現(xiàn)狀以及存在的問題
1.相應(yīng)的教材內(nèi)容單一陳舊,無法激發(fā)學(xué)生的學(xué)習(xí)興趣
《匯編語言程序設(shè)計(jì)》課程在我國所有高等院校相關(guān)計(jì)算機(jī)專業(yè)的課程中都占有重要地位,然而隨著時(shí)代的飛速發(fā)展,計(jì)算機(jī)的相關(guān)配置也得到了相應(yīng)的發(fā)展。在《匯編語言程序設(shè)計(jì)》教學(xué)中,其硬件教學(xué)中有些相關(guān)教材內(nèi)容與計(jì)算機(jī)的發(fā)展現(xiàn)狀不相符,存在一定程度的滯后性。在某些新開發(fā)的匯編得到廣泛使用的時(shí)候,大多數(shù)學(xué)校的相關(guān)專業(yè)的匯編語言教材依舊還停留在以前的版本中,跟不上實(shí)際的發(fā)展進(jìn)程。
2.沒有明確的教學(xué)目的,對課程重要性認(rèn)識不足
《匯編語言程序設(shè)計(jì)》課程教學(xué)是高校計(jì)算機(jī)、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,對學(xué)生在學(xué)習(xí)過程中的創(chuàng)新能力以及實(shí)踐能力的提高有一定的促進(jìn)作用。在對《匯編語言程序設(shè)計(jì)》課程的學(xué)習(xí)過程中,大多時(shí)候得不到學(xué)生以及教師重視,對其學(xué)習(xí)的重要性認(rèn)識不足。而且,大多數(shù)老師在對這門課程進(jìn)行教學(xué)的過程中,受到相應(yīng)教學(xué)的課時(shí)以及大綱限制,在課堂教學(xué)過程中過于偏重對具體指令的相關(guān)應(yīng)用以及功能的講解,從而缺少了對各個(gè)課程之間的特點(diǎn)串聯(lián)。這樣的問題導(dǎo)致教師在教學(xué)過程中,對學(xué)生的學(xué)習(xí)興趣不能充分的調(diào)動,從而導(dǎo)致學(xué)生對正確的學(xué)習(xí)方法不能很好的掌握。
3.教學(xué)方法偏差,教學(xué)手段存在缺陷
在對《匯編語言程序設(shè)計(jì)》課程進(jìn)行教學(xué)的過程中,其在相應(yīng)的教學(xué)方法上存在一定程度的偏差,從而導(dǎo)致一些編程中非法指令經(jīng)常性出現(xiàn)。而且,教師在對這門課程進(jìn)行教學(xué)的過程中,教學(xué)手段太過單一,在教學(xué)過程中主要就通過多媒體對課堂內(nèi)容進(jìn)行講解。在教學(xué)過程中對多媒體的運(yùn)用雖然存在直觀生動以及信息量大等相關(guān)優(yōu)勢,但其也在一定程度上使學(xué)生產(chǎn)生了學(xué)習(xí)惰性。
二、對《匯編語言程序設(shè)計(jì)》課程教學(xué)中相應(yīng)的問題進(jìn)行改革
1.加強(qiáng)對課程重要性的認(rèn)識
在對《匯編語言程序設(shè)計(jì)》課程進(jìn)行教學(xué)之前,對其相應(yīng)的重要性進(jìn)行講解,從而使學(xué)生對匯編語言的具體特點(diǎn)進(jìn)行充分掌握,對匯編語言相較于高級語言的具體優(yōu)勢進(jìn)行具體明確,使學(xué)生對其在應(yīng)用領(lǐng)域中必要性有充分的了解。在對《匯編語言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過程中,要注意對其實(shí)用性的具體教學(xué),使學(xué)生能夠做到對具體知識的學(xué)以致用,注重對教學(xué)內(nèi)容相關(guān)知識點(diǎn)的訓(xùn)練和拓展。另外,教師在教學(xué)過程中,還要注重對學(xué)生知識面的拓寬,從而使學(xué)生在對匯編語言的學(xué)習(xí)興趣得到相應(yīng)的提高。
2.采用多樣化教學(xué),提高學(xué)生學(xué)習(xí)興趣
在對《匯編語言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過程中,想要對相應(yīng)的指令進(jìn)行掌握,就要對其相關(guān)的尋址方式進(jìn)行具體的理解和掌握。在對匯編語言進(jìn)行教學(xué)的過程中,由于其相較高級語言而言,沒有足夠的易讀性,不容易學(xué)生的理解,所以,在教學(xué)的時(shí)候要掌握多樣化的教學(xué)方法以及教學(xué)手段,從而使學(xué)生在對其進(jìn)行學(xué)習(xí)的過程中的學(xué)習(xí)興趣得到最大的提高,培養(yǎng)學(xué)生學(xué)習(xí)的自主性,使其對匯編語言的相關(guān)知識的理解和記憶更容易清晰地掌握。
3.增加實(shí)踐環(huán)節(jié),提高學(xué)生具體的實(shí)踐能力
在對《匯編語言程序設(shè)計(jì)》課程進(jìn)行學(xué)習(xí)的過程中,對學(xué)生具體動手實(shí)踐課程進(jìn)行加強(qiáng),使學(xué)生在具體實(shí)踐的過程中對教材上的知識點(diǎn)進(jìn)行具體的理解和掌握。在實(shí)際動手過程中學(xué)習(xí)實(shí)踐理論,使實(shí)踐與理論達(dá)到很好的結(jié)合,從而提升學(xué)生的學(xué)習(xí)效果。其中,在實(shí)踐的過程中,教師要注意對具體實(shí)驗(yàn)內(nèi)容的控制,對實(shí)驗(yàn)的重點(diǎn)著重突出,避免實(shí)驗(yàn)的時(shí)間太過漫長。除此之外,還要注意積極引導(dǎo)學(xué)生多多參與相關(guān)實(shí)踐項(xiàng)目,在一定程度上為他們提供一些參與實(shí)際研究項(xiàng)目的機(jī)會。
三、結(jié)束語
綜上所述,隨著時(shí)代的飛速發(fā)展,我國對高等院校教育水平的重視度也越來越高,計(jì)算機(jī)的相關(guān)配置也得到了相應(yīng)的發(fā)展?!秴R編語言程序設(shè)計(jì)》課程作為計(jì)算機(jī)、通信、電子以及自動化等相關(guān)專業(yè)課程中的基礎(chǔ)課程,其硬件教學(xué)中有些相關(guān)教材內(nèi)容與計(jì)算機(jī)的發(fā)展現(xiàn)狀不相符,存在一定程度的滯后性。為了提高學(xué)生在學(xué)習(xí)過程中的創(chuàng)新性以及實(shí)際動手能力,對《匯編語言程序設(shè)計(jì)》教學(xué)課程的教學(xué)效果進(jìn)行相應(yīng)的提高和改善,從而使學(xué)生在學(xué)習(xí)的過程中對其課程中相應(yīng)的知識內(nèi)容進(jìn)行更清晰精準(zhǔn)的掌握。
參考文獻(xiàn):
[1]陳燕俐,許建.“匯編語言程序設(shè)計(jì)”課程教學(xué)改革探索 [J].中國電力教育,2012,10(04):193-194.
[2]李黎.《匯編語言程序設(shè)計(jì)》課程教學(xué)改革探究 [J].產(chǎn)業(yè)與科技論壇,2013,15(08):197-198.
[3]陶雪麗,郭鳳英.匯編語言程序設(shè)計(jì)課程教學(xué)改革與實(shí)踐 [J].中國教育技術(shù)裝備,2012,25(01):192-193.
篇2
關(guān)鍵詞:匯編語言;系統(tǒng)的知識結(jié)構(gòu);教學(xué)手段;實(shí)踐教學(xué)
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
“匯編語言程序設(shè)計(jì)”是計(jì)算機(jī)教學(xué)體系中一門必修的專業(yè)基礎(chǔ)核心課程。匯編語言可以直接控制計(jì)算機(jī)硬件,常用于設(shè)備驅(qū)動程序、實(shí)時(shí)控制程序等硬件設(shè)計(jì)開發(fā)等方面。在系統(tǒng)軟件的底層、大型軟件的性能優(yōu)化、信息安全與計(jì)算機(jī)病毒的逆向工程等方面的應(yīng)用上,匯編語言也具有其他高級語言所無法企及的優(yōu)勢。該課程不僅是“計(jì)算機(jī)組成原理”、“操作系統(tǒng)”、“微機(jī)原理與接口”等核心課程的必要先修課,而且對于訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技巧、熟悉上機(jī)操作和程序調(diào)試技術(shù)有著重要作用。從教學(xué)的角度出發(fā),我們認(rèn)為只有激發(fā)學(xué)生的學(xué)習(xí)興趣,教師與學(xué)生互動,并采用一些有效的教學(xué)手段,才能夠收到事半功倍的效果。
1了解匯編語言的重要性
匯編語言具有與高級語言不同的特點(diǎn),正是這些特點(diǎn)使得匯編語言具有高級語言不可替代的作用,使得匯編語言在計(jì)算機(jī)領(lǐng)域非常重要。在教學(xué)過程中,首先必須向?qū)W生詳細(xì)闡述匯編語言在計(jì)算機(jī)學(xué)科知識體系中的重要作用,充分調(diào)動學(xué)生的學(xué)習(xí)熱情和求知欲望。
匯編語言與處理器密切相關(guān),每種處理器都有自己的指令系統(tǒng),對應(yīng)的匯編語言各不相同。所以,匯編語言程序的通用性、可移植性較差;匯編語言功能有限,又涉及寄存器、主存單元等硬件細(xì)節(jié),所以編寫程序比較繁瑣,調(diào)試起來也比較困難。但是匯編語言本質(zhì)上就是機(jī)器語言,是計(jì)算機(jī)提供給用戶的最快最有效的語言,因而容易產(chǎn)生運(yùn)行速度快、指令序列短小的高效率目標(biāo)程序,并且匯編語言是能夠利用計(jì)算機(jī)的所有硬件特性并能夠直接控制硬件的唯一語言,它可以直接、有效地控制計(jì)算機(jī)硬件。在很多場景下,我們必須使用匯編語言,例如,機(jī)器自檢、系統(tǒng)初始化、實(shí)際的輸入輸出設(shè)備的操作等;I/O接口電路的初始化程序以及外部設(shè)備的低層驅(qū)動程序等;計(jì)算機(jī)系統(tǒng)頻繁調(diào)用的子程序、動態(tài)連接庫等。匯編語言在現(xiàn)代計(jì)算機(jī)應(yīng)用中仍然是一門不可替代的、非常重要的程序設(shè)計(jì)語言。
因此,在“匯編語言程序設(shè)計(jì)”教學(xué)中,我們首先讓學(xué)生充分認(rèn)識到匯編語言的特點(diǎn)和重要性,學(xué)生通過用匯編語言編制程序,可以更清楚地了解計(jì)算機(jī)是如何完成各種復(fù)雜的工作。學(xué)生能從根本上認(rèn)識、理解計(jì)算機(jī)的工作過程,從而充分地利用機(jī)器硬件的全部功能,發(fā)揮機(jī)器的長處。
2形成系統(tǒng)的知識結(jié)構(gòu)
匯編語言離不開具體的CPU結(jié)構(gòu)以及必要的硬件支持,由于我們的“匯編語言程序設(shè)計(jì)”課程仍然基于英特爾公司的8086/8088CPU,因此將英特爾公司的系列CPU發(fā)展歷史作為首先介紹的內(nèi)容。從英特爾公司的4位機(jī)4004,8位機(jī)8008、8080與8085,到16位機(jī)8086/8088微處理器,詳細(xì)介紹了它們的內(nèi)外總線結(jié)構(gòu)。對于16位的80286微處理器,我們重點(diǎn)介紹了80286的實(shí)模式與保護(hù)模式兩種操作模式。對于32位的80386微處理器以及隨后英特爾公司推出的80486,Pentium,MMX Pentium,Pentium Pro,Pentium II,Pentium III與Pentium 4等微處理器,介紹了這些微處理器在硬件結(jié)構(gòu)上的突破,以及什么原因讓這些CPU新增了若干專用指令。通過對英特爾系列處理器的介紹,學(xué)生對以英特爾系列處理器發(fā)展為代表的計(jì)算機(jī)硬件發(fā)展脈絡(luò)有總體的了解,初步建立起計(jì)算機(jī)技術(shù)繼承性、發(fā)展性的認(rèn)識,對其中涉及到的相關(guān)概念和術(shù)語有了初步的了解。
匯編語言的一個(gè)重要特點(diǎn)是它起到了軟件技術(shù)與硬件技術(shù)的接口作用,這決定了匯編語言程序設(shè)計(jì)必須結(jié)合其他課程橫向?qū)W習(xí)。從剖析可執(zhí)行程序的結(jié)構(gòu)出發(fā),以可執(zhí)行程序的裝入為例,分析了DOS操作系統(tǒng)下的PSP段前綴,并簡單介紹了Windows操作系統(tǒng)下的PE文件,并在此基礎(chǔ)上講解了計(jì)算機(jī)從啟動到操作系統(tǒng)裝入的流程;在講解中斷的時(shí)候,給學(xué)生介紹了8259A的結(jié)構(gòu)與用法。通過這種方式,讓學(xué)生明白“匯編語言程序設(shè)計(jì)”與“操作系統(tǒng)”、“微型計(jì)算機(jī)接口技術(shù)”、“計(jì)算機(jī)組成原理”等課程的聯(lián)系,開闊了學(xué)生的思維方式與學(xué)習(xí)方法。
緩沖區(qū)溢出漏洞是目前最主要的安全漏洞之一,而利用該漏洞的緩沖區(qū)溢出攻擊是目前最主要、最具威脅性的網(wǎng)絡(luò)攻擊之一。我們幫助學(xué)生利用DEBUG工具,詳細(xì)分析了這些具有威脅性的程序,讓學(xué)生從多個(gè)角度研究緩沖區(qū)溢出的一般規(guī)律,引導(dǎo)學(xué)生深入分析植入代碼的結(jié)構(gòu)組成,總結(jié)植入代碼的結(jié)構(gòu)特征。并鼓勵(lì)學(xué)生根據(jù)威脅代碼的特點(diǎn),嘗試提出相對應(yīng)的防御措施。為“網(wǎng)絡(luò)安全”等課程打下了基礎(chǔ),讓學(xué)生融會貫通,學(xué)以致用。
通過我們這種注重歷史發(fā)展與聯(lián)系其他課程的教學(xué)思想,逐步幫助學(xué)生形成了系統(tǒng)的知識結(jié)構(gòu)。這有助于學(xué)生建立多門課程之間的聯(lián)系,開闊學(xué)生的專業(yè)視野,從而調(diào)動學(xué)生的學(xué)習(xí)熱情,增強(qiáng)學(xué)習(xí)的積極性與主動性。
3利用多種教學(xué)手段進(jìn)行教學(xué)
匯編語言的內(nèi)容多而雜,不便于記憶,要教給學(xué)生正確的學(xué)習(xí)方法,指導(dǎo)學(xué)生如何去學(xué)習(xí)。讓啟發(fā)式、開放型的教學(xué)貫穿教學(xué)全過程,充分調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性,以利于學(xué)生對教學(xué)內(nèi)容的理解和掌握。在教學(xué)內(nèi)容的講解過程中,針對不同的知識點(diǎn),可采用或結(jié)合不同的教學(xué)方法,加深學(xué)生的理解,增強(qiáng)記憶。
在介紹英特爾系列的CPU歷史時(shí),我們準(zhǔn)備了大量直觀的照片,展示了從4004、8008、8080、8085到16位微處理器8086/8088等微處理器,對于32位機(jī)展示了從80386到80486、Pentium、MMX Pentium、Pentium Pro、Pentium II、Pentium III與Pentium 4等微處理器。為了讓學(xué)生對當(dāng)前的計(jì)算機(jī)有直觀的認(rèn)識,我們用照片展示了當(dāng)前計(jì)算機(jī)的主板結(jié)構(gòu),對照圖片逐一介紹了PCI接口、顯卡、網(wǎng)卡等各種插卡。學(xué)生們對直觀的學(xué)習(xí)非常有興趣,課堂氣氛活躍。
在講解指令系統(tǒng)時(shí),我們使用動畫講解了指令在CPU中的執(zhí)行過程。在講解指令前,我們重點(diǎn)介紹了8086 內(nèi)部結(jié)構(gòu),仔細(xì)講解了各個(gè)部件的功能,并突出介紹了指令流水線方式。對于典型的指令,我們在結(jié)構(gòu)圖上演示了指令執(zhí)行過程,包括指令隊(duì)列的變化、指令操作數(shù)的來源、物理地址的形成、EU與BIU是如何配合工作的。通過直觀的動畫,學(xué)生基本理解了CPU中指令的執(zhí)行過程。
在講解MOV指令時(shí),我們采用圖解法講解了MOV指令操作數(shù)的來源,這非常利于學(xué)生理解與記憶MOV指令的操作數(shù)的來源。圖1中矩形框中表示MOV指令的操作數(shù),箭頭的起始點(diǎn)表示MOV指令的源操作數(shù),箭頭的終止點(diǎn)表示它的目的操作數(shù),兩者間如有箭頭連接,表示它們是MOV指令源操作數(shù)與目的操作數(shù)的允許組合方式。通過圖解法,學(xué)生普遍感到MOV指令的操作數(shù)來源好懂易記,并逐步推廣到其他的指令學(xué)習(xí)中。
在講解存儲器操作數(shù)的尋址方式時(shí),我們采用逐步分解的方式介紹存儲器操作數(shù)的四種尋址,并強(qiáng)調(diào)了基址、變址、位移量這三個(gè)分量的不同組合就形成了不同的尋址方式。8086/8088 CPU各指令中操作數(shù)的來源有四種,立即數(shù)操作數(shù)、寄存器操作數(shù)、輸入/輸出端口操作數(shù)、存儲器操作數(shù)。而存儲器操作數(shù)又有直接尋址、寄存器間接尋址、基址(變址)尋址、基址變址四種尋址方式,存儲器操作數(shù)的這些尋址方式易導(dǎo)致學(xué)生理解與記憶出錯(cuò),造成不佳的學(xué)習(xí)效果。在講述基址由BX或BP提供,變址SI或DI提供,位移量是一個(gè)在匯編期間的常數(shù)后,我們在圖2中介紹了基址、變址、位移量這三個(gè)分量的不同組合構(gòu)成的不同的尋址方式。通過這種逐步分解的方式,學(xué)生很容易就掌握了存儲器操作數(shù)的四種尋址方式。
從我們采取的多種教學(xué)手段收到的良好效果可見,在教學(xué)過程中,靈活應(yīng)用各種教學(xué)方法,能夠減少學(xué)習(xí)匯編語言的難度,便于學(xué)生學(xué)習(xí)和掌握相關(guān)內(nèi)容,提高教與學(xué)的效率。
4重視實(shí)踐教學(xué)
上機(jī)實(shí)驗(yàn)是“匯編語言程序設(shè)計(jì)”的一個(gè)重要教學(xué)環(huán)節(jié)。在“匯編語言程序設(shè)計(jì)”實(shí)驗(yàn)中,針對學(xué)生對DOS操作環(huán)境不熟悉,我們在課堂上重點(diǎn)講授了相關(guān)的DOS命令,使得學(xué)生在上機(jī)時(shí)能夠熟練的在DOS環(huán)境下進(jìn)行操作;針對匯編語言上機(jī)調(diào)試復(fù)雜的問題,我們通過耐心講解,讓學(xué)生充分認(rèn)識到,這是一個(gè)從源程序到可執(zhí)行程序的必經(jīng)過程,通過學(xué)生的反復(fù)實(shí)踐,一定能夠掌握匯編語言的開發(fā)過程,加深對匯編語言的認(rèn)識,提高程序設(shè)計(jì)的能力;針對調(diào)試工具DEBUG,重點(diǎn)講解了常用的調(diào)試命令,對一些較復(fù)雜并且較為不常用的命令,暫時(shí)不引入,重點(diǎn)讓學(xué)生實(shí)踐,學(xué)生通過使用DEBUG工具,深刻體會到了CPU的工作過程,這對于提高學(xué)生的學(xué)習(xí)興趣,鞏固課堂教學(xué)內(nèi)容起到了關(guān)鍵作用。
在合理安排實(shí)驗(yàn)教學(xué)內(nèi)容的基礎(chǔ)上,我們還將課外科技活動融入到實(shí)踐教學(xué)活動中,其中最為重要的是組織學(xué)生參加國家級以及校級的各種電子設(shè)計(jì)競賽,在實(shí)踐中鍛煉學(xué)生使用匯編語言設(shè)計(jì)程序的能力。
我們積極指導(dǎo)學(xué)生使用匯編語言參加了全國性的關(guān)于嵌入式系統(tǒng)的“電子設(shè)計(jì)競賽”,這些競賽項(xiàng)目不但需要參賽者具有深厚的匯編語言程序編程水平,還要求參賽者擁有過硬的硬件基礎(chǔ)知識,包括電路分析、模擬電路和數(shù)字電路等各方面的專業(yè)知識儲備。通過競賽,學(xué)生加深了對整個(gè)計(jì)算機(jī)學(xué)科知識體系的掌握,并對匯編語言與其它學(xué)科的關(guān)系有了深入的認(rèn)識。
我們還組織了較大規(guī)模的學(xué)生隊(duì)伍參加電子科技大學(xué)“億利達(dá)杯”、“NS杯”等大學(xué)生電子設(shè)計(jì)競賽,這些競賽是半開放式的競賽,在指導(dǎo)教師的指導(dǎo)下,參賽隊(duì)員利用提供的器件設(shè)計(jì)并實(shí)現(xiàn)了“數(shù)字式Q表設(shè)計(jì)”、“多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)”、“數(shù)字調(diào)諧濾波器設(shè)計(jì)”、“工頻標(biāo)準(zhǔn)信號源設(shè)計(jì)”、“電機(jī)轉(zhuǎn)速控制器設(shè)計(jì)”、“太陽能自動跟蹤器設(shè)計(jì)”、“數(shù)字溫度表”、“數(shù)控電源”、“遙控小車”、“防嘯叫話筒”、“智能LED照明”等多個(gè)項(xiàng)目。在這個(gè)實(shí)踐過程中,鍛煉了學(xué)生使用匯編語言與硬件結(jié)合的能力,加深理解了匯編語言在控制系統(tǒng)中的作用,培養(yǎng)了學(xué)生的創(chuàng)新能力。
5總結(jié)
“匯編語言程序設(shè)計(jì)”是我國高等學(xué)校計(jì)算機(jī)各專業(yè)必修的一門主干課程,對于訓(xùn)練學(xué)生掌握程序設(shè)計(jì)方法與技術(shù),從事自主版權(quán)計(jì)算機(jī)芯片設(shè)計(jì)和系統(tǒng)軟件的開發(fā),以及在信息安全、過程控制等多方面的應(yīng)用,均具有十分重要的作用。由于“匯編語言程序設(shè)計(jì)”課程自身的特點(diǎn),學(xué)生在學(xué)習(xí)的過程中總會遇到這樣或那樣的問題。我們在教學(xué)過程中積極主動總結(jié),認(rèn)真分析學(xué)生遇到問題的根本原因,及時(shí)幫助學(xué)生對問題逐一加以解決。
從我們長期從事“匯編語言程序設(shè)計(jì)”的教學(xué)經(jīng)驗(yàn)來看,教師要善于采用多種方法及手段,發(fā)掘?qū)W生渴望新知識、接受能力強(qiáng)的潛能,讓學(xué)生從了解匯編語言的重要性入手,培養(yǎng)學(xué)生的興趣,進(jìn)而幫助學(xué)生形成系統(tǒng)的知識結(jié)構(gòu),并在教學(xué)中靈活運(yùn)用多種教學(xué)手段,最終通過實(shí)踐教學(xué),使學(xué)生達(dá)到熟練掌握“匯編語言程序設(shè)計(jì)”的目的。
參考文獻(xiàn):
[1] 王正智. 8086/8088宏匯編語言程序設(shè)計(jì)教程[M]. 北京:電子工業(yè)出版社,2002.
[2] 沈美明. IBM-PC匯編語言程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2001.
[3] 殷肖川. 匯編語言程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005.
[4] Peter Abel. IBM PC匯編語言程序設(shè)計(jì)(影印)[M]. 北京:清華大學(xué)出版社,2006.
[5] Mazidi, Muhammad Ali. 80x86 IBM PC及兼容計(jì)算機(jī)(卷1和2),匯編語言、設(shè)計(jì)與接口技術(shù)(影印)[M]. 北京:清華大學(xué)出版社,2004.
[6] 張英彥. 更新知識觀念改革高校教學(xué)[J]. 中國高教研究,2006(2):70-71.
篇3
關(guān)鍵詞:匯編語言程序設(shè)計(jì);實(shí)驗(yàn);教學(xué)改革
中圖分類號:G64 文獻(xiàn)標(biāo)識碼:A
文章編號:1672-5913(2007)01-0034-04
在傳統(tǒng)教學(xué)模式中,理論教學(xué) (或者說是課堂教學(xué)) 與實(shí)驗(yàn)教學(xué)是區(qū)別對待的,后者通常用來“輔助”前者 (例如實(shí)驗(yàn)教材歷來被認(rèn)為是輔助教材) ,學(xué)生通過實(shí)驗(yàn)教學(xué)環(huán)節(jié)來“驗(yàn)證”理論教學(xué)的內(nèi)容。但是,在大眾化高等教育的背景下,課堂教學(xué)的效果普遍出現(xiàn)滑坡,導(dǎo)致淡化了“驗(yàn)證性”實(shí)驗(yàn)的基礎(chǔ),因而嚴(yán)重地影響了課程的教學(xué)質(zhì)量。
近年來,我們在多門計(jì)算機(jī)課程的教學(xué)實(shí)踐中,摸索出一套“把實(shí)驗(yàn)實(shí)踐環(huán)節(jié)與理論教學(xué)相融合,抓實(shí)驗(yàn)實(shí)踐教學(xué)促進(jìn)學(xué)科理論知識學(xué)習(xí)”的教學(xué)方法,有效地提高了學(xué)生的學(xué)習(xí)興趣,以此提高了大眾化高等教育背景下計(jì)算機(jī)專業(yè)課程的教學(xué)效果和教學(xué)質(zhì)量。本文中,我們結(jié)合“匯編語言程序設(shè)計(jì)”課程的實(shí)驗(yàn)創(chuàng)新,來探討新的教育形勢下計(jì)算機(jī)課程教學(xué)方法的改革。
1匯編語言及其教學(xué)的現(xiàn)狀
計(jì)算機(jī)中真正可以處理的只是由“0”和“1”組成的二進(jìn)制代碼,這種指令代碼易出錯(cuò)且不易修改。于是,人們發(fā)明了“指令的助記符”,用幾個(gè)字母 (往往就是其含義的英文單詞或縮寫) 來代替某條指令,如加法用ADD表示,減法用SUB表示等,這種符號系統(tǒng)最終擴(kuò)大形成了匯編語言。匯編語言就是機(jī)器語言的一種可以被人讀懂的形式,只不過它更容易記憶。使用匯編語言編程,優(yōu)點(diǎn)是運(yùn)行效率高,可直接對硬件內(nèi)部進(jìn)行控制,缺點(diǎn)是使用者需要對硬件有更深入的了解,編程效率不高,并且匯編語言與機(jī)器的體系結(jié)構(gòu)有一定的依賴關(guān)系,每種計(jì)算機(jī)都有自己的匯編語言,使用極不方便。
匯編語言易學(xué)卻很難真正掌握,編寫快速、高效,并且能夠讓計(jì)算機(jī)處理器“舒服地執(zhí)行”的匯編語言程序是一件很困難的事情。由于教師開展教學(xué)困難,學(xué)生學(xué)習(xí)和掌握困難,教學(xué)效果很差,以至于不少學(xué)校甚至取消了這門課程。
盡管與發(fā)展初期相比,計(jì)算機(jī)開發(fā)和應(yīng)用技術(shù)已經(jīng)有了根本性的變化,我們有了各種高級語言、我們有了網(wǎng)絡(luò)應(yīng)用開發(fā)的許多編程工具,很多程序甚至可以自動生成,但機(jī)器語言、匯編語言和高級語言的程序設(shè)計(jì)語言體系仍然是計(jì)算機(jī)技術(shù)的基礎(chǔ),也是計(jì)算機(jī)技術(shù)的重要知識體系之一。對于計(jì)算機(jī)及其相關(guān)專業(yè)的學(xué)生以及喜歡計(jì)算機(jī)的一般學(xué)生和讀者來說,匯編語言程序設(shè)計(jì)肯定是需要掌握的重要專業(yè)基礎(chǔ)知識之一。不能了解和熟悉匯編語言知識不僅將導(dǎo)致學(xué)生知識結(jié)構(gòu)的缺乏,也可能導(dǎo)致學(xué)生認(rèn)知水平的降低、開發(fā)手段的貧乏。在一些應(yīng)用中,匯編語言甚至是其開發(fā)工具的唯一選擇。
匯編語言是機(jī)器語言之外最接近計(jì)算機(jī)硬件的編程語言。由于它如此地接近計(jì)算機(jī)硬件,因此,它可以最大限度地發(fā)揮計(jì)算機(jī)硬件的性能。用匯編語言編寫的程序的速度通常要比高級語言(例如C/C++),快很多倍,甚至成百上千倍。選擇匯編,意味著選擇性能而不是可移植或便于調(diào)試。在一些實(shí)際的應(yīng)用系統(tǒng)中,我們往往會用匯編徹底重寫某些經(jīng)常調(diào)用的部分以期獲得更高的性能。應(yīng)用匯編也許不能提高程序的穩(wěn)定性,但至少它也不會降低穩(wěn)定性;與此同時(shí),它可以大大地提高程序的運(yùn)行速度。至少,匯編語言的知識可以告訴你一些有用的東西,比如,你有多少個(gè)寄存器可以使用。有時(shí),手工的優(yōu)化比編譯器的優(yōu)化更為有效,而且,你可以完全控制程序的實(shí)際行為。
“匯編語言程序設(shè)計(jì)”課程的任務(wù)是為“計(jì)算機(jī)原理”、“計(jì)算機(jī)接口技術(shù)”、“操作系統(tǒng)原理”等后繼課程提供必要的基礎(chǔ)知識,它對訓(xùn)練學(xué)生掌握程序設(shè)計(jì)技術(shù)、熟悉上機(jī)操作和程序調(diào)試技術(shù)都有重要作用,為從事計(jì)算機(jī)的應(yīng)用開發(fā)提供了強(qiáng)有力的編程工具。
通過學(xué)習(xí)匯編語言,學(xué)生可以了解到如何有效地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),讓計(jì)算機(jī)處理得更快,并使用更少的存儲空間;同時(shí),學(xué)習(xí)匯編語言可以讓學(xué)生熟悉計(jì)算機(jī)內(nèi)部運(yùn)行機(jī)制,并有效地提高調(diào)試能力。經(jīng)驗(yàn)表明,調(diào)試一個(gè)非結(jié)構(gòu)化程序的困難程度,要比調(diào)試一個(gè)結(jié)構(gòu)化程序的難度高很多,因?yàn)椤敖Y(jié)構(gòu)化”是以犧牲運(yùn)行效率來提高可讀性與可調(diào)試性的,這對于完成一般軟件工程的編碼階段是非常必要的。然而,在一些地方,比如,硬件驅(qū)動程序、操作系統(tǒng)底層,或者程序中經(jīng)常需要執(zhí)行的代碼,結(jié)構(gòu)化程序設(shè)計(jì)的這些優(yōu)點(diǎn)有時(shí)就會被它的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代碼級的調(diào)試是遠(yuǎn)遠(yuǎn)不夠的。
通常情況下,“匯編語言程序設(shè)計(jì)”課程的教師必須決定其課程是集中于問題和理論,還是為學(xué)生提供一個(gè)能夠?qū)R編語言程序設(shè)計(jì)進(jìn)行實(shí)驗(yàn)的環(huán)境?!皡R編語言程序設(shè)計(jì)”課程本身具有的理論抽象性和鮮明的應(yīng)用性,決定了我們必須充分重視這門課程的實(shí)踐環(huán)節(jié)。
2教學(xué)內(nèi)容的分層次設(shè)計(jì)
教育部計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)分委員會在其的“中國計(jì)算機(jī)本科專業(yè)發(fā)展戰(zhàn)略研究報(bào)告”中指出:大多數(shù)院校都有比較完善的教學(xué)大綱、教學(xué)計(jì)劃和進(jìn)度表、教學(xué)檔案等,實(shí)踐著一套有效的管理規(guī)范。但同時(shí)教學(xué)內(nèi)容的研究則需要加強(qiáng)。報(bào)告進(jìn)一步指出:
1) 有些學(xué)校計(jì)算機(jī)專業(yè)的教學(xué)內(nèi)容設(shè)計(jì)存在明顯的盲目性,還有些學(xué)校在培養(yǎng)人才定位上有明顯偏差。盡管CC1991開創(chuàng)了一種對計(jì)算機(jī)科學(xué)教育的創(chuàng)造性的、理性的思考,但它并不應(yīng)該成為我國所有大學(xué)計(jì)算機(jī)專業(yè)教學(xué)實(shí)踐所共同追求的目標(biāo)。
2) 作為一種比較普遍的規(guī)律或者現(xiàn)象,學(xué)生就業(yè)通常會有較強(qiáng)的地域性:一個(gè)企業(yè)通常在周邊地區(qū)招收較多員工,一個(gè)學(xué)校的畢業(yè)生大都就業(yè)在學(xué)校周邊地區(qū)的單位。因此,學(xué)校周邊地區(qū)社會發(fā)展的情況對計(jì)算機(jī)專業(yè)的教學(xué)內(nèi)容的設(shè)計(jì)應(yīng)該是很有參考意義的。
……
由于大多數(shù)大專院校一般都設(shè)置有計(jì)算機(jī)科學(xué)技術(shù)及其相關(guān)專業(yè),我們至少可以認(rèn)為:根據(jù)所在院校的辦學(xué)類型不同、培養(yǎng)目標(biāo)不同、所在地及其周邊地區(qū)社會需求的不同,這些計(jì)算機(jī)專業(yè)的教學(xué)內(nèi)容應(yīng)該有所不同,這些計(jì)算機(jī)專業(yè)對于“匯編語言程序設(shè)計(jì)”這門課程的教學(xué)內(nèi)容也應(yīng)該是有所不同的。對于那些非研究型院校的相關(guān)專業(yè),對“匯編語言程序設(shè)計(jì)”的教學(xué)可以集中在適度的理論知識和充分的操作實(shí)踐上,通過實(shí)驗(yàn)與實(shí)踐,了解匯編語言程序設(shè)計(jì)的基本概念和知識,激發(fā)對相關(guān)理論知識的學(xué)習(xí)興趣,理解和掌握匯編語言程序設(shè)計(jì)的基本方法。
匯編語言程序設(shè)計(jì)的應(yīng)用面廣,涉及技術(shù)領(lǐng)域?qū)挿?,要讓學(xué)生真正理解匯編語言程序設(shè)計(jì)的基礎(chǔ)理論知識,具備將匯編語言技術(shù)應(yīng)用于社會實(shí)踐的能力,積極加強(qiáng)匯編語言程序設(shè)計(jì)課程的實(shí)驗(yàn)環(huán)節(jié)是至關(guān)重要的。
篇4
關(guān)鍵詞:匯編語言;C語言;混合編程
匯編語言的優(yōu)勢就是速度快,占用存儲空間不大,而且可以隨時(shí)控制硬件,這些優(yōu)點(diǎn)是其它的程序語言無法取代的。匯編語言也有不足之處,就是在高級程序的編寫與調(diào)試時(shí)存在著較大的困難,特別是在處理一些數(shù)據(jù)或者一些混合運(yùn)算時(shí)顯得更加困難。
C語言,它的優(yōu)勢就是在于功能全面,表達(dá)形式多樣且靈活,開發(fā)使用效率很高,具有其它高級語言無法具有的優(yōu)勢。通常在軟件開發(fā)過程中,大部分程序采用高級語言編寫,以提高程序的開發(fā)效率;但在要求執(zhí)行速度快、占用空間少或要求直接控制硬件的場合,則利用匯編語言編寫,以提高程序的運(yùn)行效率。
1.匯編語言和C語言混合編程的方法
C語言和匯編語言混合編程的具體方法有以下幾種。
2.1 參數(shù)傳遞
匯編語言程序和C語言程序在調(diào)用時(shí)會涉及到參數(shù)傳遞,一般采用堆棧進(jìn)行傳遞。在匯編語言中將BP作為基址寄存器,調(diào)用程序先將來自于C語言程序中的參數(shù)依次壓入堆棧中,然后當(dāng)需要使用這些參數(shù)時(shí),再用BP加上不同的偏移量依次對堆棧中的數(shù)據(jù)進(jìn)行存取操作。
2.2 調(diào)用關(guān)系的確定
對于將要涉及到調(diào)用的過程或函數(shù)需要事先說明和建立調(diào)用與被調(diào)用關(guān)系。被調(diào)用的過程或函數(shù)應(yīng)預(yù)先說明為外部類型,以便被外部模塊引用,而調(diào)用程序也需要在程序中說明將要引用的外部模塊的名稱。在說明調(diào)用關(guān)系時(shí)還應(yīng)根據(jù)不同的存儲模式確定相應(yīng)的匯編語言格式。C程序小模式對應(yīng)匯編程序的近類型過程,而C程序大模式則對應(yīng)匯 編程序的遠(yuǎn)類型過程。
總而言之,匯編語言和C語言的混合編程方法可以使匯編語言與C語言之間取長補(bǔ)短,充分發(fā)揮各自優(yōu)勢,相互交叉調(diào)用,進(jìn)行參數(shù)傳遞,共享數(shù)據(jù)信息和數(shù)據(jù)結(jié)構(gòu),使由此開發(fā)的軟件更實(shí)用、更安全可靠,使開發(fā)和編程工作達(dá)到事半功倍的效果。
參考文獻(xiàn):
[1] 羅南超,向昌成,李唐輝. 匯編語言實(shí)現(xiàn)多種進(jìn)制的通用輸入輸出[J]電腦知識與技術(shù), 2008,(36) .
[2] 崔衛(wèi)東. VC++與匯編語言混合編程的研究與實(shí)現(xiàn)[J]福建電腦, 2007,(05) .
[3] 宋金華. 匯編語言和C語言在圖形處理中的綜合應(yīng)用[J]湖北廣播電視大學(xué)學(xué)報(bào), 2010,(12) .
篇5
一、多層次多目標(biāo)的教學(xué)要求
過去,我國的普通高等教育基本上分為本科生教育與專科生教育兩個(gè)層次,對這兩個(gè)層次教育部有統(tǒng)一的標(biāo)準(zhǔn)和要求,各大學(xué)在貫徹實(shí)施過程中相對比較穩(wěn)定。改革開放以來,為盡快適應(yīng)新經(jīng)濟(jì)快速增長對各類高等專門技術(shù)人才的需求,從20世紀(jì)80年代初期開始教育部先后升格了一批院校并批準(zhǔn)新成立了一批大專院校,特別是20世紀(jì)90年代各大學(xué)普遍擴(kuò)招后,我國的大專院校事實(shí)上已經(jīng)打破了兩個(gè)相對穩(wěn)定層次的格局而形成多層次教育的局面,本科院校中新學(xué)院新專業(yè)建設(shè)及??茖哟蔚穆殬I(yè)技術(shù)教育,??圃盒V斜究茖哟蔚慕逃吐殬I(yè)技術(shù)教育,中等專業(yè)技術(shù)學(xué)校中的高等職業(yè)技術(shù)教育等等,同一專業(yè)的教學(xué)起點(diǎn)教學(xué)大綱教學(xué)計(jì)劃相去甚遠(yuǎn),教學(xué)目標(biāo)和要求事實(shí)上也很不一致,課程合并,教材改革,雖然確實(shí)涌現(xiàn)出許多優(yōu)秀品牌“精品課程”和“規(guī)劃教材”,但眾多的“精品課程”和“規(guī)劃教材”也是千差萬別,更加加劇了培養(yǎng)目標(biāo)的多樣化。
形成這樣一種多層次多目標(biāo)的教學(xué)形勢對不對,好不好呢?不少人對此頗具微詞。筆者認(rèn)為這種教學(xué)勢態(tài)的形成其實(shí)是很正常的,教育永遠(yuǎn)是服務(wù)于經(jīng)濟(jì)建設(shè)需要的,這種教學(xué)勢態(tài)的形成正好說明了這一點(diǎn)。經(jīng)濟(jì)建設(shè)需要多層次多能力多類型的人才,教學(xué)部門就要培養(yǎng)出各種層次各種類型各種能力的人才,市場細(xì)分之后,人才也需要細(xì)分,專業(yè)也需要細(xì)分,培養(yǎng)的“寬基礎(chǔ)”“萬金油”“什么都能干什么都干不好”的人才漸失市場之后,一定要有新的“專門化”“專業(yè)化”“與企業(yè)零接軌”的人才培養(yǎng)方式。這就是目前多層次多目標(biāo)教育的現(xiàn)實(shí)情況,任何教育觀念和教育方法都不能脫離開這一現(xiàn)實(shí)。
二、“學(xué)用互動,實(shí)踐為先”的教育觀念和教學(xué)方法
當(dāng)我國的普通高等教育從傳統(tǒng)單一的教學(xué)模式走向多層次多目標(biāo)培養(yǎng)方式后,教學(xué)對象中出現(xiàn)了一大批以職業(yè)技能訓(xùn)練為主直接面向企業(yè)一線的高職學(xué)生,這些學(xué)生的共同特點(diǎn)是基礎(chǔ)理論知識不扎實(shí),在中學(xué)沒有養(yǎng)成良好的學(xué)習(xí)習(xí)慣,課堂上自控能力較差,注意力分散,但他們普遍身體素質(zhì)較好,思維活躍,善于交流,上大學(xué)后有一種時(shí)間緊迫感,希望將過去失去的補(bǔ)回來,學(xué)習(xí)熱情與積極性非常高。對于這部分學(xué)生,若仍然按照傳統(tǒng)的教學(xué)模式先理論后實(shí)驗(yàn)按章就節(jié)地進(jìn)行教學(xué),筆者發(fā)現(xiàn)很難保證大多數(shù)同學(xué)正常完成教學(xué)計(jì)劃,而且很容易造成班里同學(xué)兩極分化。少數(shù)學(xué)習(xí)較好的同學(xué)總感到課程內(nèi)容不夠?qū)W,而大多數(shù)同學(xué)則感到較為吃力。首先對理論教學(xué)感到仿佛又回到從前一樣,其次對單調(diào)的純驗(yàn)證性質(zhì)的實(shí)驗(yàn)無論做出或做不出都不是積極主動地想方設(shè)法完成,而是像抄作業(yè)一樣敷衍了事,久而久之失去學(xué)習(xí)興趣,導(dǎo)致人生坐標(biāo)的盲然,不能有效地利用大學(xué)這一段人生經(jīng)歷中最為寶貴的時(shí)光。針對這一大類學(xué)生的實(shí)際情況,什么樣的教學(xué)方法才能將他們的學(xué)習(xí)熱情調(diào)動起來?
筆者嘗試過許多方法,如采用案例教學(xué)法由淺入深地講解難點(diǎn)重點(diǎn)課,調(diào)整授課課序、刪繁就簡講解理論核心課,整合零散實(shí)驗(yàn)為項(xiàng)目實(shí)驗(yàn)提高實(shí)驗(yàn)興趣,增加專用實(shí)驗(yàn)設(shè)備提高實(shí)驗(yàn)效率,雖然所有這些方法的應(yīng)用對課程的改進(jìn)都有所幫助,但效果平平,與改進(jìn)付出的代價(jià)相比,回報(bào)實(shí)在是太有限了!難道計(jì)算機(jī)課程的教學(xué)只能如此嗎?有沒有更好的解決這一問題的方法?怎樣才能改變被動教學(xué)為主動教學(xué)?回到經(jīng)典的教學(xué)理論中尋求答案:學(xué)習(xí)過程中,學(xué)生是主體,教師是主導(dǎo),只有把學(xué)生的主動性調(diào)動起來,教師才能起到導(dǎo)的作用,因此必須想盡一切辦法調(diào)動學(xué)生的積極性。筆者分析學(xué)生不主動的原因主要是直接看不到課程內(nèi)容的用途,實(shí)驗(yàn)課程中的成就感不強(qiáng)。如何增強(qiáng)這兩方面的意識呢?筆者想到了產(chǎn)品。并在普遍認(rèn)為“學(xué)生難學(xué),教師難教”的“匯編語言程序設(shè)計(jì)”課程中進(jìn)行試驗(yàn),結(jié)果獲得了意想不到的效果,真有“柳岸花明又一村”的感覺。筆者將這種方法總結(jié)為“學(xué)用互動,實(shí)踐為先”的教育觀念和“實(shí)踐理論實(shí)驗(yàn)實(shí)踐理論實(shí)驗(yàn)……”的教學(xué)模式。所謂學(xué)用互動,就是邊學(xué)邊用,學(xué)點(diǎn)用點(diǎn);所謂實(shí)踐為先,就是先進(jìn)行操作實(shí)踐,籍以建立問題,再通過理論課與實(shí)驗(yàn)課理解和解決問題,在整個(gè)教學(xué)環(huán)節(jié)中,增加了實(shí)踐課的教學(xué)。那么什么是實(shí)踐課呢?實(shí)踐課與實(shí)驗(yàn)課有何區(qū)別?實(shí)踐課能否代替實(shí)驗(yàn)課?增加實(shí)踐課后給教學(xué)帶來了哪些新問題?如何處理這些新問題?下面是筆者的一些體會和認(rèn)識。
在“實(shí)踐理論實(shí)驗(yàn)實(shí)踐理論實(shí)驗(yàn)……”的教學(xué)模式中,實(shí)踐課開在理論課與實(shí)驗(yàn)課之前,特別是第一節(jié)課,學(xué)生在對課程一無所知的情況下實(shí)踐什么。這實(shí)際上就是如何理解實(shí)踐課的問題。在開實(shí)踐課之前,教師必須精心策劃實(shí)踐課的內(nèi)容,實(shí)踐就是實(shí)例操作,就是實(shí)際應(yīng)用,這種操作首先是與待講課程內(nèi)容緊密相關(guān),其次是操作應(yīng)該簡單易行,再就是操作確能激發(fā)學(xué)生興趣。對于計(jì)算機(jī)類課程,任何半成品都不能完成正常的操作功能,而太復(fù)雜的成品對教學(xué)也不合適,選擇合適教學(xué)的產(chǎn)品是非常重要的。經(jīng)過一個(gè)學(xué)期的學(xué)習(xí),學(xué)生能夠在不斷的實(shí)踐課程中反復(fù)操作、應(yīng)用、模仿、制造、創(chuàng)新出一個(gè)力所能及的計(jì)算機(jī)產(chǎn)品,這就是實(shí)踐課的主要內(nèi)容和任務(wù)。
實(shí)踐課與實(shí)驗(yàn)課的區(qū)別何在?眾所周知,實(shí)驗(yàn)課是“驗(yàn)證”性質(zhì)的,通過重復(fù)操作事先設(shè)計(jì)好的一個(gè)有序步驟,驗(yàn)證課堂所講內(nèi)容的正確性,非常致命的是這種驗(yàn)證往往是片斷性質(zhì)的,無論教師還是學(xué)生要將所有的片斷有機(jī)組成一個(gè)整體的概念其實(shí)真不是件容易的事。另外,實(shí)驗(yàn)僅需要部分與課程本身相關(guān)的知識,而實(shí)踐需要的是更加廣泛的知識,實(shí)驗(yàn)的結(jié)果是單一的,單一的結(jié)果能提高學(xué)生的學(xué)習(xí)興趣嗎?實(shí)踐的結(jié)果是多變的,夾雜著同學(xué)之間與教師之間相同的和不同的理解。實(shí)驗(yàn)課一般不含產(chǎn)品設(shè)計(jì)、產(chǎn)品制造的概念,因而仍然與實(shí)際應(yīng)用脫離較遠(yuǎn),實(shí)踐課通過模仿與創(chuàng)新努力制造一個(gè)產(chǎn)品,直接應(yīng)用于實(shí)際。
實(shí)踐課能否代替實(shí)驗(yàn)課?不能。實(shí)驗(yàn)課緊密聯(lián)系本課程本單元的教學(xué)內(nèi)容,經(jīng)過精心設(shè)計(jì)的實(shí)驗(yàn)課程,易于學(xué)生在短時(shí)間內(nèi)對所學(xué)知識點(diǎn)進(jìn)行驗(yàn)證,缺點(diǎn)是知識點(diǎn)孤立,不易與相關(guān)知識點(diǎn)發(fā)生聯(lián)系,而孤立的知識點(diǎn)很難完善地與實(shí)際情況聯(lián)系起來,造成理論脫離實(shí)際的尷尬教學(xué)局面,因而“教者難教,空洞無物”,“學(xué)者難學(xué),不知用處”。用實(shí)踐課的方法來彌補(bǔ)實(shí)驗(yàn)課的這一缺陷,使教者有實(shí)例,學(xué)者直接看到知識點(diǎn)的用途,就會營造出“教者并非是從書本到書本,而是直接從書本到實(shí)際”,“學(xué)者并非是簡單的完成作業(yè),而是要聯(lián)系實(shí)際解決問題”的生動活潑的教學(xué)氣氛。學(xué)者主動了,自然就會“教者易教,學(xué)者易學(xué)”了,而這正好解決了我們目前教學(xué)中存在的問題。
增加實(shí)踐課后帶來的問題:實(shí)踐、講授與實(shí)驗(yàn)課時(shí)比例如何分配?教學(xué)課時(shí)是否需要增加?與本課程相關(guān)的前驅(qū)課程和后繼課程有何變化?實(shí)踐課中輔助知識點(diǎn)怎么提供?課程整個(gè)進(jìn)程中實(shí)例怎么安排?諸如此類的問題還有許多,但最關(guān)鍵的還是要具體課程具體對象具體分析。一般來說,基礎(chǔ)課不需要安排實(shí)踐課,專業(yè)基礎(chǔ)課可少量安排一些實(shí)踐課,專業(yè)課則應(yīng)該有比較多的實(shí)踐課。教學(xué)課時(shí)應(yīng)該作調(diào)整,但總課時(shí)不會增加。前驅(qū)與后繼課程基本上不需要變動,重復(fù)的實(shí)踐課程要有深度變化。輔助知識點(diǎn)有些是已經(jīng)學(xué)過的,有些是待學(xué)的,有些是在校期間不可能在課程中學(xué)到的,它們主要由輔導(dǎo)教師提供給學(xué)生,同時(shí)也鼓勵(lì)學(xué)生自己通過資料解決。提供的實(shí)例不能偏離課程太遠(yuǎn),不能太難太大,實(shí)例可以是一個(gè),也可以是多個(gè),可以是從頭到尾完成一個(gè)完整的產(chǎn)品,也可以是做某個(gè)新產(chǎn)品的某一部分或一個(gè)環(huán)節(jié)。
三、在“匯編語言程序設(shè)計(jì)”課程中的運(yùn)用
在各門計(jì)算機(jī)課程中,“匯編語言程序設(shè)計(jì)”是最令所有的教師和學(xué)生頭疼的一門課程,為什么會這樣?我們分析主要有以下幾個(gè)原因。
1. 對“匯編語言程序設(shè)計(jì)”課程的難度認(rèn)識不足
在學(xué)習(xí)“匯編語言程序設(shè)計(jì)”課程之前,學(xué)生往往會憑借學(xué)習(xí)“C/C++高級語言程序設(shè)計(jì)”課程的經(jīng)驗(yàn)類比“匯編語言程序設(shè)計(jì)”,誤以為重點(diǎn)在于掌握匯編指令功能與格式進(jìn)而用它們組合出典型的程序結(jié)構(gòu),部分同學(xué)甚至?xí)ふ液屠斫鈪R編“語句”,結(jié)果在課程一開始接觸計(jì)算機(jī)原理的部分內(nèi)容時(shí)總是經(jīng)歷一段由漫不經(jīng)心到盲然無策的過程,之后剛進(jìn)入狀態(tài)又被接口驅(qū)動打得昏昏沉沉,整個(gè)的學(xué)習(xí)過程亦常痛苦。殊不知“匯編語言程序設(shè)計(jì)”雖然也是“程序設(shè)計(jì)”,但與“高級語言程序設(shè)計(jì)”是完全不同的“程序設(shè)計(jì)”,其不同之處在于“高級語言程序設(shè)計(jì)”是真正獨(dú)立的語言,而“匯編語言程序設(shè)計(jì)”是非獨(dú)立語言,必須結(jié)合具體機(jī)型才有意義。也就是說,學(xué)習(xí)“高級語言程序設(shè)計(jì)”不學(xué)習(xí)計(jì)算機(jī)硬件結(jié)構(gòu)也可進(jìn)行,而學(xué)習(xí)“匯編語言程序設(shè)計(jì)”必須首先了解計(jì)算機(jī)硬件結(jié)構(gòu),而且不是一般性了解,對這一點(diǎn)認(rèn)識不足是直接導(dǎo)致“匯編語言程序設(shè)計(jì)”課程失敗的主要原因。
2. 開課的課序有問題
通常認(rèn)為學(xué)習(xí)“軟件”類課程所需的基礎(chǔ)知識來源較為廣泛,而“硬件”類課程所需的基礎(chǔ)知識則較專業(yè),因此大多數(shù)院校都將“匯編語言程序設(shè)計(jì)”課程作為“計(jì)算機(jī)原理”課程的前導(dǎo)課程,但事實(shí)上業(yè)內(nèi)人士都十分清楚這兩門課程彼此相依的親密關(guān)系,因此筆者在講述“匯編語言程序設(shè)計(jì)”課程相關(guān)計(jì)算機(jī)原理部分的知識時(shí)從不以夠用為度,而是盡力講到位,只有這樣,“匯編語言程序設(shè)計(jì)”課程才能順利進(jìn)行。
3. 教學(xué)方法需要改變
歷來的“匯編語言程序設(shè)計(jì)”課程采用“理論實(shí)驗(yàn)理論實(shí)驗(yàn)……”的教學(xué)模式,學(xué)生被動地接受并片斷性地運(yùn)用所學(xué)知識解決實(shí)際問題,綜合運(yùn)用所掌握知識和技能分析解決問題的能力得不到鍛煉,使課程陷入“就事論事”的尷尬局面,改變這種情況可采用各種辦法,改變現(xiàn)在的教學(xué)方法也是非常值得探討的辦法之一。
4. 實(shí)驗(yàn)條件
歷來的“匯編語言程序設(shè)計(jì)”課程均以80X86系列芯片作為核心硬件模型并以此模型進(jìn)行各種實(shí)驗(yàn)操作,這種實(shí)驗(yàn)條件存在幾個(gè)明顯的不足:實(shí)驗(yàn)項(xiàng)目確定,學(xué)生可發(fā)揮性受到制約;需要專門的實(shí)驗(yàn)室環(huán)境,限定了學(xué)生的實(shí)驗(yàn)時(shí)間;所有實(shí)驗(yàn)項(xiàng)目與實(shí)際應(yīng)用都偏離較遠(yuǎn),不利于培養(yǎng)學(xué)生解決實(shí)際問題的能力。無疑這種實(shí)驗(yàn)條件是需要改變的,但如何改變呢?
5. 學(xué)無所用,學(xué)生學(xué)習(xí)積極性不高
由于“匯編語言程序設(shè)計(jì)”課程中沒有頗具說服力的實(shí)例擺在學(xué)生面前,因此“匯編語言是計(jì)算機(jī)技術(shù)的重要知識體系”、“匯編語言是快速、高效的程序設(shè)計(jì)語言”、“匯編語言是在實(shí)際工作中應(yīng)用極其廣泛的語言”等等說教就成為不被學(xué)生認(rèn)可的空話,從而一開始便抑制了學(xué)生學(xué)習(xí)“匯編語言程序設(shè)計(jì)”課程的積極性。
面對上述一些問題,筆者在“匯編語言程序設(shè)計(jì)”課程教學(xué)中運(yùn)用了“實(shí)踐理論實(shí)驗(yàn)實(shí)踐理論實(shí)驗(yàn)……”的教學(xué)模式,采用凌陽十六位單片機(jī)SPCE061A作為硬件實(shí)驗(yàn)?zāi)P?,精心組織了一學(xué)期的“匯編語言程序設(shè)計(jì)”實(shí)踐課程,結(jié)合以往的教學(xué)慣例,比較有效地調(diào)動了學(xué)生學(xué)習(xí)“匯編”的興趣。筆者在實(shí)踐課中的具體做法是:
將一些有代表性的應(yīng)用匯編語言的產(chǎn)品和往屆生的作品通過參觀、講解、解剖、試玩等方法介紹給學(xué)生,如聲控玩具汽車、機(jī)器人、報(bào)時(shí)鐘、復(fù)讀機(jī)、電梯模型等,然后給學(xué)生提出課程的任務(wù)和要求,如必須獨(dú)立或合作完成一個(gè)作品,從開始計(jì)劃到中間實(shí)施步驟到最后完成調(diào)試,之后學(xué)生的每一次實(shí)踐課都按既定計(jì)劃執(zhí)行,實(shí)踐課程中與匯編相關(guān)的問題由學(xué)生通過課堂教學(xué)和實(shí)驗(yàn)課解決,輔助知識由任課教師和輔導(dǎo)教師幫助解決。借助于實(shí)踐課,解決了“匯編語言程序設(shè)計(jì)”課程中“軟”“硬”結(jié)合、條件不充分、學(xué)無興趣等諸多問題,學(xué)習(xí)實(shí)效大大提高。
篇6
關(guān)鍵詞: C 語言;匯編語言;混合編程
中圖分類號:TP313 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2014)24-0231-02
0 引言
匯編語言是一種面向機(jī)器的語言,其優(yōu)點(diǎn)是運(yùn)行速度快,占用存儲空間小,可直接對硬件進(jìn)行控制。缺點(diǎn)是編寫、調(diào)試?yán)щy、移植性差。C語言簡潔、靈活、庫函數(shù)豐富、調(diào)試方便、移植性好,目前已被廣泛地應(yīng)用于系統(tǒng)軟件和應(yīng)用軟件的開發(fā)中,為了發(fā)揮各自優(yōu)勢,取長補(bǔ)短,采用混合編程。大部分程序,如界面、人機(jī)接口(外殼程序)、數(shù)據(jù)處理等用C語言編寫,以提高程序的開發(fā)效率。而某些程序,如需要縮短程序的運(yùn)行時(shí)間,或需要對硬件進(jìn)行直接操作,或需要利用操作系統(tǒng)的某些功能模塊,或頻繁使用的程序、或需要占用內(nèi)存空間少的程序(內(nèi)核程序),則用匯編編寫,以提高程序的運(yùn)行效率。
1 嵌入式匯編
嵌入式匯編也稱行內(nèi)匯編,源程序中直接插入?yún)R編語句。匯編語句可直接訪問C程序中定義的常量、變量、函數(shù)。不必考慮二者之間的接口,方便編程。
1.1 嵌入式匯編語句的格式
格式:asm操作碼 操作數(shù)[;或換行]
其中:操作數(shù)可以是匯編語句中的立即數(shù)、寄存器、表達(dá)式等還可以是C中的常量、變量、標(biāo)號等。分號;是匯編語句結(jié)束符,并非注解,要用注解,用C的注解。如下例
所示。
1.2 匯編語句訪問C的數(shù)據(jù)
嵌入的匯編語句可以訪問C語言程序中的任何標(biāo)識符,包括變量、常量、標(biāo)號、函數(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ī)則
①命名約定:匯編的名字前加一個(gè)下劃線,C的名字前不加下劃線(編譯后內(nèi)部自動加),以確保兩個(gè)模塊內(nèi)部名字一致。
3 結(jié)語
混合編程,主要涉及接口,匯編調(diào)C的函數(shù)、全局變量。C調(diào)匯編的函數(shù)、變量。本文對此做了淺述。
參考文獻(xiàn):
[1]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].清華大學(xué)出版社,2004.
篇7
關(guān)鍵詞:匯編語言;課程;教學(xué);學(xué)時(shí)
中圖分類號:G642文獻(xiàn)標(biāo)識碼: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
“匯編語言”是計(jì)算機(jī)專業(yè)學(xué)員必修的一門專業(yè)基礎(chǔ)課程,對培養(yǎng)學(xué)員程序設(shè)計(jì)能力,理解計(jì)算機(jī)工作原理,從事底層軟件開發(fā)和軟硬件結(jié)合的項(xiàng)目開發(fā)均具有非常重要的應(yīng)用。但是,這門課程又是學(xué)員感到比較難學(xué)的一門課程,習(xí)慣了采用面向?qū)ο蠡蚪Y(jié)構(gòu)化程序設(shè)計(jì)思想的高級語言程序設(shè)計(jì)方法,對匯編語言這種偏“機(jī)器化”的低級語言編程方法,學(xué)員們一時(shí)難以理解和接受,再加上有較多的語法規(guī)則和指令尋址方式需要記憶,語言編程環(huán)境又不熟練,使得學(xué)員在一開始學(xué)習(xí)時(shí)便陷入茫然狀態(tài)。因此,就本門課程如何提高教學(xué)質(zhì)量,增強(qiáng)教學(xué)效果,提高學(xué)員在一些底層軟件和軟硬結(jié)合方面的編程能力,是一個(gè)值得重視的問題。該文結(jié)合作者過去幾年的教學(xué)實(shí)踐,就目前計(jì)算機(jī)專業(yè)匯編語言教學(xué)學(xué)時(shí)壓縮到了40學(xué)時(shí),我們總結(jié)了一些可行的、比較好的方法。
1匯編語言教學(xué)難點(diǎn)分析
1.1指令系統(tǒng)復(fù)雜
匯編語言的指令是用一些具有相應(yīng)含義的助記符來表達(dá)的,雖然有助于記憶,但是一般處理器的指令集少則幾十條多則上百條,所有這些指令要在幾節(jié)課內(nèi)全部講完,要求學(xué)員在這么短的時(shí)間內(nèi)準(zhǔn)確記憶這么多條指令幾乎是不可能的,更不用說讓其理解了。可如果指令掌握得不夠好,學(xué)員對大部分指令都感到陌生,在進(jìn)行程序設(shè)計(jì)時(shí)就會感到無從下手,甚至讀程序時(shí)也會覺得“云里霧里”,不理解程序的含義。這就猶如寫作文一樣,基本的語法不會,造句不成型,豈能寫出好的文章?
1.2教學(xué)時(shí)間縮短
計(jì)算機(jī)專業(yè)的課程更新速度快,隨著新知識的不斷涌入,不可避免要開設(shè)一些新的課程。例如:幾年前我們計(jì)算機(jī)專業(yè)還沒有開設(shè)Linux操作系統(tǒng)、嵌入式軟件開發(fā),網(wǎng)絡(luò)新技術(shù)、Oralc數(shù)據(jù)庫等課程,現(xiàn)在則新增加了這些課程,需要安排相當(dāng)?shù)慕虒W(xué)學(xué)時(shí)。而對于一些象匯編語言這樣的基礎(chǔ)課程又不能丟掉,所以只能縮短課程教學(xué)學(xué)時(shí)。這使得教員只能講授前面章節(jié)中的硬件基礎(chǔ)和指令這些比較枯燥的內(nèi)容,而許多比較有意義并且能讓學(xué)員產(chǎn)生學(xué)習(xí)熱情的內(nèi)容被刪除了,比如:圖像顏色和動畫程序設(shè)計(jì)的教學(xué)內(nèi)容。同時(shí)隨著實(shí)驗(yàn)學(xué)時(shí)的減少,造成學(xué)員往往只能做一些非?;A(chǔ)性的實(shí)驗(yàn),而一些能讓學(xué)員有“成就感”的實(shí)驗(yàn),如定時(shí)發(fā)聲、動畫顯示等實(shí)驗(yàn)已經(jīng)沒有時(shí)間安排了。這些均造成學(xué)員覺得這門課枯燥難學(xué),沒有耐性和興趣學(xué)習(xí),更不知道學(xué)了這門語言能干什么。
1.3學(xué)員基礎(chǔ)薄弱
我們在教學(xué)過程中,發(fā)現(xiàn)許多學(xué)員盡管學(xué)過C或C++,但是缺乏調(diào)試程序的基本能力,當(dāng)編譯或運(yùn)行過程中出現(xiàn)錯(cuò)誤時(shí)大多數(shù)學(xué)員只會對照已有的源代碼來查找錯(cuò)誤或請教員一起幫忙調(diào)試,不知道如何通過單步跟蹤和設(shè)置斷點(diǎn)來調(diào)試查找錯(cuò)誤。即使有些學(xué)員具備一些調(diào)試能力,他們的辦法也只是在必要的地方加一些輸出語句來觀察變量的值,不知道如何在調(diào)試環(huán)境中查看變量和內(nèi)存單元的值。因此,對于“更加復(fù)雜”(只是文本界面多些,用多了自然就熟悉了)的匯編調(diào)試環(huán)境,他們更加找不到解決問題的辦法。再加上匯編語言的輸入和輸出需要用到中斷,不像高級語言那么方便就能輸出一個(gè)變量的值,學(xué)員對于在內(nèi)存當(dāng)中直接觀察變量的值還不適應(yīng),所以當(dāng)出現(xiàn)問題時(shí),很少有學(xué)員能改正自己程序中的錯(cuò)誤。
1.4教學(xué)內(nèi)容陳舊
和大多數(shù)高校一樣,我們選用的教材是清華大學(xué)沈美明主編的《IBM-PC匯編語言程序設(shè)計(jì)》,該教材以8086指令系統(tǒng)為主來進(jìn)行介紹,實(shí)習(xí)實(shí)驗(yàn)環(huán)境主要還是DOS。然而這些教學(xué)和實(shí)驗(yàn)內(nèi)容與實(shí)際情況相距甚遠(yuǎn),我們知道不同的機(jī)器指令系統(tǒng)不同,而且隨著嵌入式處理器的廣泛應(yīng)用,用X86的指令系統(tǒng)編程的范圍越來越少,這使得學(xué)員在學(xué)完這門課后到實(shí)際編程環(huán)境中還要自學(xué)相關(guān)處理器的指令集,比如ARM、MIPS、PowerPC等。對于實(shí)驗(yàn)環(huán)境的選擇,大多數(shù)還是在DOS環(huán)境,由于現(xiàn)在的機(jī)器完全是Windows操作系統(tǒng),“圖形化”的編程界面,學(xué)員普遍對DOS這種文本的編程、調(diào)試環(huán)境不熟悉,調(diào)試結(jié)果難以出現(xiàn),實(shí)驗(yàn)結(jié)果感覺很抽象,使得學(xué)員在學(xué)習(xí)過程中產(chǎn)生一些畏難情緒。
2提高教學(xué)效果的可行方法
2.1采用多媒體教學(xué)
如果有可能,最好采用能夠邊上課、邊實(shí)驗(yàn)、邊演示的多媒體教室,使用多媒體課件教學(xué)。通過文字圖像、聲音、動畫來激發(fā)學(xué)員的學(xué)習(xí)熱情,增強(qiáng)教學(xué)效果。充分利用多媒體的功能,模擬程序指令的執(zhí)行過程,著重描繪教學(xué)重點(diǎn)和難點(diǎn)。我們可以在教室的機(jī)器上安裝調(diào)試環(huán)境,在上課過程中對一些簡單指令執(zhí)行使用調(diào)試環(huán)境進(jìn)行演示,給學(xué)員一個(gè)了解“機(jī)器世界”的窗口,真正理解機(jī)器(CPU)對指令的執(zhí)行過程。這樣可以使學(xué)員快速入門,對學(xué)習(xí)本課程建立初步的信心。
2.2精心選擇教材
教材是提高教學(xué)質(zhì)量的基礎(chǔ)和前提,是學(xué)員系統(tǒng)學(xué)習(xí)知識的依據(jù)。一本好教材對于培養(yǎng)學(xué)員自學(xué)能力和獨(dú)立思考能力起著積極的作用。學(xué)員可以依據(jù)教材理解課堂教學(xué)內(nèi)容,深入了解本學(xué)科各個(gè)領(lǐng)域的知識。對于清華大學(xué)的《IBM-PC匯編語言程序設(shè)計(jì)》這本教材,雖然它的內(nèi)容全面而且豐富,但是由于教學(xué)學(xué)時(shí)的減少,導(dǎo)致很多內(nèi)容特別是應(yīng)用方面的內(nèi)容無法講解,因此很多內(nèi)容只能作為自學(xué)內(nèi)容,在教學(xué)中我們發(fā)現(xiàn)一本教材如果有較多的內(nèi)容不講或者作為自學(xué)內(nèi)容,學(xué)員會“錯(cuò)誤地”認(rèn)為這門課不重要或太難學(xué)。所以我們建議更換教材,不再以8086指令系統(tǒng)為基礎(chǔ),考慮到嵌入式系統(tǒng)的發(fā)展趨勢,可以加入一些RAM指令集、32位匯編和AT&T匯編的內(nèi)容,為后續(xù)的嵌入式系統(tǒng)及其其它相關(guān)課程打下一些基礎(chǔ)。
2.3優(yōu)化教學(xué)內(nèi)容
目前,這門課程主要的教學(xué)內(nèi)容有:基本知識(數(shù)、計(jì)算機(jī)組織),編程工具(指令系統(tǒng)、尋址方式),編程方法(三種結(jié)構(gòu)、過程)和應(yīng)用(發(fā)聲、圖形程序設(shè)計(jì))。由于學(xué)時(shí)數(shù)的減少,我們建議壓縮或取消發(fā)聲、圖形程序設(shè)計(jì)這部分的內(nèi)容,如果教員覺得非常必要講,可以安排在課程設(shè)計(jì)部分(不占課程教學(xué)學(xué)時(shí))。另外鑒于目前網(wǎng)絡(luò)安全、網(wǎng)絡(luò)病毒泛濫的嚴(yán)峻形式,建議在應(yīng)用部分教學(xué)中適當(dāng)增加病毒程序設(shè)計(jì)的內(nèi)容。對于前三部分的內(nèi)容也可根據(jù)實(shí)際情況進(jìn)行適當(dāng)壓縮。與此同時(shí),匯編語言是作為嵌入式系統(tǒng)開發(fā)與應(yīng)用和嵌入式系統(tǒng)課程設(shè)計(jì)的專業(yè)基礎(chǔ)課,結(jié)合計(jì)算機(jī)專業(yè)課程設(shè)置,建議在最后余留四到六學(xué)時(shí)的時(shí)間介紹一下ARM指令系統(tǒng),將x86指令系統(tǒng)和ARM指令系統(tǒng)進(jìn)行對比學(xué)習(xí),為后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。
2.4注重教學(xué)實(shí)踐
匯編語言課程一般安排在大三的第一學(xué)期開始,40學(xué)時(shí)的課程在學(xué)期前半程就結(jié)束了。雖然學(xué)時(shí)數(shù)縮短了,我們還是不能忽略本門課程的實(shí)踐這一重要的環(huán)節(jié)。因?yàn)閷W(xué)習(xí)一門語言課,其最直接的目的是用它去編寫程序。因此,建議在課程結(jié)束后,利用后半學(xué)期業(yè)余時(shí)間給學(xué)員安排課程設(shè)計(jì),到學(xué)期末結(jié)束并驗(yàn)收結(jié)果。對課程設(shè)計(jì)的要求不能太高,我們可以先提供給學(xué)員一些案例的源代碼,比如:經(jīng)典病毒、月下情人動畫、產(chǎn)生隨機(jī)數(shù)、簡單學(xué)員成績管理系統(tǒng)、卡通小鬧鐘、文本編輯器等匯編源代碼。一方面先要求學(xué)員選擇一個(gè)案例詳細(xì)分析,給出詳細(xì)的注釋、程序設(shè)計(jì)流程、體系結(jié)構(gòu)等;然后在理解、掌握的基礎(chǔ)上,再對本案例進(jìn)行修改設(shè)計(jì)出一個(gè)新的小系統(tǒng)。這種做法既能提高學(xué)員的學(xué)習(xí)積極性,又能鍛煉其讀程序、編程序的能力,而且沒有占用教學(xué)學(xué)時(shí)。
2.5優(yōu)化考核方式
傳統(tǒng)的匯編語言課程考核方式主要是實(shí)行閉卷筆試,但是大多數(shù)學(xué)員在做編程題時(shí),普遍反映由于指令太多,要用的指令記不住,導(dǎo)致編程題做不出來。從近兩年的考試看,編程題得分高的學(xué)員很少。所以考試不能很好地反映出學(xué)員學(xué)習(xí)的好壞,特別是編程能力。因此建議考試形式采用:閉卷筆試50%+開卷上機(jī)編程20%+課程設(shè)計(jì)30%。這是因?yàn)閰R編語言的一些基本知識還是需要筆試來考查:比如尋址方式,邏輯地址,物理地址等;上機(jī)考試可以出一些比較簡單而有代表性的題目,估計(jì)大多數(shù)學(xué)員在給定的時(shí)間內(nèi)可以做完,這樣學(xué)員不用暫時(shí)去背太多的指令(當(dāng)然如果用多了就不用背了),又可以測試他們現(xiàn)場調(diào)試程序的能力;由于上機(jī)考試時(shí)間的限制,只能出一些簡單的編程題目,不能完全體現(xiàn)學(xué)員對知識的綜合運(yùn)用能力,所以要通過課程設(shè)計(jì)來補(bǔ)充考核這方面能力,當(dāng)然時(shí)間可以延長到學(xué)期末。
3結(jié)束語
壓縮學(xué)時(shí)后的匯編語言課程教學(xué),不能只注重完成理論教學(xué)內(nèi)容,而忽視對學(xué)員編程能力的培養(yǎng)。教學(xué)過程中不僅要理論聯(lián)系實(shí)際,還要注重形象性、生動性和趣味性,幫助學(xué)員理解,培養(yǎng)他們的興趣,提高教學(xué)效果。要在現(xiàn)有的資源和條件下,盡可能地挖掘教員和學(xué)員的潛能,把匯編語言課程教與學(xué)做得更好。
參考文獻(xiàn):
篇8
關(guān)鍵詞:C語言;高職;單片機(jī)
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
“C語言程序設(shè)計(jì)”是高職高專電子專業(yè)的專業(yè)必修課。傳統(tǒng)教學(xué)以理論為主,以學(xué)科本位的邏輯體系來設(shè)計(jì)課程的教學(xué)內(nèi)容。課程內(nèi)容沒有與高職電子專業(yè)的其他課程有機(jī)銜接,不符合高職高專技能培養(yǎng)的特點(diǎn)。學(xué)生在學(xué)習(xí)C語言之后,不能用之有效地解決實(shí)際問題,學(xué)生的學(xué)習(xí)積極性難以調(diào)動,因此有必要對該課程進(jìn)行改革。
1 現(xiàn)狀分析
目前高等學(xué)校都把“C語言程序設(shè)計(jì)”作為理工科非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教育課程,屬于計(jì)算機(jī)基礎(chǔ)教育課程的一部分。但課程設(shè)置并沒有考慮與其他專業(yè)課程之間的關(guān)系,沒有針對高職應(yīng)用電子技術(shù)的專業(yè)特點(diǎn),成了非計(jì)算機(jī)專業(yè)學(xué)生的“計(jì)算機(jī)通識教育”課程。
雖然許多學(xué)校對“C語言程序設(shè)計(jì)”課程從教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面進(jìn)行了大膽的改革,把邏輯與編程解題思路(算法)放在主體地位,講解如何分析問題和解決問題;但是受“在學(xué)校里牢固掌握基礎(chǔ)知識,畢業(yè)后在實(shí)踐中積累經(jīng)驗(yàn)”這種傳統(tǒng)的教學(xué)理念的影響,把培養(yǎng)學(xué)生閱讀程序、設(shè)計(jì)程序的能力,分析問題、、解決問題的能力和邏輯思維能力作為教學(xué)目標(biāo)。課堂上學(xué)到的也只是用C語言解決一些數(shù)學(xué)問題,所學(xué)內(nèi)容和實(shí)際應(yīng)用相脫節(jié),認(rèn)識不到“C語言程序設(shè)計(jì)”和自己專業(yè)之間的關(guān)系,學(xué)生在學(xué)習(xí)C語言之后,不能用C語言編寫為本專業(yè)服務(wù)的應(yīng)用軟件。特別對高職高專電子專業(yè)學(xué)生來說,C語言的知識成了他們專業(yè)知識結(jié)構(gòu)中的一個(gè)“孤島”。
2 改革的必要性
C語言是影響深遠(yuǎn)的、傳統(tǒng)的、優(yōu)秀的面向過程的結(jié)構(gòu)化程序設(shè)計(jì)語言。C語言功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、應(yīng)用面廣、代碼轉(zhuǎn)換質(zhì)量高。C語言方便進(jìn)行模塊化軟件設(shè)計(jì),還可以實(shí)現(xiàn)C語言和匯編語言的混合編程。C語言既具有高級語言的優(yōu)點(diǎn),又具有低級語言的許多特點(diǎn),能像匯編語言那樣直接利用CPU的硬件特性進(jìn)行程序設(shè)計(jì)。既可以編寫應(yīng)用軟件,又可以編寫系統(tǒng)軟件。和匯編語言相比,C高級語言程序設(shè)計(jì)快、可讀性、可移植性和可維護(hù)性好。一般情況下,完成同樣的任務(wù),使用C高級語言比用匯編語言可提高工作效率5-10倍,在調(diào)試階段更容易體會到這一點(diǎn),因此C語言特別適合單片機(jī)的開發(fā)。嵌入式系統(tǒng)中使用的嵌入式操作系統(tǒng)絕大部分也都是以C高級語言為基礎(chǔ)的,很多直接將源代碼提供給使用者。目前在單片機(jī)應(yīng)用領(lǐng)域,C高級語言越來越受到人們的重視。用C語言進(jìn)行單片機(jī)程序設(shè)計(jì)已經(jīng)成為單片機(jī)開發(fā)的一個(gè)主流,是單片機(jī)開發(fā)與應(yīng)用的必然趨勢。
單片機(jī)課程是應(yīng)用電子技術(shù)及相關(guān)專業(yè)的一門重要的專業(yè)主干課,在專業(yè)基礎(chǔ)課和其他專業(yè)課方面起著重要的橋梁作用。它涉及到的基礎(chǔ)理論知識較廣,應(yīng)用范圍廣,是一門實(shí)踐性、工程性很強(qiáng)的技術(shù)課程,在電子技術(shù)及相關(guān)專業(yè)課程中群中占有十分重要的地位。電子專業(yè)的學(xué)生普遍將單片機(jī)用于課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)和電子產(chǎn)品設(shè)計(jì)大賽等許多實(shí)踐環(huán)節(jié)。單片機(jī)應(yīng)用也是學(xué)生將來在電子類公司或電子行業(yè)工作的最基本的技能?!皢纹瑱C(jī)原理與應(yīng)用”課程都是基于匯編語言的,高職高專學(xué)生很難應(yīng)用匯編語言去搞程序設(shè)計(jì),學(xué)生學(xué)到的單片機(jī)知識不能得到應(yīng)用。
高等職業(yè)教育的培養(yǎng)目標(biāo)是:培養(yǎng)既有一定理論基礎(chǔ)又有較強(qiáng)實(shí)踐能力,在生產(chǎn)服務(wù)第一線工作高層次的實(shí)用型、技術(shù)型人才,它不同于一般本科院校的學(xué)術(shù)型、工程型人才的培養(yǎng)目標(biāo)。就高職應(yīng)用電子技術(shù)專業(yè)而言,它培養(yǎng)強(qiáng)電弱電相結(jié)合,以弱電為主,并能熟練應(yīng)用電氣技術(shù)、計(jì)算機(jī)技術(shù)和控制技術(shù)等現(xiàn)代科學(xué)技術(shù),具有較強(qiáng)實(shí)踐能力的技術(shù)管理人才。強(qiáng)調(diào)應(yīng)用性、實(shí)用性是高職教育的特色,教學(xué)內(nèi)容突出基礎(chǔ)理論知識的應(yīng)用和實(shí)踐能力培養(yǎng)的原則,以應(yīng)用為目的,以“必需、夠用”為度,加強(qiáng)針對性和實(shí)用性。
因此,高職應(yīng)用電子專業(yè)的“C語言程序設(shè)計(jì)課程”應(yīng)不同于本科相應(yīng)專業(yè),也應(yīng)不同于高職其他專業(yè)?!癈語言程序設(shè)計(jì)”課程的開設(shè)應(yīng)緊扣本專業(yè)的特點(diǎn),為本專業(yè)的培養(yǎng)目標(biāo)服務(wù)。如果將“C語言程序設(shè)計(jì)”變成“單片機(jī)C語言程序設(shè)計(jì)”,學(xué)生通過本課程的學(xué)習(xí)掌握單片機(jī)C語言程序設(shè)計(jì)方法,達(dá)到獨(dú)立利用C語言編寫單片機(jī)應(yīng)用程序的目的。將C語言“知識孤島”和單片機(jī)“知識孤島”連接起來,結(jié)合所學(xué)其他專業(yè)知識,使學(xué)生學(xué)會應(yīng)用單片機(jī)開發(fā)電子系統(tǒng)的基本方法。如果學(xué)生以后需要用C語言或其他高級語言開發(fā)通用計(jì)算機(jī)系統(tǒng)的應(yīng)用軟件或系統(tǒng)軟件,有了“單片機(jī)C語言程序設(shè)計(jì)”的基礎(chǔ),可以觸類旁通,很容易掌握其他高級程序設(shè)計(jì)語言。這也符合從特殊到一般,再從一般到特殊的認(rèn)知規(guī)律。
3 課程改革設(shè)想:
3.1 課程內(nèi)容的改革
把“C語言程序設(shè)計(jì)”置換為“單片機(jī)C語言程序設(shè)計(jì)”,放在“單片機(jī)原理與應(yīng)用”課程之后開設(shè),將“計(jì)算機(jī)基礎(chǔ)教育”課程變成“單片機(jī)開發(fā)技能”課程。課程內(nèi)容適用于C高級語言的初學(xué)者,包括數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、數(shù)組、指針和函數(shù)、程序的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)、程序設(shè)計(jì)基本知識和單片機(jī)的C編程等內(nèi)容。對C語言中較難或單片機(jī)程序不常使用的內(nèi)容,比如多維數(shù)組、指向指針的指針、鏈表等進(jìn)行刪減。相關(guān)例題應(yīng)本著“深入淺出,突出實(shí)用”的指導(dǎo)思想,難度應(yīng)與高職高專學(xué)生的基礎(chǔ)相適應(yīng),算法不要過于復(fù)雜。單片機(jī)的C語言編程部分主要應(yīng)包括中斷、定時(shí)器/計(jì)數(shù)器、串行口、鍵盤和顯示等相關(guān)應(yīng)用,適當(dāng)包含少量可編程芯片的應(yīng)用。所選內(nèi)容應(yīng)體現(xiàn)先進(jìn)性、實(shí)用性和技能培養(yǎng)的特點(diǎn),拋棄一些過時(shí)或不實(shí)用的內(nèi)容,把提高學(xué)生的職業(yè)技能放在突出的重要位置。整門課程應(yīng)將單片機(jī)和C語言有機(jī)結(jié)合起來,強(qiáng)調(diào)知識點(diǎn)在單片機(jī)程序設(shè)計(jì)中的應(yīng)用,體現(xiàn)“單片機(jī)C語言”的特色,避免把課程內(nèi)容分為“C語言程序設(shè)計(jì)”和“單片機(jī)C編程”兩部分。
3.2 編譯開發(fā)環(huán)境
以80C51系列為基礎(chǔ),開發(fā)環(huán)境選擇德國KeilSoftware公司的Keil uVision集成開發(fā)環(huán)境(當(dāng)前版本是uVision3)。這是一個(gè)基于Windows的開發(fā)平臺,集成了編輯器、項(xiàng)目管理器、Cx51編譯器、Ax51宏匯編器、BL51/Lx51連接定位器和調(diào)試器,用戶群極為龐大,符合教學(xué)特點(diǎn)的典型性。其中Cx51是專為80C51單片機(jī)設(shè)計(jì)的C語言編譯器,生成的程序代碼運(yùn)行速度高,存儲空間小。KeiluVision還提供了強(qiáng)大的項(xiàng)目管理功能,可以十分方便地進(jìn)行結(jié)構(gòu)化多模塊程序設(shè)計(jì),特別是Keil提供的純軟件模擬仿真功能(也支持硬件目標(biāo)板在線仿真),非常適合教學(xué)使用。Keil調(diào)試器支持?jǐn)帱c(diǎn)管理和程序代碼的多種 執(zhí)行方式(全速、單步、執(zhí)行到指定行等)。在調(diào)試狀態(tài)下有寄存器窗口、存儲器窗口、觀察窗口和命令窗口,用于程序執(zhí)調(diào)試過程中顯示單片機(jī)寄存器、存儲器、局部變量和觀察點(diǎn)的狀態(tài)和輸入各種調(diào)試命令。Keil uVision的集成功能(Peripherals)菜單可以打開中斷系統(tǒng)、I/O接口、串行口、定時(shí)器計(jì)數(shù)器等狀態(tài)窗口,通過這些狀態(tài)窗口可以觀察軟件仿真結(jié)果。
Keil uVision可以與PROTEUS整合構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室。PROTEUS是目前世界上最先進(jìn)最完善的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺,可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制器與外設(shè)組成的混合電路系統(tǒng)仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計(jì)等全部功能。由于PROTEUS軟件包逼真、真實(shí)的協(xié)同仿真功能,得到了包括劍橋在內(nèi)的眾多大學(xué)用戶的認(rèn)可,作為電子學(xué)或嵌入式系統(tǒng)的課程教學(xué)、實(shí)驗(yàn)和水平考試平臺。Keil uVision與PROTEUS通過設(shè)置聯(lián)機(jī)調(diào)試單片機(jī)系統(tǒng),在PROTEUS中完成單片機(jī)系統(tǒng)的電路原理圖繪制后,在Keil uVision集成開發(fā)環(huán)境中進(jìn)行程序設(shè)計(jì)、項(xiàng)目的創(chuàng)建、編譯鏈接和調(diào)試,同時(shí)可在PROTEUS查看直觀的結(jié)果(如鍵盤輸入和LCD顯示等)。
3.3 教學(xué)方式的改革
高職教學(xué)應(yīng)該是基礎(chǔ)和技能的教學(xué)同步進(jìn)行,甚至先教技能再教理論,在不斷實(shí)踐中掌握技能,在技能學(xué)習(xí)中提高基礎(chǔ)理論。在高級語言程序設(shè)計(jì)教學(xué)中,不能期望高職學(xué)生對每一個(gè)算法都理解。一些太復(fù)雜的算法、單片機(jī)應(yīng)用系統(tǒng)中常用芯片的驅(qū)動程序,可以以函數(shù)庫或軟件包的形式直接提供給學(xué)生,供學(xué)生在程序設(shè)計(jì)中調(diào)用,降低理論教學(xué)難度。
確立以學(xué)生為中心的教學(xué)理念。從學(xué)生實(shí)際出發(fā),以學(xué)生為本,采用多樣化、層次化的教學(xué)方法,貫徹循序漸進(jìn)、深入淺出的原則。學(xué)生沒有高級語言程序設(shè)計(jì)的基礎(chǔ),在“單片機(jī)C語言程序設(shè)計(jì)”教學(xué)中要注意分散難點(diǎn),縮小臺階。在內(nèi)容體例的設(shè)計(jì)上以實(shí)用為主,拋棄過多的語法細(xì)節(jié)和非通用的或?qū)嶋H用途很少的語言特性,理出重點(diǎn)和教學(xué)主線;采用一體化教學(xué)方法,以程序樣例為主實(shí)施教學(xué)。淡化語法教學(xué),以程序設(shè)計(jì)帶動基本語法的學(xué)習(xí)。
上機(jī)實(shí)驗(yàn)是掌握單片機(jī)C語言程序設(shè)計(jì)的必要手段。不能簡單地認(rèn)為上機(jī)實(shí)驗(yàn)只是輔的教學(xué)。程序設(shè)計(jì)的能力是在實(shí)際動手實(shí)踐中練就的,通過上機(jī)操作和驗(yàn)證可進(jìn)一步加深各種語句的理解,提高學(xué)生的編程能力。通過Keilu Vision與PROTEUS組成的聯(lián)機(jī)調(diào)試環(huán)境,熟練使用Keilu Vision和PROTEUS軟件對學(xué)生的深入學(xué)習(xí)有巨大的幫助。
篇9
摘 要:本文對計(jì)算機(jī)專業(yè)學(xué)生存在的專業(yè)課學(xué)習(xí)興趣低、自主學(xué)習(xí)能力弱以及工程能力不強(qiáng)等問題,進(jìn)行了分析和思考。結(jié)合匯編語言程序設(shè)計(jì)課程教學(xué)的實(shí)踐體會,探索如何引入工程案例改進(jìn)教學(xué)方法,激發(fā)學(xué)生專業(yè)學(xué)習(xí)的興趣,培養(yǎng)學(xué)生自主學(xué)習(xí)能力,逐步提升其工程能力。
關(guān)鍵詞:計(jì)算機(jī)專業(yè);工程案例教學(xué);工程能力;匯編語言程序設(shè)計(jì)
基金項(xiàng)目:重慶市教委(113014),地方高校計(jì)算機(jī)及其相關(guān)專業(yè)工程應(yīng)用型人才培養(yǎng)模式研究與實(shí)踐(2009006);重慶理工大學(xué)校級項(xiàng)目(2009006),結(jié)合工程認(rèn)證,創(chuàng)建新型的計(jì)算機(jī)專業(yè)教學(xué)體系。
作者簡介:徐世軍,男,教授,碩士生導(dǎo)師,研究方向嵌入式技術(shù);范偉,男,副教授,研究方向?yàn)橛?jì)算機(jī)應(yīng)用與物聯(lián)網(wǎng);黃賢英,女,教授,碩士生導(dǎo)師,研究方向計(jì)算機(jī)應(yīng)用。
1 背景
計(jì)算機(jī)科學(xué)與應(yīng)用技術(shù)的發(fā)展是高新技術(shù)的主要標(biāo)志,如何跟上時(shí)代的發(fā)展和社會的需求是計(jì)算機(jī)專業(yè)教學(xué)所面臨的挑戰(zhàn)。教育部計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會在2004年的《關(guān)于計(jì)算機(jī)人才需求的調(diào)研報(bào)告》中指出:計(jì)算機(jī)專業(yè)的學(xué)生仍處于應(yīng)試教育模式中,實(shí)踐課程少,動手能力不強(qiáng),導(dǎo)致學(xué)生畢業(yè)后競爭力不強(qiáng)。隨著近年來高校招生規(guī)模的擴(kuò)大,學(xué)生綜合素質(zhì)不斷下降;有些問題顯得更加突出,如:學(xué)生普遍學(xué)習(xí)能力較弱、缺乏學(xué)習(xí)的熱情,部分學(xué)生對專業(yè)不感興趣,甚至厭學(xué)。
工科畢業(yè)生缺乏工程背景、動手能力弱,被認(rèn)為是當(dāng)前大學(xué)教育的首要“弊病”。在擔(dān)任計(jì)算機(jī)專業(yè)教學(xué)工作之前,本人一直在企業(yè)從事工程設(shè)計(jì)和產(chǎn)品研發(fā)工作,這也使我有機(jī)會從社會需求和大學(xué)教學(xué)兩個(gè)不同的角度去觀察和思索一些問題。從社會需求角度去觀察大學(xué)畢業(yè)生,你會發(fā)現(xiàn)他們大多存在自主學(xué)習(xí)能力差、專業(yè)知識面窄(甚至除專業(yè)書本外一無所知)、動手能力差、思維僵化、方法能力和社會能力嚴(yán)重欠缺等不足。而高校教學(xué)的主要方法仍然是傳統(tǒng)的以理論知識灌輸為核心,力求學(xué)生能全面領(lǐng)會和掌握主要知識點(diǎn)。即使談到教學(xué)改革,很多學(xué)校的主要辦法還是把教學(xué)計(jì)劃排得更滿,讓學(xué)生學(xué)得更多、更細(xì)。從本質(zhì)上講,這仍然是應(yīng)試教育思維模式的一種延續(xù)[4]。
就計(jì)算機(jī)專業(yè)教材而言,多數(shù)是原理性、條款式、菜單型論述結(jié)構(gòu),內(nèi)容大都比較抽象和枯燥。若課程教學(xué)仍沿用以教師為中心、以理論灌輸為主、輕學(xué)生自主動手參與的傳統(tǒng)教學(xué)模式,將很不利于激發(fā)學(xué)生的學(xué)習(xí)興趣、調(diào)動其主動學(xué)習(xí)的積極性,當(dāng)然更不談不上培養(yǎng)學(xué)生的工程能力。
引導(dǎo)其學(xué)習(xí)興趣、培養(yǎng)自主學(xué)習(xí)的能力從而提高教學(xué)效果,是教學(xué)改革的關(guān)鍵;如何采用更有效的課堂教學(xué)的形式,逐步培養(yǎng)其動手能力,也已經(jīng)成為計(jì)算機(jī)各門專業(yè)課程都必須進(jìn)行反復(fù)思考和不斷改進(jìn)的重要課題。
2 改進(jìn)思路
究其原因,是我們在教學(xué)過程中很少注意去區(qū)分和思考“科學(xué)研究”和“工程技術(shù)”的差異問題。在實(shí)際工作中,社會對從事“科學(xué)研究”和“工程技術(shù)”的人員素質(zhì)和能力的要求是有很大差別的??茖W(xué)研究
往往是專注于某個(gè)專業(yè)并從某個(gè)專業(yè)領(lǐng)域入手,遵循系統(tǒng)、嚴(yán)密的理論推演,往往是由個(gè)人完成的;而工程技術(shù)需要的是綜合性知識和能力(有的工程甚至是憑一種感悟),一個(gè)具體的工程技術(shù)問題,大多不是一門專業(yè)學(xué)科知識所能解決的,需要多學(xué)科知識的綜合應(yīng)用。工程的許多條件常常是動態(tài)變化的,工程問題的解決更象是一場開卷考試――思路和方法更重要。工程更注重是團(tuán)隊(duì)行為(管理和協(xié)調(diào)),成員的協(xié)作精神常常決定了工程的成敗??茖W(xué)要求嚴(yán)謹(jǐn)和一絲不茍,而工程則注重對全局把握(可能會犧牲局部)和利害的權(quán)衡取舍[1]。因此,所謂“工程能力”實(shí)際上就是對上述“工程技術(shù)”素質(zhì)要求的綜合。
“授之以魚,莫若授之以漁”。我們要清楚地認(rèn)識到,工程能力的培養(yǎng)僅靠傳授科學(xué)知識是遠(yuǎn)遠(yuǎn)不夠的,它更加強(qiáng)調(diào)對學(xué)生思路和方法的訓(xùn)練,讓學(xué)生學(xué)會學(xué)習(xí)、學(xué)會思考、才能真正解決實(shí)際問題。簡言之:學(xué)生工程素質(zhì)和能力的培養(yǎng),就是通過各種具體工程案例教學(xué)使學(xué)生盡早學(xué)會用綜合的、全局的、動態(tài)的思維方法去發(fā)現(xiàn)問題、分析問題和解決問題,全面提高學(xué)生的專業(yè)能力和社會能力[3]。
3 具體方法
匯編語言程序設(shè)計(jì)課程的專業(yè)性、綜合性強(qiáng),涉及的知識點(diǎn)多,學(xué)生普遍反映抽象難懂,不易掌握。因?yàn)閰R編語言和機(jī)器的體系結(jié)構(gòu)結(jié)合緊密,使用者必須對計(jì)算機(jī)組成、硬件控制和指令解釋過程有比較清晰的理解和認(rèn)識,因此學(xué)生在學(xué)習(xí)中容易產(chǎn)生厭煩情緒,對匯編語言的學(xué)習(xí)熱情普遍不高。針對這些特點(diǎn),筆者注意從以下幾個(gè)方面入手進(jìn)行教學(xué)形式的改進(jìn)和嘗試。
1) 讓學(xué)生盡早領(lǐng)會匯編語言的特點(diǎn)及應(yīng)用領(lǐng)域,明確學(xué)習(xí)目標(biāo)、激發(fā)學(xué)生的學(xué)習(xí)興趣。
在第一堂課,向?qū)W生播放一組經(jīng)過精心準(zhǔn)備,且學(xué)生感興趣的介紹嵌入式產(chǎn)品功能及應(yīng)用的視頻短片,盡可能向?qū)W生展示部分實(shí)物的內(nèi)部結(jié)構(gòu),并重點(diǎn)說明其控制方法和運(yùn)行機(jī)理。比如:汽車電子部件(AT組件、電噴、電動門窗、防盜報(bào)警、輔助轉(zhuǎn)向等),智能儀器、儀表(智能電表、溫度調(diào)節(jié)儀、自動售貨機(jī))以及一些智能小家電產(chǎn)品(智能小風(fēng)扇)等等;還可以找適當(dāng)?shù)臅r(shí)機(jī)給學(xué)生介紹一下計(jì)算機(jī)病毒的工作機(jī)理。要讓學(xué)生明白,在某些特定的領(lǐng)域和場合,匯編語言具有不可替代的地位。在第一堂課上,就明確地提出學(xué)習(xí)本門課程要達(dá)到的目標(biāo),特別是學(xué)習(xí)后可以解決哪些實(shí)際工程問題。
通過實(shí)例分析讓學(xué)生體會到匯編語言特點(diǎn):它是一種最接近計(jì)算機(jī)核心的語言,可以最大限度地發(fā)揮計(jì)算機(jī)硬件的性能,是一種能夠利用計(jì)算機(jī)的硬件特性直接控制計(jì)算機(jī)硬件的語言。用匯編語言編寫的小程序的速度通常要比高級語言快幾倍、幾十倍、甚至成百上千倍。同時(shí),提醒學(xué)生注意:學(xué)習(xí)匯編語言的好處――有利于理解軟件和硬件的關(guān)系,學(xué)會如何有效地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),能讓計(jì)算機(jī)存儲空間更少、處理速度更快,能更有效地提高調(diào)試能力。要從思想上改變學(xué)生“重軟輕硬”的傾向,明確告訴他們,如果想真正地控制自己的程序,只知道源代碼級的調(diào)試是遠(yuǎn)遠(yuǎn)不夠的。
2) 在明確學(xué)習(xí)目標(biāo)和具體工程應(yīng)用之后,讓學(xué)生針對“如何實(shí)現(xiàn)這些目標(biāo)(特別是工程應(yīng)用問題)”,各自提出自己認(rèn)為課程中應(yīng)學(xué)習(xí)的知識點(diǎn)和方法,最后由教師加以總結(jié)和歸納,形成“匯編語言程序設(shè)計(jì)”課程的基本教學(xué)和實(shí)驗(yàn)內(nèi)容。
讓學(xué)生“帶著問題學(xué)習(xí)、帶著問題實(shí)驗(yàn)”是培養(yǎng)學(xué)生學(xué)習(xí)興趣、提高學(xué)生工程能力的好辦法,只有學(xué)生的全身心投入才可能克服被動“填鴨式”教學(xué)的種種弊端。
3) 抓住課程特點(diǎn),使用更直觀生動的教學(xué)形式讓學(xué)生更容易理解和掌握。
針對匯編語言和機(jī)器體系結(jié)構(gòu)結(jié)合緊密、抽象、難于理解的問題,在講解指令系統(tǒng)時(shí),一定要與CPU功能結(jié)構(gòu)圖、存儲器結(jié)構(gòu)示意圖結(jié)合起來,把地址、數(shù)據(jù)和控制信息的傳遞過程通過圖示進(jìn)行分解。并且在實(shí)驗(yàn)課中,專門設(shè)計(jì)若干段由各類指令組成的小程序?qū)嶒?yàn),讓學(xué)生反復(fù)使用DEBUG工具演示指令流程,仔細(xì)跟蹤每條指令運(yùn)行后各個(gè)寄存器和存儲器的變化狀況,列表并作好記錄,讓學(xué)生自己對指令功能進(jìn)行理解、分析和總結(jié),這也是訓(xùn)練學(xué)生調(diào)試程序和發(fā)現(xiàn)邏輯錯(cuò)誤非常有效的手段。
4) 在指令系統(tǒng)學(xué)習(xí)完以后,就可以引入完整的工程案例進(jìn)行教學(xué)。通過選取真實(shí)具體的工程案例,使學(xué)生學(xué)會用跨專業(yè)、綜合的、全局的思維方法去觀察問題、分析問題和解決問題。
實(shí)際上,要選擇一個(gè)合適的工程案例是非常困難的,不但要考慮工程項(xiàng)目本身的特點(diǎn),而且要考慮學(xué)生的實(shí)際領(lǐng)悟、消化能力。教學(xué)案例可取自實(shí)際工作中涉及的工程應(yīng)用實(shí)例(變科研工作為教學(xué)資源),要強(qiáng)調(diào)實(shí)用性,兼顧趣味性,這樣更能激發(fā)學(xué)生參與的積極性。教師通過案例分析,將匯編語言程序設(shè)計(jì)方法和相關(guān)專業(yè)的知識點(diǎn)恰當(dāng)?shù)厝谌氚咐姆治龊脱菔具^程中[2]。
筆者選用了一個(gè)工業(yè)產(chǎn)品開發(fā)項(xiàng)目――“直流無刷電機(jī)智能控制系統(tǒng)”的研發(fā)全過程作為案例教學(xué)的主線,分步驟、分模塊地進(jìn)行講解和分析。案例教學(xué)的重點(diǎn)包括:工程目的,工程項(xiàng)目的主要知識點(diǎn),具體的實(shí)施步驟。同時(shí),在案例中穿插介紹一些編程技巧和設(shè)計(jì)及調(diào)試工作的要點(diǎn)和難點(diǎn)。案例的教學(xué)可按以下層次逐步展開。
① 首先介紹項(xiàng)目目的、目標(biāo)、實(shí)施方案和主要知識點(diǎn)。必須讓學(xué)生深刻地認(rèn)識到任何一個(gè)項(xiàng)目都不是一門專業(yè)學(xué)科知識所能解決的,需要多學(xué)科知識的綜合應(yīng)用,要解決工程問題必須有開放的思維和綜合的知識。通過介紹,使學(xué)生逐步領(lǐng)會工程項(xiàng)目開發(fā)的步驟和基本方法。
② 提供全部匯編語言程序清單,并讓學(xué)生充分認(rèn)識和消化一段時(shí)間后再進(jìn)行講解,使學(xué)生建立匯編語言程序語句、結(jié)構(gòu)和形式的總體概念??傮w概念的建立,比具體的編程方法和技巧更加重要。
③ 提供全套軟件設(shè)計(jì)的程序流程圖,讓學(xué)生對照程序清單去領(lǐng)悟匯編語言程序設(shè)計(jì)的基本思路和方法。
④ 在充分消化的基礎(chǔ)上,提出若干問題讓學(xué)生自己在案例中去尋找答案,最后再由老師加以分析和總結(jié)。這些問題的提出和解決,就是處理具體工程問題的基本方法和步驟。解決問題的方法有很多,但在具體工程中必須找到最優(yōu)方案(成本低、可靠性高),如:
如何實(shí)現(xiàn)驅(qū)動電路發(fā)生短路時(shí),系統(tǒng)在10μS以內(nèi)啟動保護(hù)(硬件中斷方式);
如何確保電機(jī)能準(zhǔn)確地?fù)Q相操作(采用定時(shí)器中斷,定時(shí)查詢換相標(biāo)志);
如何用軟件準(zhǔn)確設(shè)置MOS管上下臂的“死區(qū)(>300nS)”(采用NOP指令延時(shí));
如何實(shí)現(xiàn)主程序和子程序以及子程序之間的參數(shù)傳遞(約定變量――存儲器法);
如何用軟件設(shè)計(jì)計(jì)數(shù)器、定時(shí)器(+1/-1、比較和循環(huán)指令)。
⑤ 在實(shí)驗(yàn)課中,簡化一些條件,讓學(xué)生分組實(shí)現(xiàn)一些功能模塊:電壓/電流處理、溫度保護(hù)、調(diào)速、換相處理的子程序設(shè)計(jì),并且,實(shí)現(xiàn)這些功能模塊的組合。通過分組編程和組合實(shí)驗(yàn),使學(xué)生初步體會到工程開發(fā)的團(tuán)隊(duì)行為,并逐步學(xué)會管理和協(xié)調(diào)。
⑥ 對部分軟件進(jìn)行點(diǎn)評和總結(jié)。
5) 另外,針對其他的一些指令應(yīng)用和編程技巧可選取適當(dāng)?shù)墓こ贪咐M(jìn)行專項(xiàng)教學(xué)和訓(xùn)練。
筆者選用了一個(gè)“獵槍彈自動裝配機(jī)控制系統(tǒng)”的設(shè)計(jì)案例――裝配機(jī)共有22個(gè)工位,其中:1、3、6、9、12等5個(gè)工位分別是“彈殼、底火、發(fā)射藥、彈托、成彈”檢測工位。只要有一個(gè)檢測工位不合格,后續(xù)的裝配就不再進(jìn)行,當(dāng)不合格品進(jìn)入第22工位(“排廢”工位)時(shí)自動剔出。先要求學(xué)生思考采用什么方法實(shí)現(xiàn)最容易,然后設(shè)計(jì)程序流程圖,最后將筆者的設(shè)計(jì)方案供大家討論。這樣,就強(qiáng)化了學(xué)生對AND、OR及移位指令的功能理解,并學(xué)會了如何應(yīng)用邏輯運(yùn)算解決工程問題的編程技巧。
要培養(yǎng)計(jì)算機(jī)專業(yè)學(xué)生的學(xué)習(xí)興趣,還可以讓某些學(xué)生較早地參與到教師的科研工作或?qū)嶋H項(xiàng)目開發(fā)中,并根據(jù)學(xué)生的實(shí)際情況分配一些具有一定難度的任務(wù),也能較好地調(diào)動學(xué)生自主學(xué)習(xí)的積極性[5]。
4 結(jié)語
通過對匯編語言程序設(shè)計(jì)課程教學(xué)的一些改進(jìn)嘗試,提高了學(xué)生的學(xué)習(xí)興趣,避免了其學(xué)習(xí)的盲目性,也為學(xué)生進(jìn)行工程研發(fā)積累了經(jīng)驗(yàn)。計(jì)算機(jī)專業(yè)系列課程的教學(xué)改革是一個(gè)系統(tǒng)工程,每門課程的實(shí)際操作中都有許多工作要做,尤其是案例教學(xué)環(huán)節(jié),筆者根據(jù)自己從事工程研發(fā)的經(jīng)驗(yàn),談了一點(diǎn)膚淺認(rèn)識,希望能對計(jì)算機(jī)專業(yè)系列課程的教學(xué)改革有所幫助。
參考文獻(xiàn):
[1] 蔡敬民,魏朱寶. 應(yīng)用型本科人才培養(yǎng)的戰(zhàn)略思考[J]. 中國高等教育,2008(12):58.
[2] 張雪蘭,譚毓安,李元章. 匯編語言程序設(shè)計(jì)課程教學(xué)改革與創(chuàng)新能力培養(yǎng)[J]. 計(jì)算機(jī)教育,2008(8):22-23.
[3] 黃賢英,李玉桃. 構(gòu)建面向崗位的計(jì)算機(jī)專業(yè)教學(xué)體系和教學(xué)模式[J]. 重慶工學(xué)院學(xué)報(bào).2007(21):175-177.
[4] 黃賢英,劉恒祥,范偉. 計(jì)算機(jī)專業(yè)實(shí)踐教學(xué)體系建設(shè)思考[J]. 實(shí)驗(yàn)技術(shù)與管理,2009(10):34.
[5] 范偉,黃賢英. 大學(xué)計(jì)算機(jī)教育中的工程素質(zhì)培養(yǎng)[J]. 重慶工學(xué)院學(xué)報(bào), 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)鍵詞】單片機(jī)實(shí)踐教學(xué)分模塊教學(xué)階梯式教學(xué)
引言
近幾十年來,計(jì)算機(jī)技術(shù)得到了飛速發(fā)展,PC機(jī)和網(wǎng)絡(luò)已經(jīng)走進(jìn)千家萬戶,人們的日常生活、工作學(xué)習(xí)都和它緊密聯(lián)系在一起。單片機(jī)作為計(jì)算機(jī)中的一個(gè)獨(dú)立門族--嵌入式計(jì)算機(jī)系統(tǒng),具有廣泛應(yīng)用。例如:各式各樣的辦公設(shè)備和家用電器的智能化、遙控化和模糊控制智能化都是靠單片機(jī)來實(shí)現(xiàn)的。單片機(jī)的學(xué)習(xí)也理所當(dāng)然的受到了高等院校師生的高度重視。但是,如何開展單片機(jī)的教學(xué)工作,如何讓學(xué)生學(xué)好單片機(jī)這門課程,一直是承擔(dān)這門課程的老師頭疼的問題,也引發(fā)了對這門課程教學(xué)改革的思考。
單片機(jī)教學(xué)是一門實(shí)踐性和技術(shù)性很強(qiáng)的課程,學(xué)生需要做大量的軟硬件實(shí)驗(yàn),目前采用的教材多屬于MCS-51系列,程序源代碼用匯編語言編寫,教學(xué)內(nèi)容與實(shí)際的產(chǎn)品設(shè)計(jì)之間存在著很大差異,因此在單片機(jī)實(shí)踐教學(xué)環(huán)境中必須結(jié)合當(dāng)前實(shí)際應(yīng)用的技術(shù)特征,適當(dāng)增加新知識、新內(nèi)容,使用計(jì)算機(jī)輔助實(shí)驗(yàn)教學(xué)、用計(jì)算機(jī)模擬實(shí)驗(yàn)、用計(jì)算機(jī)仿真軟件等方法改革教學(xué)內(nèi)容和教學(xué)手段。為此,筆者結(jié)合自己的學(xué)習(xí)及教學(xué)經(jīng)驗(yàn),對單片機(jī)實(shí)踐教學(xué)提出一些心得。
一、教學(xué)內(nèi)容的更新
1.1以匯編語言程序設(shè)計(jì)為基礎(chǔ),以C51語言程序設(shè)計(jì)為提高
使用匯編語言的優(yōu)點(diǎn)是代碼緊湊,運(yùn)行效率高,可直接對硬件內(nèi)部進(jìn)行控制,但缺點(diǎn)也非常明顯,主要表現(xiàn)在對目標(biāo)單片機(jī)硬件結(jié)構(gòu)的依賴上,編程者必須對硬件有深入的了解,而且匯編語言抽象,不易理解,功能弱,編程效率低。當(dāng)然,匯編語言有助于學(xué)生對單片機(jī)底層的存儲器、堆棧等的了解,在某些領(lǐng)域還是有一定的價(jià)值,學(xué)生必須掌握。
例如,應(yīng)用單片機(jī)的時(shí)候,經(jīng)常會遇到需要短時(shí)間延時(shí)的情況。需要的延時(shí)時(shí)間很短,一般都是幾十到幾百微妙(us)。有時(shí)候還需要很高的精度,比如用單片機(jī)驅(qū)動DS18B20的時(shí)候,誤差容許的范圍在十幾u(yù)s以內(nèi),不然很容易出錯(cuò)。這種情況下,用計(jì)時(shí)器往往有點(diǎn)小題大做。而在極端的情況下,計(jì)時(shí)器甚至已經(jīng)全部派上了別的用途。這時(shí)就需要我們另想別的辦法了。
用匯編語言寫單片機(jī)程序,這個(gè)問題還是相對容易解決的。比如用的是12MHz晶振的51,打算延時(shí)20us,只要用下面的代碼,就可以滿足一般的需要:
51單片機(jī)的指令周期是晶振頻率的1/12,也就是1us一個(gè)周期。mov r0, #09h需要2個(gè)機(jī)器周期,djnz也需要2個(gè)機(jī)器周期。那么存在r0里的數(shù)就是(20-2)/2=9。用這種方法,可以非常方便的實(shí)現(xiàn)256us以下時(shí)間的延時(shí)。如果需要更長時(shí)間,可以使用兩層嵌套。而且精度可以達(dá)到2us,一般來說,這已經(jīng)足夠了。
相對匯編語言,C51語言作為單片機(jī)的開發(fā)工具具有程序結(jié)構(gòu)清晰、可讀性好、易于維護(hù)等顯著的優(yōu)點(diǎn),一條C語言相當(dāng)于幾條匯編指令,完成同樣功能程序的行數(shù)也大大縮小,更便于復(fù)雜算法的實(shí)現(xiàn)和調(diào)試?,F(xiàn)在社會上的單片機(jī)系統(tǒng)已經(jīng)普遍采用了基于C51高級語言的軟件系統(tǒng)。由于學(xué)生在低年級已經(jīng)學(xué)習(xí)過標(biāo)準(zhǔn)C語言,有了這個(gè)基礎(chǔ)后,在現(xiàn)在的單片機(jī)實(shí)驗(yàn)中給學(xué)生增加一些C51編程訓(xùn)練,通過循序漸進(jìn)的實(shí)驗(yàn),學(xué)生完全能在短期內(nèi)自學(xué)掌握C51。通過增加C51的內(nèi)容,更新了實(shí)驗(yàn)教學(xué)內(nèi)容,使學(xué)生的學(xué)習(xí)更接近實(shí)際系統(tǒng)的社會化應(yīng)用,無疑對學(xué)生后期的學(xué)習(xí)有很大的益處。
C51程序設(shè)計(jì)不受具體機(jī)器的限制,非常擅長于科學(xué)計(jì)算,入門很容易;但對于程序的時(shí)間和空間要求很高的場合,匯編語言仍是不可缺少的。所以在學(xué)生單片機(jī)應(yīng)用到達(dá)一定水平后,提倡C51與匯編相結(jié)合的程序設(shè)計(jì)方法,取長補(bǔ)短,使程序設(shè)計(jì)達(dá)到更高的水平。
1.2 以信號傳輸路徑為主線,分模塊教學(xué)
傳統(tǒng)的單片機(jī)教學(xué)以單片機(jī)的知識結(jié)構(gòu)為主線,先后講單片機(jī)的硬件結(jié)構(gòu),指令系統(tǒng),匯編語言程序設(shè)計(jì),接口技術(shù)及應(yīng)用。這樣的教學(xué)順利很容易使學(xué)生乏味,引不起興趣。經(jīng)過多年的教學(xué)探討,我們提出以信號的傳輸路徑為主線,分模塊的講解各個(gè)部分涉及的知識點(diǎn)的教學(xué)方法。信號的傳輸路徑如下圖一所示:
信號傳輸路徑分為五個(gè)模塊,單片機(jī)模塊部分介紹單片機(jī)的硬件結(jié)構(gòu),最小系統(tǒng)設(shè)計(jì),存儲器擴(kuò)展方法等。輸入、輸出模塊部分結(jié)構(gòu)接口擴(kuò)展、接口電路設(shè)計(jì)等知識。前向通道介紹電平轉(zhuǎn)換電路、濾波電路、A/D轉(zhuǎn)換電路等設(shè)計(jì)方法和程序設(shè)計(jì)技巧。后向通道部分介紹電磁閥、接觸器、各種電機(jī)、LED、LCD電路設(shè)計(jì)和程序設(shè)計(jì)技巧。
按信息傳輸路徑分模塊教學(xué),有以下幾個(gè)優(yōu)點(diǎn):
1、 知識點(diǎn)完整,思路清晰,各個(gè)知識點(diǎn)的作用明了。
2、 后續(xù)項(xiàng)目實(shí)例教學(xué)法中,便于把一個(gè)大的項(xiàng)目按模塊劃分為幾個(gè)小的部分,逐一講解,注意攻破。
2 教學(xué)方法與教學(xué)手段的更新
單片機(jī)技術(shù)的應(yīng)用在現(xiàn)代人生活中隨處可見,小到小區(qū)住宅的門禁系統(tǒng),大到航空航天系統(tǒng)中,都有單片機(jī)的身影。單片機(jī)技術(shù)飛速發(fā)展,日新月異,單片機(jī)課程的教學(xué)方法與教學(xué)手段也必須不斷更新,以適應(yīng)單片機(jī)技術(shù)的發(fā)展。
經(jīng)過多年的教學(xué)探索,我們提出分四步走,逐步推進(jìn)的階梯式教學(xué)方法,其示意圖如下圖二所示。每個(gè)教學(xué)方法既可以獨(dú)立進(jìn)行,又相互聯(lián)系、相互推進(jìn)。前一步的順利開展為后面的教學(xué)環(huán)節(jié)鋪好道路,使后面的教學(xué)環(huán)節(jié)更容易開展;同時(shí)只有一步一步逐一落實(shí)好了,才可以達(dá)到最佳效果。
2.1用項(xiàng)目實(shí)例促進(jìn)教學(xué),引發(fā)學(xué)生興趣
興趣是最好的老師,在學(xué)生剛開始接觸這門課程時(shí),通過生動形象的項(xiàng)目實(shí)例,如基于單片機(jī)的交通燈控制器、基于單片機(jī)的搶答器、基于單片機(jī)的智能小車等實(shí)例,讓學(xué)生明白什么是單片機(jī)?單片機(jī)在我們身邊哪些地方出現(xiàn)?單片機(jī)在電子產(chǎn)品中發(fā)揮什么作用?使學(xué)生明白學(xué)習(xí)的目的,對這門課程產(chǎn)生濃厚的興趣。
例如基于單片機(jī)的交通燈控制器項(xiàng)目,首先拿出前屆同學(xué)制作的作品,講解功能,演示效果,分析工作原理;然后介紹作品的硬件結(jié)構(gòu),軟件功能模塊的組成;最后概括該項(xiàng)目的開展步驟。讓學(xué)生既對事物有個(gè)感性的認(rèn)識,引發(fā)濃濃的學(xué)習(xí)興趣;同時(shí)又清楚完成該項(xiàng)目需要做哪些工作,明白今后在該課程學(xué)習(xí)過程中的努力方向。
2.2 有效利用計(jì)算機(jī)輔助教學(xué)
計(jì)算機(jī)輔助教學(xué)CAI在教學(xué)中的作用毋庸置疑,通過圖文聲像的形式表達(dá)教學(xué)內(nèi)容,補(bǔ)充了傳統(tǒng)板書的授課方式。單片機(jī)原理與應(yīng)用理論抽象,實(shí)踐性強(qiáng),通過采用計(jì)算機(jī)輔助教學(xué), 采用視頻、音頻、豐富的動畫及色彩等多種教學(xué)表達(dá)方式生動描述教材中的抽象概念,能極大的增加知識的傳授量,使得課堂教學(xué)變得豐富多彩。比如,制作flas,演示單片機(jī)的定時(shí)、計(jì)數(shù)中斷工作原理;比如,采用多媒體演示單片機(jī)仿真軟件Proteus和Keil聯(lián)調(diào)的強(qiáng)大的仿真功能,演示程序的編寫及調(diào)試過程;這使得抽象的理論教學(xué)顯得非常直觀,將促使學(xué)生對知識的感知,活躍其思維過程,提高學(xué)習(xí)效率。比如,在教學(xué)初期播放前屆同學(xué)優(yōu)秀作品視頻,激發(fā)學(xué)生興趣。比如,用 LabView虛擬儀器做信號采集試驗(yàn),擴(kuò)展試驗(yàn)設(shè)備。
2.3結(jié)合應(yīng)用實(shí)例,開拓試驗(yàn)渠道
單片機(jī)是門軟硬件結(jié)合特別緊密的課程,硬件是軟件的控制對象,軟件使硬件的功能更加強(qiáng)大,具有智能化能力,兩者相輔相成,缺一不可。初學(xué)者很難兩面兼顧,因此我們開拓多種試驗(yàn)渠道,促進(jìn)教學(xué)。
在單片機(jī)實(shí)驗(yàn)課時(shí)較短的情況下,僅僅利用實(shí)驗(yàn)室做實(shí)驗(yàn)不利于單片機(jī)的實(shí)踐教學(xué),筆者在教學(xué)中發(fā)現(xiàn),利用Proteus與Keil構(gòu)建單片機(jī)的虛擬實(shí)驗(yàn)室,虛擬實(shí)驗(yàn)彌補(bǔ)了硬件資源的不足,克服了實(shí)驗(yàn)箱教學(xué)的固定硬件資源導(dǎo)致的實(shí)驗(yàn)內(nèi)容局限性,豐富了實(shí)踐教學(xué)方式,提高了學(xué)生的學(xué)習(xí)興趣,取得了非常好的教學(xué)效果。Keil完成單片機(jī)軟件設(shè)計(jì)調(diào)試,proteus完成硬件設(shè)計(jì)及系統(tǒng)運(yùn)行結(jié)果的查看。在單片機(jī)的實(shí)踐教學(xué)中增加Keil和proteus仿真軟件的使用,對于學(xué)生深入學(xué)習(xí)單片機(jī),用來做單片機(jī)的仿真分析和設(shè)計(jì),無疑有巨大的幫助。通過學(xué)習(xí)Keil軟件,加強(qiáng)實(shí)踐環(huán)節(jié)中C51語言的應(yīng)用,并結(jié)合工程實(shí)例,基于單片機(jī)的智能小車,將學(xué)生的程序設(shè)計(jì)能力練習(xí)落到實(shí)處。此外,proteus仿真軟件有國際通用的虛擬儀器及電子元器件庫。教師可以在實(shí)驗(yàn)室向?qū)W生演示Protues仿真環(huán)境中的原理圖設(shè)計(jì),搭建虛擬儀器儀表,在 Keil集成環(huán)境中進(jìn)行程序的編譯連接,進(jìn)行單步和全速調(diào)試,引導(dǎo)學(xué)生觀察電路的狀態(tài)和軟件運(yùn)行后的變化。
2.4 組織課外電子設(shè)計(jì)興趣小組,參加電子設(shè)計(jì)競賽,推動單片機(jī)教學(xué)的開展
利用現(xiàn)有的實(shí)驗(yàn)環(huán)境,以組織課外電子設(shè)計(jì)興趣小組為中心,鼓勵(lì)學(xué)生參加各種競賽,如圖五所示,有助于培養(yǎng)學(xué)生的應(yīng)用、開發(fā)、創(chuàng)新及綜合分析能力,既不打亂正常的教學(xué)秩序,同時(shí)又促進(jìn)了教學(xué)更有效的開展。
在課外電子設(shè)計(jì)興趣小組中間進(jìn)行一些小競賽,要求學(xué)生自由組隊(duì),獨(dú)立完成設(shè)計(jì),提交設(shè)計(jì)說明,明確闡述設(shè)計(jì)思路和設(shè)計(jì)結(jié)果,并進(jìn)行小組答辯,評選出優(yōu)秀的作品給予一定獎勵(lì),這種方式,促使學(xué)生不斷的學(xué)習(xí),在找到問題,解決問題的過程中,學(xué)生的知識面擴(kuò)大了,獲得了學(xué)習(xí)的樂趣和成就感,激發(fā)了他們的自主性和創(chuàng)造性,培養(yǎng)了工程設(shè)計(jì)素養(yǎng)和團(tuán)隊(duì)意識。
同時(shí),從這部分學(xué)生中選拔一些尖子生參加省和國家的各種競賽,以賽促學(xué)。
結(jié)語
在單片機(jī)課程實(shí)踐的教學(xué)中,我們根據(jù)社會對工程類專業(yè)人才的需求,做了一些嘗試性的工作,提出新的教學(xué)目標(biāo),并更新了實(shí)驗(yàn)教學(xué)的內(nèi)容和模式,旨在提高教學(xué)質(zhì)量,培養(yǎng)學(xué)生的工程設(shè)計(jì)能力,為他們走上工作崗位打下堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1] 雷建龍 吳相林 馮雪姣,加強(qiáng)實(shí)踐性、提高趣味性,改進(jìn)單片機(jī)原理教學(xué)方法的探索,教育理論與實(shí)踐[J],2002(s1):
[2]梅麗風(fēng),藍(lán)和惠,任國臣 單片機(jī)課程教學(xué)改革的探索[J], 遼寧工業(yè)大學(xué)學(xué)報(bào)(社會科學(xué)版),2008(8):114-116