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