封雪 郝穎 于世東



摘要:在單片機項目中,開發者不僅需要考慮硬件選擇,方案設計,還要編寫功能代碼,仿真測試等。而對于非計算機專業的初學者來說,編程難度較大。Proteus可視化設計方法,利用流程圖代替編寫代碼這一特點,大大減低了難度,從而激發學生學習積極性。
關鍵詞:proteus;可視化;單片機
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)17-0243-03
開放科學(資源服務)標識碼(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 引言
由于實驗場地及時間的限制,致力于單片機教學的教師在線下教學中,目前大多數采用proteus進行單片機及外圍器件的仿真。Proteus[1]軟件是英國Lab Center Electronics公司出版的EDA工具軟件。
單片機工程開發周期長,通常需要選擇芯片、確定方案、設計硬件、編寫功能代碼,仿真測試、系統測試等等。在硬件電路設計方面,開發者需要查閱硬件手冊,弄清元件的引腳用途,控制器的存儲接口等,而且控制方式復雜。在軟件設計方面,開發者至少要先學習一門編程語言。一般常用“c、c++”或匯編語言。然后再將二者綜合應用起來。對于初學者來說難度較大。
2 Proteus可視化優點
Proteus可視化設計[2,3]過拖放方式完成原理圖設計和代碼編寫過程。實際上,學生只要拖放相應模塊,搭建程序流程圖,并進行必要參數設置,即可實現相應功能。因此,開發者僅需要掌握微控制器的基本架構,這大大降低對編程和控制邏輯的設計要求。
3 相關模塊
3.1 外設窗口
外設窗口中左側為項目樹。在此窗口中,開發者可以通過右鍵,然后在彈出的快捷菜單中選擇添加流程圖、添加外設或添加資源文件操作等操作,如圖1所示。
如果外設成功添加到工程中后,點擊外設左側箭頭,用戶即可看到此外設所包含的所有方法。開發者同樣可以通過拖放的方式,將方法放置到流程圖編輯窗口,以實現其功能。這個過程,大大簡化了初學者的學習難度。注意,每個設備要有不同的id。具有相同名稱的端子被認為通過不可見線連接(網絡標號)。
Proteus為外設提供了一些默認的方法。例如,led的on、off方法。因此,當開發者成功在工程中添加外設后,若想要使用某一外設的某一方法時,就可以在這一對話框中進行設置。
3.2 流程圖工具欄
用戶可以利用拖放的方法直接從外設窗口中或者從流程圖工具欄將拖到流程圖編輯窗口。流程圖工具欄中包括事件模塊、結束模塊、分配模塊、子程序調用、存儲數據模塊、I/O操作、延時、條件模塊、循環、互連器等工具,如圖2所示。
結構化程序設計主要包含3種結構,順序結構、條件結構、循環結構。其中,條件結構可以通過條件模塊實現;循環結構可以通過循環結構實現。
4 流水燈可視化設計案例
Proteus8.3以及以上的版本提供了Proteus可視化設計功能。我們以流水燈可視化設計作為案例,進一步說明可視化設計步驟。
4.1新建工程
(1)新建工程:通過工程向導,新建工程;
(2)設置工程名和保存路徑;
(3)選擇原理圖大小;
(4)選擇PCB布局;
(5)固件屏幕的設置,如圖3所示;
(6)完成。
4.2 添加外設
在“外設窗口”中右鍵,在彈出的快捷菜單中選擇“添加外設”,然后在彈出的“選擇外設”對話框中,外設分類下選擇“Grove”,再在下面列出的外設中選擇“Grove LED”。選中外設后,用戶會在右側的預覽區域中看到外設。圖中的“D3”為外設的ID。
點擊“OK”按鈕后,在“外設窗口”中,即可看到添加的外設名稱以及該外設已有的方法。同時,軟件也會自動將外設添加至原理圖中。這里,用戶應注意修改外設的ID號。雙擊元件,然后在彈出的“編輯元件”對話框中ID下拉列表框中,選擇元件的ID號。注意不要重復。同時,用戶也不用進行外設與cpu的連接操作,proteus軟件自動實現外設和cpu的連接。
4.3 設計流程圖
流程圖編輯窗口中僅包含一個名為“Main”的sheet,用戶可以通過在“外設窗口”中右鍵,然后在彈出的快捷菜單中選擇“添加圖表”以實現其他圖紙的添加。這里的“Main”圖表的內容,實際上相當于程序設計中的主函數功能。最初的Main包含setup模塊和loop模塊。Setup模塊中,通常設置外設初始狀態或變量的初始值。Loop模塊為循環結構,在這一模塊設置的動作,將貫穿于整個工程的執行過程中。用戶可以在“流程圖工具欄”窗口中,利用拖拽的方法或在“外設窗口”中直接拖拽方法的形式,將方法添加至“流程圖編輯窗口”。其中,外設所包含的各種方法已有Proteus軟件實現。這樣就大大降低了對初學者的編程要求。流水燈設計流程圖,如圖4所示.
4.4 仿真調試
用戶可以通過點擊窗口左下方的“仿真控制按鈕”,進行功能的仿真與調試。如果原理圖或流程圖中由錯誤,則會在“VSM Studio 輸出”窗口報錯。用戶可以根據提示進行修改。若工程中沒有錯誤,用戶即會看到仿真效果,如圖5所示。
5 總結
通過案例,我們可以看到,基于流程圖的proteus可視化設計方法,大大降低了對用戶的編程和控制邏輯的設計要求。開發者僅需要掌握微控制器的基本架構,弄懂功能流程,通過拖拽的方式,即可實現相應功能,類似于“樂高”式學習,大大激發了初學者的學習興趣。
同時,proteus也提供了反編譯的功能,即可將流程圖反編譯為C代碼。所以,也可以滿足用戶的后續學習要求,以提升用戶設計能力和編程能力。
參考文獻:
[1] 藍天,陳永,王婷.單片機原理及實用技術[M].成都:西南交通大學出版社,2014.
[2] 董志敏.Ardunio工程可視化設計在教學中的應用[D].內蒙古大學,2016.
[3] 張江城,胡橙.基于Ardunio的高職高專單片機相關課程改革設計[J].中小企業管理與科技(上旬刊),2016,04:124-125.
【通聯編輯:李雅琪】