封雪 郝穎 于世東
摘要:在單片機(jī)項(xiàng)目中,開發(fā)者不僅需要考慮硬件選擇,方案設(shè)計(jì),還要編寫功能代碼,仿真測(cè)試等。而對(duì)于非計(jì)算機(jī)專業(yè)的初學(xué)者來(lái)說(shuō),編程難度較大。Proteus可視化設(shè)計(jì)方法,利用流程圖代替編寫代碼這一特點(diǎn),大大減低了難度,從而激發(fā)學(xué)生學(xué)習(xí)積極性。
關(guān)鍵詞:proteus;可視化;單片機(jī)
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)17-0243-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Abstract:In the single chip project, developers not only need to consider hardware selection, scheme design, but also write functional codes, simulation tests and so on. For beginners who are not computer majors, programming is more difficult. Proteus visual design method, using flow chart instead of writing code, greatly reduces the difficulty, thus stimulating students'learning enthusiasm.
Key words:Proteus; visualization; singlechip
1 引言
由于實(shí)驗(yàn)場(chǎng)地及時(shí)間的限制,致力于單片機(jī)教學(xué)的教師在線下教學(xué)中,目前大多數(shù)采用proteus進(jìn)行單片機(jī)及外圍器件的仿真。Proteus[1]軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件。
單片機(jī)工程開發(fā)周期長(zhǎng),通常需要選擇芯片、確定方案、設(shè)計(jì)硬件、編寫功能代碼,仿真測(cè)試、系統(tǒng)測(cè)試等等。在硬件電路設(shè)計(jì)方面,開發(fā)者需要查閱硬件手冊(cè),弄清元件的引腳用途,控制器的存儲(chǔ)接口等,而且控制方式復(fù)雜。在軟件設(shè)計(jì)方面,開發(fā)者至少要先學(xué)習(xí)一門編程語(yǔ)言。一般常用“c、c++”或匯編語(yǔ)言。然后再將二者綜合應(yīng)用起來(lái)。對(duì)于初學(xué)者來(lái)說(shuō)難度較大。
2 Proteus可視化優(yōu)點(diǎn)
Proteus可視化設(shè)計(jì)[2,3]過(guò)拖放方式完成原理圖設(shè)計(jì)和代碼編寫過(guò)程。實(shí)際上,學(xué)生只要拖放相應(yīng)模塊,搭建程序流程圖,并進(jìn)行必要參數(shù)設(shè)置,即可實(shí)現(xiàn)相應(yīng)功能。因此,開發(fā)者僅需要掌握微控制器的基本架構(gòu),這大大降低對(duì)編程和控制邏輯的設(shè)計(jì)要求。
3 相關(guān)模塊
3.1 外設(shè)窗口
外設(shè)窗口中左側(cè)為項(xiàng)目樹。在此窗口中,開發(fā)者可以通過(guò)右鍵,然后在彈出的快捷菜單中選擇添加流程圖、添加外設(shè)或添加資源文件操作等操作,如圖1所示。
如果外設(shè)成功添加到工程中后,點(diǎn)擊外設(shè)左側(cè)箭頭,用戶即可看到此外設(shè)所包含的所有方法。開發(fā)者同樣可以通過(guò)拖放的方式,將方法放置到流程圖編輯窗口,以實(shí)現(xiàn)其功能。這個(gè)過(guò)程,大大簡(jiǎn)化了初學(xué)者的學(xué)習(xí)難度。注意,每個(gè)設(shè)備要有不同的id。具有相同名稱的端子被認(rèn)為通過(guò)不可見(jiàn)線連接(網(wǎng)絡(luò)標(biāo)號(hào))。
Proteus為外設(shè)提供了一些默認(rèn)的方法。例如,led的on、off方法。因此,當(dāng)開發(fā)者成功在工程中添加外設(shè)后,若想要使用某一外設(shè)的某一方法時(shí),就可以在這一對(duì)話框中進(jìn)行設(shè)置。
3.2 流程圖工具欄
用戶可以利用拖放的方法直接從外設(shè)窗口中或者從流程圖工具欄將拖到流程圖編輯窗口。流程圖工具欄中包括事件模塊、結(jié)束模塊、分配模塊、子程序調(diào)用、存儲(chǔ)數(shù)據(jù)模塊、I/O操作、延時(shí)、條件模塊、循環(huán)、互連器等工具,如圖2所示。
結(jié)構(gòu)化程序設(shè)計(jì)主要包含3種結(jié)構(gòu),順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。其中,條件結(jié)構(gòu)可以通過(guò)條件模塊實(shí)現(xiàn);循環(huán)結(jié)構(gòu)可以通過(guò)循環(huán)結(jié)構(gòu)實(shí)現(xiàn)。
4 流水燈可視化設(shè)計(jì)案例
Proteus8.3以及以上的版本提供了Proteus可視化設(shè)計(jì)功能。我們以流水燈可視化設(shè)計(jì)作為案例,進(jìn)一步說(shuō)明可視化設(shè)計(jì)步驟。
4.1新建工程
(1)新建工程:通過(guò)工程向?qū)?,新建工?
(2)設(shè)置工程名和保存路徑;
(3)選擇原理圖大小;
(4)選擇PCB布局;
(5)固件屏幕的設(shè)置,如圖3所示;
(6)完成。
4.2 添加外設(shè)
在“外設(shè)窗口”中右鍵,在彈出的快捷菜單中選擇“添加外設(shè)”,然后在彈出的“選擇外設(shè)”對(duì)話框中,外設(shè)分類下選擇“Grove”,再在下面列出的外設(shè)中選擇“Grove LED”。選中外設(shè)后,用戶會(huì)在右側(cè)的預(yù)覽區(qū)域中看到外設(shè)。圖中的“D3”為外設(shè)的ID。
點(diǎn)擊“OK”按鈕后,在“外設(shè)窗口”中,即可看到添加的外設(shè)名稱以及該外設(shè)已有的方法。同時(shí),軟件也會(huì)自動(dòng)將外設(shè)添加至原理圖中。這里,用戶應(yīng)注意修改外設(shè)的ID號(hào)。雙擊元件,然后在彈出的“編輯元件”對(duì)話框中ID下拉列表框中,選擇元件的ID號(hào)。注意不要重復(fù)。同時(shí),用戶也不用進(jìn)行外設(shè)與cpu的連接操作,proteus軟件自動(dòng)實(shí)現(xiàn)外設(shè)和cpu的連接。
4.3 設(shè)計(jì)流程圖
流程圖編輯窗口中僅包含一個(gè)名為“Main”的sheet,用戶可以通過(guò)在“外設(shè)窗口”中右鍵,然后在彈出的快捷菜單中選擇“添加圖表”以實(shí)現(xiàn)其他圖紙的添加。這里的“Main”圖表的內(nèi)容,實(shí)際上相當(dāng)于程序設(shè)計(jì)中的主函數(shù)功能。最初的Main包含setup模塊和loop模塊。Setup模塊中,通常設(shè)置外設(shè)初始狀態(tài)或變量的初始值。Loop模塊為循環(huán)結(jié)構(gòu),在這一模塊設(shè)置的動(dòng)作,將貫穿于整個(gè)工程的執(zhí)行過(guò)程中。用戶可以在“流程圖工具欄”窗口中,利用拖拽的方法或在“外設(shè)窗口”中直接拖拽方法的形式,將方法添加至“流程圖編輯窗口”。其中,外設(shè)所包含的各種方法已有Proteus軟件實(shí)現(xiàn)。這樣就大大降低了對(duì)初學(xué)者的編程要求。流水燈設(shè)計(jì)流程圖,如圖4所示.
4.4 仿真調(diào)試
用戶可以通過(guò)點(diǎn)擊窗口左下方的“仿真控制按鈕”,進(jìn)行功能的仿真與調(diào)試。如果原理圖或流程圖中由錯(cuò)誤,則會(huì)在“VSM Studio 輸出”窗口報(bào)錯(cuò)。用戶可以根據(jù)提示進(jìn)行修改。若工程中沒(méi)有錯(cuò)誤,用戶即會(huì)看到仿真效果,如圖5所示。
5 總結(jié)
通過(guò)案例,我們可以看到,基于流程圖的proteus可視化設(shè)計(jì)方法,大大降低了對(duì)用戶的編程和控制邏輯的設(shè)計(jì)要求。開發(fā)者僅需要掌握微控制器的基本架構(gòu),弄懂功能流程,通過(guò)拖拽的方式,即可實(shí)現(xiàn)相應(yīng)功能,類似于“樂(lè)高”式學(xué)習(xí),大大激發(fā)了初學(xué)者的學(xué)習(xí)興趣。
同時(shí),proteus也提供了反編譯的功能,即可將流程圖反編譯為C代碼。所以,也可以滿足用戶的后續(xù)學(xué)習(xí)要求,以提升用戶設(shè)計(jì)能力和編程能力。
參考文獻(xiàn):
[1] 藍(lán)天,陳永,王婷.單片機(jī)原理及實(shí)用技術(shù)[M].成都:西南交通大學(xué)出版社,2014.
[2] 董志敏.Ardunio工程可視化設(shè)計(jì)在教學(xué)中的應(yīng)用[D].內(nèi)蒙古大學(xué),2016.
[3] 張江城,胡橙.基于Ardunio的高職高專單片機(jī)相關(guān)課程改革設(shè)計(jì)[J].中小企業(yè)管理與科技(上旬刊),2016,04:124-125.
【通聯(lián)編輯:李雅琪】