亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Arduino和Ardu Block的單片機(jī)教學(xué)研究

        2018-01-16 02:43:50燕哲
        職業(yè)·中旬 2018年9期
        關(guān)鍵詞:圖形化數(shù)碼管子程序

        燕哲

        摘要:隨著電子技術(shù)的不斷發(fā)展,單片機(jī)技術(shù)顯得越來(lái)越重要,很多技工學(xué)校都把單片機(jī)技術(shù)作為電子專業(yè)或者自動(dòng)化控制專業(yè)的一門(mén)必修課程。但是在單片機(jī)的教學(xué)中,也存在著很多困難,尤其是對(duì)于技工類學(xué)校,學(xué)生多為初中畢業(yè)生,英文基礎(chǔ)較為薄弱,學(xué)習(xí)起來(lái)難度較大,老師教起來(lái)也頗為費(fèi)勁,教學(xué)效果不是很理想。Arduino作為一款開(kāi)源軟件,簡(jiǎn)單靈活,使用方便,配合ArduBlock的圖形化編程,可以極大地降低單片機(jī)學(xué)習(xí)的難度。本文以七段數(shù)碼管的顯示為例,結(jié)合技工院校學(xué)生的實(shí)際情況,探索單片機(jī)教學(xué)的新思路,僅供大家參考。

        關(guān)鍵詞:?jiǎn)纹瑱C(jī)教學(xué) Arduino ArduBlock ArduBlock圖形化編程

        一、技工院校中單片機(jī)教學(xué)的現(xiàn)狀

        筆者是一名技工院校教師,從事單片機(jī)教學(xué)也有幾年時(shí)間。單片機(jī)作為電子或者自動(dòng)化控制專業(yè)的一門(mén)必修課程,在很多學(xué)校都有開(kāi)設(shè)。在多數(shù)技工院校,生源多為初中畢業(yè)生,且經(jīng)過(guò)優(yōu)秀普通高中的篩選后,進(jìn)入到學(xué)校就讀的學(xué)生基礎(chǔ)并不扎實(shí),學(xué)習(xí)主動(dòng)性也不是很高,而單片機(jī)作為一門(mén)需要語(yǔ)言編程,需要英文基礎(chǔ)又需要邏輯思維能力的課程,在實(shí)際教學(xué)中學(xué)生學(xué)習(xí)起來(lái)頗有難度。學(xué)生即便剛開(kāi)始有興趣,但是碰到編程就不會(huì),看到英文就頭疼,久而久之,對(duì)學(xué)生的學(xué)習(xí)積極性造成很大影響,教學(xué)效果也不盡如人意。

        以筆者的實(shí)際教學(xué)效果為例,筆者學(xué)校學(xué)生多為初中畢業(yè)生,根據(jù)專業(yè)方向的區(qū)別一般在二年級(jí)或者三年級(jí)開(kāi)設(shè)單片機(jī)課程。學(xué)生在剛開(kāi)始流水燈教學(xué)時(shí)基本上都能熟練掌握;當(dāng)加入定時(shí)器,進(jìn)入數(shù)碼管學(xué)習(xí)后,只有一半學(xué)生能夠掌握;繼續(xù)進(jìn)行到中斷,點(diǎn)陣液晶顯示后只能有四分之一的學(xué)生能夠跟上了;到了后期的各種傳感器控制、雙機(jī)通信等學(xué)生更是一頭霧水,只有極少數(shù)學(xué)生能夠跟上進(jìn)度。因此越往后進(jìn)行就越難教學(xué),多數(shù)學(xué)生只是機(jī)械地把老師給出的程序敲進(jìn)去進(jìn)行驗(yàn)證,并不理解。課程學(xué)完后,學(xué)生只能說(shuō)是了解了單片機(jī),并不能夠掌握。因此,在多數(shù)技工院校中,單片機(jī)課程變成了極少數(shù)精英學(xué)生才愿意學(xué)、學(xué)得懂的課程,多數(shù)老師也不愿意承擔(dān)該課程的教學(xué)工作。

        二、Arduino和ArduBlock圖形化編程軟件介紹

        1.Arduino介紹

        Arduino是一款便捷靈活、方便上手的開(kāi)源電子原型平臺(tái)。包含硬件(各種型號(hào)的Arduino板)和軟件(Arduino IDE)。它是由一個(gè)歐洲開(kāi)發(fā)團(tuán)隊(duì)于2005年冬季開(kāi)發(fā)的,目前可以說(shuō)還處于起步階段,市場(chǎng)上的應(yīng)用還不是很多。Arduino包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接的Arduino電路板;另外一個(gè)則是Arduino IDE,計(jì)算機(jī)中的程序開(kāi)發(fā)環(huán)境。

        2.ArduBlook圖形化編程軟件

        ArduBlock是一款專門(mén)為Arduino設(shè)計(jì)的圖形化編程軟件,由上海新車間創(chuàng)客開(kāi)發(fā)。ArduBlock軟件是一款A(yù)rduino官方編程環(huán)境的第三方軟件,目前必須依附于Arduino軟件下運(yùn)行,區(qū)別于Arduino傳統(tǒng)的文本式編程環(huán)境。ArduBlock是以圖形化積木搭建的方式編程的。這樣的方式會(huì)使編程的可視化和交互性加強(qiáng),編程門(mén)檻大大降低,即使沒(méi)有編程經(jīng)驗(yàn)的人也可以輕松嘗試給Arduino控制器編寫(xiě)程序。具體的軟件界面在后面應(yīng)用實(shí)例中大家會(huì)看到。

        Arduino結(jié)合ArduBlock可以讓教師非常方便地完成程序編寫(xiě),下載調(diào)試,對(duì)于沒(méi)有語(yǔ)言基礎(chǔ)的技工院校學(xué)生是非常方便的。因?yàn)槊馊チ藗鹘y(tǒng)單片機(jī)的C語(yǔ)言或者匯編語(yǔ)言的學(xué)習(xí),不需要英文基礎(chǔ),同時(shí)加入了圖形化編程,學(xué)生學(xué)習(xí)起來(lái)會(huì)非常直觀,也可以大大激發(fā)學(xué)生的學(xué)習(xí)興趣。下面本人通過(guò)實(shí)際教學(xué)中的案例(七段數(shù)碼管的控制)來(lái)為大家介紹下這兩款軟件的使用。

        三、教學(xué)實(shí)例:控制七段數(shù)碼管顯示器

        在此例子中,教師選用的是Arduino Uno。這是一款基于ATmega328P芯片的單片機(jī)開(kāi)發(fā)板,ATmega328P具有32KB閃存(其中0.5KB被啟動(dòng)加載器占用),它還具有2KB SRAM和1KB EEPROM(可以利用EEPROM庫(kù)讀取和寫(xiě)入)。該開(kāi)發(fā)板由14路數(shù)字輸入/輸出引腳(其中6路可以用作PWM輸出)、6路模擬輸入、1個(gè)16MHz的石英晶體振蕩器、一個(gè)USB接口、1個(gè)電源接頭、1個(gè)ICSP數(shù)據(jù)頭以及1個(gè)復(fù)位按鈕組成。Arduino Uno包含了單片機(jī)運(yùn)行所需的所有要素,只需要用USB連接線將其連接到計(jì)算機(jī),或利用AC-DC適配器或者電池供電后即可啟動(dòng)。Arduino Uno的特色在于將Atmega16U2編程為一個(gè)USB-to-serial轉(zhuǎn)換器,以便能簡(jiǎn)單、輕松和自由地安裝驅(qū)動(dòng)程序。目前,Arduino Uno已成為Arduino主推的產(chǎn)品。

        七段數(shù)碼管顯示器是人們生活中常用的顯示器件,也是單片機(jī)教學(xué)中非常重要的一部分,具體原理我們?cè)诖司筒辉俳榻B。在此教學(xué)案例中教師選用單個(gè)七段共陽(yáng)型數(shù)碼管(不控制小數(shù)點(diǎn))。分析電路圖可知我們需要用到Arduino的6個(gè)數(shù)字引腳,在此我們使用引腳3-8。因?yàn)槠叨螖?shù)碼管顯示器也是LED顯示的一種,因此我們需要加上1kΩ的限流電阻。

        因?yàn)檫x用的數(shù)碼管為共陽(yáng)型,根據(jù)數(shù)碼管顯示原理,只有當(dāng)Arduino的引腳輸出低電位時(shí),對(duì)應(yīng)的LED才會(huì)點(diǎn)亮。因此,教師需要在程序的初始化中將每個(gè)針腳都輸出高電平,然后再將需要的引腳降低為低電平,以便確保數(shù)碼管能夠穩(wěn)定顯示。在此先嘗試顯示單個(gè)數(shù)字6,然后再擴(kuò)展0到9循環(huán)顯示。根據(jù)數(shù)碼管的顯示原理可知,教師要將數(shù)碼管的a、c、d、e、f、g置為低電平,對(duì)應(yīng)的需要將Arduino的3-8腳改變?yōu)榈停ǔ跏蓟癁楦撸T诖艘驗(yàn)橛∷?wèn)題,圖不再此文顯示。

        在ArduBlock軟件中,各個(gè)函數(shù)命令被做成了一個(gè)個(gè)的功能方塊,需要什么命令教師只需要從左邊找到對(duì)應(yīng)的方塊拖到右邊編輯區(qū)即可。若是想要移除某個(gè)功能,直接拖到左半邊即可,使用起來(lái)非常方便。數(shù)字6的數(shù)碼管顯示程序編輯完成后點(diǎn)擊界面上方的“上載到Arduino”按鈕,程序便會(huì)被上傳到Arduino開(kāi)發(fā)板中,同時(shí)軟件會(huì)自動(dòng)生成對(duì)應(yīng)的程序代碼,不需要手動(dòng)編寫(xiě)。上傳后自動(dòng)生成的程序代碼如下圖所示。

        從圖中可以看出,即便是語(yǔ)言編程,Arduino也并不復(fù)雜,看起來(lái)也是簡(jiǎn)單明了。以上例子是單獨(dú)顯示一個(gè)數(shù)字6的程序,那么如果要顯示0到9,是不是程序會(huì)很長(zhǎng)效率又很低呢?當(dāng)然不是,C語(yǔ)言中教師經(jīng)常會(huì)用到子程序來(lái)簡(jiǎn)化程序,主程序中我們只需要調(diào)用相應(yīng)的子程序即可。在ArduBlock軟件中,教師同樣可以引入子程序,該功能模塊也在“控制”中,名稱即為“子程序”,點(diǎn)擊該模塊教師可以對(duì)它進(jìn)行重命名。在此教師將剛剛設(shè)置好的初始化程序命名為reset子程序,數(shù)字6的函數(shù)命名為set6子程序。以此類推,我們分別寫(xiě)出數(shù)字0到9的子程序,分別命名為set0到set9。因?yàn)槭?到9循環(huán)顯示,還需要用到延遲函數(shù)。ArduBlock也把延遲函數(shù)做成了功能模塊,只需要拖出來(lái),修改好后面的時(shí)間即可,不像傳統(tǒng)單片機(jī)還需要計(jì)算延時(shí)時(shí)間。引入子程序后整個(gè)程序看起來(lái)就簡(jiǎn)單多了,也很容易理解。這些子程序的模塊只需要擺放到右側(cè)空余地方即可,堆疊起來(lái)也沒(méi)有關(guān)系。在此因?yàn)橛∷?wèn)題,圖不再此文顯示。

        通過(guò)這樣一個(gè)實(shí)際教學(xué)案例,相信大家對(duì)Arduino和ArduBlock都已經(jīng)有了一個(gè)初步的認(rèn)識(shí)??梢钥闯觯贏rduBlock軟件中,沒(méi)有了傳統(tǒng)的c語(yǔ)言出現(xiàn),各種命令都被做成了小模塊,而且可以漢化過(guò)來(lái)變成全中文界面,看起來(lái)非常直觀,搭積木的形式也可以很清楚的理清程序的流程,讓學(xué)生更加容易理解。實(shí)際教學(xué)中利用ArduBlock圖形化編程軟件配合Arduino開(kāi)發(fā)板使用,可以讓學(xué)生真正做到零基礎(chǔ)學(xué)習(xí)程序控制,降低單片機(jī)學(xué)習(xí)難度,大大激發(fā)學(xué)生的學(xué)習(xí)興趣。

        四、小結(jié)

        筆者在經(jīng)過(guò)一個(gè)學(xué)期兩個(gè)班級(jí)的實(shí)際教學(xué)后,將教學(xué)效果總結(jié)如下:對(duì)于流水燈相關(guān)的程序,所有學(xué)生都能熟練掌握,而且可以自主變化;對(duì)于串口通信、馬達(dá)控制、傳感器驅(qū)動(dòng)等相關(guān)的程序,絕大多數(shù)學(xué)生也可以熟練掌握。最為重要的是,學(xué)生覺(jué)得單片機(jī)不再高深莫測(cè),而是觸手可及的東西,稍微動(dòng)動(dòng)腦子就可以完成很多有意思的試驗(yàn),極大地提高了學(xué)生學(xué)習(xí)單片機(jī)的興趣。

        當(dāng)然,Arduino在目前來(lái)說(shuō)也有一定的局限性,筆者認(rèn)為更適合做一些小型的項(xiàng)目,市場(chǎng)應(yīng)用也不是很廣泛,可以作為單片機(jī)學(xué)習(xí)的入門(mén),如果要真正深入學(xué)習(xí)單片機(jī),可能還是要去學(xué)習(xí)AVR、ARM嵌入式等。但是對(duì)于零基礎(chǔ)的技校生來(lái)說(shuō)剛剛合適,當(dāng)然在實(shí)際教學(xué)中教師也可以讓學(xué)生先接觸Arduino,當(dāng)學(xué)生有了學(xué)習(xí)興趣和一定的程序基礎(chǔ)后再去學(xué)習(xí)AVR、ARM等,讓學(xué)生也有一個(gè)循序漸進(jìn)的過(guò)程,以后接受語(yǔ)言編程相對(duì)也會(huì)更加容易一些。正所謂師傅領(lǐng)進(jìn)門(mén),修行在個(gè)人,作為老師,需要做的也就是幫學(xué)生打開(kāi)單片機(jī)學(xué)習(xí)的大門(mén),剩下的就是靠興趣去引導(dǎo)學(xué)生不斷探索學(xué)習(xí)。

        猜你喜歡
        圖形化數(shù)碼管子程序
        Arduino編程
        電腦報(bào)(2019年2期)2019-09-10 07:22:44
        MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
        單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
        基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        LKJ自動(dòng)化測(cè)試系統(tǒng)圖形化技術(shù)研究
        運(yùn)用圖形化聽(tīng)寫(xiě)式復(fù)習(xí),構(gòu)建高效地理課堂
        淺談子程序在數(shù)控車編程中的應(yīng)用
        圖形化地區(qū)電網(wǎng)無(wú)功優(yōu)化軟件開(kāi)發(fā)與應(yīng)用
        子程序在數(shù)控車加工槽中的應(yīng)用探索
        西門(mén)子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
        亚洲熟妇无码av另类vr影视| 91偷拍与自偷拍亚洲精品86| 强开小婷嫩苞又嫩又紧视频| 亚洲色大成网站www久久九| 超91精品手机国产在线| 国产精品女同一区二区久| 日本成年一区久久综合| 国产精品无码v在线观看| 五十路熟妇亲子交尾| 91精品国产无码在线观看| 国产老熟女伦老熟妇露脸| 久久久久人妻精品一区三寸| 国产精品区一区第一页| 久久91精品国产91久久麻豆| 免费人妻精品一区二区三区| 日日躁夜夜躁狠狠躁| 人人妻人人爽人人做夜欢视频九色 | 香港aa三级久久三级| 亚洲精品自产拍在线观看| 亚洲AV无码成人精品区H| 自拍成人免费在线视频| 欧美另类人妖| 国产免费资源高清小视频在线观看| 中文乱码字幕在线中文乱码| 亚洲高清一区二区三区在线播放| 国产精品无码久久久久久| 天天综合天天色| 久久精品亚洲熟女九色| 亚洲国产婷婷六月丁香| 国产女女精品视频久热视频| 亚洲国产日韩欧美高清片a| 大屁股流白浆一区二区三区| 无码字幕av一区二区三区| 国产香蕉尹人在线视频播放| 中文字幕视频二区三区| 熟妇与小伙子露脸对白| 久久精品亚洲熟女av麻豆| 国产真实乱对白精彩久久老熟妇女| 亚洲AV秘 无码二区在线| 日本二区视频在线观看| 日韩精品免费一区二区三区观看|