黃鑫
摘要:隨著信息科技的飛速發(fā)展,智能化設(shè)備進入生活的步伐,單片機的應(yīng)用逐步變得越來越重要,而單片機的應(yīng)用離不開程序設(shè)計編程語言,C語言是現(xiàn)在較為廣泛使用的一種編程語言,利用C語言可以開發(fā)出功能比較強大的軟件,目前教學(xué)用嵌入式機器人幾乎應(yīng)用于所有高校C語言教學(xué)之中,如何能夠讓學(xué)生在嵌入式機器人中熟練、正確地運用C語言開發(fā)出高質(zhì)量的應(yīng)用程序,成為目前教育界和工程領(lǐng)域迫切需要解決的問題,已經(jīng)引起教育部門和社會的廣泛重視。
關(guān)鍵詞:嵌入式編程;交互式;機器人
目前高職院校教學(xué)所使用的C語言教材,實驗器材等都是采用理論教學(xué),上機實驗的方式進行,學(xué)生的學(xué)習(xí)積極性低。為解決此類現(xiàn)象,提高學(xué)生對C語言理論基礎(chǔ)知識的學(xué)習(xí)興趣,設(shè)想一種實驗設(shè)備,通過學(xué)生在實驗的過程中逐步掌握理論基礎(chǔ)知識,目前比較流行的是機器人,因此采用機器人作為實驗器材,在機器人平臺上研究適應(yīng)于C語言教學(xué)的交互式編程系統(tǒng)。教學(xué)輔助系統(tǒng)可以為C語言提供良好的學(xué)習(xí)環(huán)境,提高學(xué)生對C語言編程的興趣,從而使學(xué)生能快速、牢固的掌握C語言程序設(shè)計的知識。
一、系統(tǒng)整體設(shè)計思想
此系統(tǒng)結(jié)合機器人硬件設(shè)備,針對職業(yè)學(xué)校學(xué)生的特點,總體布局采用所見即所得的方式,我們小組討論采取3級結(jié)構(gòu)框架。第一級結(jié)構(gòu)為硬件連接,即針對現(xiàn)有的機器人設(shè)備,將機器人主控板的示意圖作為第一級界面,在此示意圖上芯片的各種接口和硬件一一對應(yīng),可將機器人的各種外設(shè)連接在示意圖上。考慮到機器人的外設(shè)較多,有輸入、輸出多種模塊,輸入部分為傳感器類,傳感器基本分兩類,一類為數(shù)字傳感器,一類為模擬傳感器;輸出部分為電機,所以界面采用直流電機、數(shù)字傳感器和模擬傳感器三個部分。點擊某個部分可選擇主控板示意圖界面上的某類芯片接口,此合適的相應(yīng)類的芯片接口為紅色,提示用戶此類接口為優(yōu)先推薦接口。連接好相應(yīng)的接口及傳感器后,在第二級界面就出現(xiàn)相應(yīng)的模塊操作界面,即必須在第一級界面安裝好相應(yīng)的機器人硬件設(shè)備才能產(chǎn)生第二級的模塊操作界面。在操作界面上采用各種圖標(biāo)點擊方式進行流程圖的設(shè)計,到此我們只完成了可實現(xiàn)流程圖圖標(biāo)的操作,然而要完成C語言教學(xué)和驅(qū)動機器人的運動,必須要有相關(guān)的結(jié)構(gòu)語言支撐,這點就比較困難了,經(jīng)過長時間的討論,我們決定采用C語言流程圖的圖標(biāo)來代替程序結(jié)構(gòu),底層和結(jié)構(gòu)函數(shù)進行鏈接,各種條件利用變量進行選擇的方式來完成。第二層結(jié)構(gòu)就是重中之重的了,因為這套系統(tǒng)是針對C語言教學(xué)開發(fā)的,所以重點在C語言教學(xué)上,也就是說必須將C語言的源代碼顯示出來,我們小組做了很多實驗,最后采用底層做好函數(shù),圖標(biāo)進行鏈接,將C語言的源代碼反顯示出來,函數(shù)采用頭文件的方式給固化到軟件的初始化中,后面只需要調(diào)用即可,考慮到生動性更好一點,我們做了一個以前完全沒有的設(shè)想,在第二級界面中增加,流程圖反C語言,C語言反流程圖的雙向編譯功能。第三層結(jié)構(gòu)為編譯界面,此結(jié)構(gòu)需要和主控板所用單片機做通訊程序,主要置于底層。
二、系統(tǒng)總體結(jié)構(gòu)
根據(jù)系統(tǒng)整體設(shè)計思想,擬利用三層結(jié)構(gòu)界面進行研究,第一層結(jié)構(gòu)為硬件連接結(jié)構(gòu),此結(jié)構(gòu)為上層結(jié)構(gòu),尤為重要,在此結(jié)構(gòu)上進行了相關(guān)操作才能在下面的結(jié)構(gòu)中用相應(yīng)的功能。第一層結(jié)構(gòu)需要和選配的機器人主控制器配合使用,需要根據(jù)選配的機器人主控板畫出示意圖,做好底層代碼編譯鏈接。第二層結(jié)構(gòu)為程序和流程圖交互式編程界面,在此結(jié)構(gòu)上可以對已在第一層結(jié)構(gòu)中連接的硬件進行各種檢測和控制操作,交互式在第二層結(jié)構(gòu)中產(chǎn)生。第三層結(jié)構(gòu)為編譯界面,此結(jié)構(gòu)需要和主控板所用單片機做通訊程序,主要置于底層。系統(tǒng)總體結(jié)構(gòu)如圖1-1所示。
第一層結(jié)構(gòu)是第二層結(jié)構(gòu)的基礎(chǔ),所有的操作都必須完成第一層結(jié)構(gòu)的安裝連接才能進入第二層結(jié)構(gòu)并使用相應(yīng)的功能,所以第一層結(jié)構(gòu)的搭建最為重要。
第二層結(jié)構(gòu)是界面軟件編程設(shè)計,變量的定義和C語言的交互部分都是采用底層函數(shù)方式來完成,在軟件中只做相應(yīng)的鏈接和顯示,實現(xiàn)流程圖和C語言的程序交互式編程。
第三層結(jié)構(gòu)是編譯和下傳設(shè)計,編譯部分考慮了語法檢查和提示功能,當(dāng)需要編譯時,先進行程序的語法檢查,采用順序查詢的方式進行,利用相應(yīng)的代碼進行查詢數(shù)據(jù)庫中的語法規(guī)則,符合語法規(guī)則的不進行提示,如果不符合語法規(guī)則,則進行提示出錯信息,并指示錯誤位置和語法缺省項,此時用戶可以根據(jù)提示進行修改,當(dāng)所有的語法都通過檢查并正確就進行編譯,生成下載代碼文件。利用USB口,通訊程序?qū)⑸傻拇a文件下傳到機器人中。
三、小結(jié)
本論文研究了高職院校C語言教學(xué)輔助系統(tǒng)的總體設(shè)計構(gòu)思,其中包括系統(tǒng)整體設(shè)計思想、系統(tǒng)總體結(jié)構(gòu)及功能流程。此系統(tǒng)采用項目方式總體布局設(shè)計,在實現(xiàn)硬件連接的基礎(chǔ)上做相應(yīng)鏈接方式,達到硬件鏈接和流程圖模塊實時對應(yīng);采用流程圖和C語言交互式編譯過程,C語言采用模塊化語言設(shè)計,雙方可進行交互操作。學(xué)生能夠利用C語言編程完成機器人的各種項目,用流程圖設(shè)計與編寫適合于機器人運行的C語言應(yīng)用程序,實現(xiàn)C語言和流程圖一一對應(yīng)的編程方式,直觀、形象、生動的對C語言的基本語法進行學(xué)習(xí)。因此,在機器人設(shè)備上開發(fā)適合于學(xué)生學(xué)習(xí)C語言的教學(xué)輔助系統(tǒng),可以為C語言提供良好的學(xué)習(xí)環(huán)境,提高學(xué)生對C語言編程的興趣,從而提高教學(xué)質(zhì)量,為實現(xiàn)嵌入式C語言的應(yīng)用,提供了有力的支撐。