999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C51優(yōu)化的單片機(jī)教學(xué)的研究

2014-04-29 00:00:00包敬海

摘要:單片機(jī)的內(nèi)容繁雜而抽象,需要大量的實(shí)踐訓(xùn)練才能掌握。但是,由于學(xué)生缺乏編程的實(shí)戰(zhàn)能力,實(shí)踐舉步維艱。針對該難題,提出全面采用C51開展教學(xué)的解決思路,并就C51的教學(xué)內(nèi)容、性能、面向硬件等方面的優(yōu)化進(jìn)行了探討。實(shí)踐表明,基于C51優(yōu)化開展教學(xué),能夠幫助學(xué)生更好更快的掌握編寫高效、實(shí)用程序的方法,為項(xiàng)目超市的實(shí)踐訓(xùn)練提供堅(jiān)實(shí)保障。

關(guān)鍵詞:C51單片機(jī)優(yōu)化性能項(xiàng)目超市

[中圖分類號]G642 文獻(xiàn)標(biāo)識碼:A 文章編號:

0.前言

單片機(jī)具有實(shí)踐性強(qiáng)、軟硬兼施的鮮明特點(diǎn),造成“難學(xué)、難教”的困境,畢業(yè)生難以滿足用人單位的需求[1]。針對單片機(jī)特別強(qiáng)調(diào)動手實(shí)踐的特點(diǎn),應(yīng)該設(shè)計(jì)覆蓋知識點(diǎn)較為齊全的項(xiàng)目案例組成項(xiàng)目超市,為學(xué)生提供充足的實(shí)踐訓(xùn)練的機(jī)會。但是,大部分學(xué)生所學(xué)的C語言只是應(yīng)付計(jì)算機(jī)等級考試的技巧,缺乏真正的編程能力,在項(xiàng)目超市的實(shí)踐訓(xùn)練中舉步維艱。因此,要使得實(shí)踐順利開展,首先就要加強(qiáng)學(xué)生的編程能力。

1.全面采用C51開展教學(xué)

目前國內(nèi)高校的單片機(jī)教學(xué)基本上為51[2],而各種單片機(jī)的原理和學(xué)習(xí)方法大同小異,因此下面以51為例展開討論。51的編程語言主要有2種,也就是匯編語言和C語言版本的C51。其中,匯編語言是用文字助記符來表示機(jī)器碼的語言,具有面向硬件、占用體積小、執(zhí)行速度快的優(yōu)勢。但是,匯編語言的學(xué)習(xí)門檻較高,非專業(yè)人員不易涉足,學(xué)生難以在短時間內(nèi)熟練掌握[3]。現(xiàn)在,C51的性能、體積已經(jīng)接近匯編[4],網(wǎng)上的資源日趨豐富。因此,不能拘泥于傳統(tǒng)教材,而應(yīng)該與時俱進(jìn)、全面采用C51開展教學(xué),從而降低學(xué)生的學(xué)習(xí)難度,提高學(xué)習(xí)效率。當(dāng)然,傳統(tǒng)的C語言與單片機(jī)存在較大脫節(jié)的現(xiàn)象[5]。C51面向的是單片機(jī),有其獨(dú)特之處,因此需要在教學(xué)中特別注意優(yōu)化的問題。

2.對C51內(nèi)容的優(yōu)化

C語言的內(nèi)容很多,如果按照C語言的模式學(xué)習(xí)C51,會花費(fèi)太多時間。實(shí)際上,單片機(jī)設(shè)計(jì)中只需要其中的一小部分知識,因此需要對內(nèi)容進(jìn)行優(yōu)化。從實(shí)際應(yīng)用來看,C51最關(guān)鍵的內(nèi)容有如下幾點(diǎn):常量,變量,數(shù)組,if,for,while。只要抓住這幾點(diǎn),大部分的C51程序都能迎刃而解。通過內(nèi)容精簡,極大減輕教學(xué)負(fù)擔(dān),使得學(xué)生能夠更好更快的學(xué)習(xí)如何圍繞硬件進(jìn)行編程。從時間看,這幾點(diǎn)內(nèi)容所需花費(fèi)的時間較少,極大縮短了學(xué)習(xí)周期。從難度看,這幾點(diǎn)均為基礎(chǔ)內(nèi)容,有效的降低了C51的進(jìn)入門檻。至于那些較為復(fù)雜的內(nèi)容,完全可以通過其他技術(shù)替代。例如,指針功能強(qiáng)大,但是學(xué)生不易理解,使用也容易出錯,普遍對其有抵觸情緒。此時,改為數(shù)組實(shí)現(xiàn)就能較好的解決這個難題。

3.對C51運(yùn)行性能的優(yōu)化

在計(jì)算機(jī)中,用戶很難感覺出1us和1ms的速度差異。但是,在單片機(jī)中,控制時序相差一兩個us就有可能造成系統(tǒng)無法正常工作。不少老師沿用面向計(jì)算機(jī)的方法去教,學(xué)生也沿用傳統(tǒng)C語言的方法去學(xué),存在很大問題。因此,在教學(xué)中需要特別注意性能優(yōu)化。

3.1 盡量采用char,少用int

C語言最常用的變量類型是int,學(xué)生們也習(xí)慣了這個用法。但是,51是8位的,使用16位的int性能很低。此時,應(yīng)該盡量使用char。下面分別編寫了兩段小代碼,其中無符號int和char分別用了ui和uc的宏定義。

代碼1:uc i,j; for(i=250;i>0;i--){for(j=250;j>0;j--);}

代碼2:ui k; for(k=62500;k>0;k--);

兩段代碼都實(shí)現(xiàn)了62500次的循環(huán),其中后者的寫法更為簡潔。進(jìn)入Keil C51,設(shè)置單片機(jī)為12MHz的AT89S52,編寫程序,編譯和調(diào)試后,發(fā)現(xiàn)兩段代碼初始化的時間都是389us。但是,它們的結(jié)束時間并不一樣。其中,char代碼所消耗的運(yùn)行時間為126140-389=125,735us,而int代碼為500635-389=500,246us,兩者相差3.98倍,如圖1所示。由此可見,沿用int并不是一個好習(xí)慣。

圖1兩段代碼的運(yùn)行時間比較3.2 盡量采用i--,少用i++

學(xué)生們素聞C++的大名,也習(xí)慣了i++的寫法,對i--不以為然甚至覺得多余。但是,在C51中情況發(fā)生了逆轉(zhuǎn)。

代碼3:uc i,j; for(i=0;i<250;i++){for(j=0;j<250;j++);}

該代碼的運(yùn)行時間為188,752us,約為i--的1.5倍。代碼1和代碼3都是char,為什么還會出現(xiàn)如此明顯的差距呢?關(guān)鍵就在于51單片機(jī)的DJNZ指令能夠?qū)崿F(xiàn)減1并判斷是否為0。而i++需要對累加器A預(yù)處理,然后通過INC和CJNE兩條指令才能完成。對于這個知識點(diǎn),如果學(xué)生基礎(chǔ)一般,可以一筆帶過;如果學(xué)生興趣濃厚,則可以引導(dǎo)他們深入學(xué)習(xí)51的內(nèi)部結(jié)構(gòu)和指令集,使得學(xué)生的理解更加透徹。

3.3 盡量采用for,少用while

for和while都是C語言中的經(jīng)典循環(huán)結(jié)構(gòu)。其中,while更加簡潔和易用。下面定義了兩段功能相同的代碼。

代碼4:for(i=255;i>0;i--);

代碼5:i=255; while(k--);

測試結(jié)果顯示,while所消耗的時間為for的3倍多。因此,應(yīng)該引導(dǎo)學(xué)生盡量使用for。

以上是典型的性能優(yōu)化問題,此外還有多用移位少用乘除法、多用if少用switch等。

4.對C51進(jìn)行面向硬件的優(yōu)化

單片機(jī)的RAM和ROM一般處于幾百B、幾十KB級別,硬件資源相當(dāng)有限。因此,教學(xué)時必須注意面向硬件的優(yōu)化。①盡量采用small的內(nèi)存模式。單片機(jī)有small、compact、large共3種內(nèi)存模式,分別指向片內(nèi)RAM、片外8位RAM、片外16位RAM,其容量由小到大,其速度由快到慢。②盡量減少變量,盡量采用局部變量以增加內(nèi)存單元的利用率。③盡量優(yōu)化代碼結(jié)構(gòu),減少對ROM的占用。例如,從圖1的指令可以看出代碼1占用8B,代碼2占用14B,存在較大差別。④充分利用IO引腳并進(jìn)行擴(kuò)展。單片機(jī)所有的工作都依賴IO引腳,而引腳的數(shù)量非常有限。因此,應(yīng)該在教學(xué)中引導(dǎo)學(xué)生多使用573鎖存器,164、595串并轉(zhuǎn)換器,138譯碼器,以及I2C、SPI總線進(jìn)行擴(kuò)展。

5.實(shí)踐與效果

長期以來,欽州學(xué)院的單片機(jī)課程一直沿用匯編語言開展教學(xué),學(xué)生普遍感到難學(xué),效果很不理想。到了2008年廣西大學(xué)生電子設(shè)計(jì)競賽,教師們發(fā)現(xiàn)匯編語言的使用比較困難,編寫的程序冗長、難以閱讀和理解,無法快速解決問題。經(jīng)過研究,決定全面轉(zhuǎn)入C51,并在此后幾年,針對單片機(jī)的特點(diǎn)不斷研究C51優(yōu)化的教學(xué)。

經(jīng)過幾年的實(shí)踐研究,學(xué)生普遍感到學(xué)習(xí)門檻降低了,上手更快了,設(shè)計(jì)系統(tǒng)的性能和實(shí)用性都有了較大進(jìn)步。在此基礎(chǔ)上,欽州學(xué)院單片機(jī)教學(xué)團(tuán)隊(duì)根據(jù)十幾年來積累的豐富資源,設(shè)計(jì)了面向C51的大量案例,建成了覆蓋知識點(diǎn)較廣、數(shù)量較多、種類齊全的省級課題項(xiàng)目超市,使得學(xué)生在掌握C51的基礎(chǔ)上,獲得大量實(shí)踐訓(xùn)練的機(jī)會[6]。近年來,學(xué)生的課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)的水平,在大學(xué)生電子競賽、大學(xué)生創(chuàng)新項(xiàng)目中的成績穩(wěn)步提高,并在2013年的電子競賽中取得了全國獎項(xiàng)的零突破。目前,電子信息工程、自動化等專業(yè)畢

業(yè)生的動手能力不斷增強(qiáng),受到了用人單位的歡迎,就業(yè)率穩(wěn)步提高并保持在92%以上。

6.結(jié)束語

不拘泥于傳統(tǒng)教材的匯編,摒棄C語言習(xí)慣用法,全面采用C51開展教學(xué),精簡優(yōu)化教學(xué)內(nèi)容,在教學(xué)過程中注重性能和面向硬件的優(yōu)化,大大減低學(xué)生的進(jìn)入門檻,減輕了學(xué)生的學(xué)習(xí)負(fù)擔(dān),使得學(xué)生能夠快速上手,并掌握實(shí)用性較強(qiáng)編程能力。實(shí)踐表明,基于C51優(yōu)化的解決方案效果良好。

參考文獻(xiàn):

[1]荊蕾.單片機(jī)實(shí)踐教學(xué)方法的研究[J].大學(xué)教育,2012,(6):68-69.

[2]許景輝,張成鳳,李宗利.“單片機(jī)原理及應(yīng)用”課程改革實(shí)踐和探索[J].中國電力教育,2013,35:74-75+82.

[3]陳少明.C51開發(fā)單片機(jī)應(yīng)用軟件初學(xué)者必須突破的幾個問題[J].廊坊師范學(xué)院學(xué)報(自然科學(xué)版),2010,10(3):26-28.

[4]賀敬凱,劉德新,管明祥.單片機(jī)系統(tǒng)設(shè)計(jì)、仿真與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2011:30-32.

[5]陳景波,陳飛,李智超.“C語言”課程中融入“單片機(jī)”內(nèi)容的教學(xué)研究[J].中國電力教育,2013,29(26):71-72.

[6]包敬海,張大平,陸安山等.淺談面向應(yīng)用型人才培養(yǎng)的單片機(jī)課程的改革[J].欽州學(xué)院學(xué)報,2013,28(8):20-23.

基金項(xiàng)目:廣西教育廳教改課題,基于項(xiàng)目超市的單片機(jī)實(shí)訓(xùn)平臺的建設(shè),2013JGB258。

作者簡介:包敬海(1979-),男,漢族,廣西防城港人,碩士,副教授,研究方向?yàn)槲⒖刂葡到y(tǒng)、Web信息系統(tǒng)。

主站蜘蛛池模板: 亚洲一级毛片在线观播放| 伊人久久大香线蕉影院| 欧美中文字幕在线播放| 69视频国产| 夜夜操天天摸| 国产成人高清精品免费| 国产精品美女免费视频大全| 欧美视频二区| 国产丝袜无码精品| 女人18毛片水真多国产| 亚洲高清国产拍精品26u| 日韩 欧美 小说 综合网 另类| 9丨情侣偷在线精品国产| 国产簧片免费在线播放| 青青草原偷拍视频| 久久久久久高潮白浆| 高清无码手机在线观看| 国产亚卅精品无码| 国产精品免费电影| 97se亚洲综合在线天天| 伊人大杳蕉中文无码| 精品无码视频在线观看| 亚洲永久免费网站| 亚洲精品国产综合99久久夜夜嗨| 久久中文字幕不卡一二区| 在线观看亚洲精品福利片| 国产精品综合久久久| 国产高清色视频免费看的网址| 秋霞国产在线| 乱人伦中文视频在线观看免费| 国产91成人| 日韩AV无码一区| 国产一区成人| 四虎成人免费毛片| 毛片手机在线看| 麻豆精选在线| jizz在线免费播放| 国产精品19p| 91综合色区亚洲熟妇p| 国内精品久久人妻无码大片高| 99热这里都是国产精品| 国产精品偷伦在线观看| 99热线精品大全在线观看| 亚洲经典在线中文字幕| 国产成人禁片在线观看| www.日韩三级| 欧洲精品视频在线观看| 欧洲日本亚洲中文字幕| 日本人又色又爽的视频| 精品乱码久久久久久久| 91精品人妻一区二区| 欧美精品v| 亚洲中文在线看视频一区| 国产一区二区三区在线无码| 精品在线免费播放| 国产幂在线无码精品| 一区二区无码在线视频| 日韩在线中文| 黄色国产在线| 国产91成人| 狠狠v日韩v欧美v| 国模视频一区二区| 国产女人在线视频| 99热国产这里只有精品无卡顿"| 国产激情影院| 美美女高清毛片视频免费观看| 国产在线第二页| 国产三区二区| 青青操视频免费观看| 丁香六月激情婷婷| 国产va欧美va在线观看| 国产自在线播放| 亚洲欧美h| 91久久偷偷做嫩草影院| 亚洲精品国产首次亮相| 福利一区三区| 在线观看网站国产| 在线视频亚洲色图| 青青青伊人色综合久久| 亚洲av片在线免费观看| 亚洲中文字幕在线精品一区| 99精品热视频这里只有精品7|