註: 本文為中文翻譯,原文請見底下網址:
http://www.mikroe.com/eng/chapters/view/13/appendix-c-development-systems/
TOC Introduction Ch. 1 Ch. 2 Ch. 3 Ch 4. Ch. 5 Ch. 6 Ch. 7 Ch. 8 Ch. 9 App. A App. B App. C
Appendix C: Development Systems
如何開始工作?
微控制器是本性善良的 "瓶中精靈",而且使用它不需要太多額外的知識。
為了建立一個由微控制器控制的設備,必須提供 PC、編譯工具以及將程式從 PC 端傳送到晶片上的設備。
雖然過程很合乎邏輯,不過還是有很多疑問,倒不是因為複雜,而是有很多變化。讓我們來看一看…
以組合語言撰寫程式
為了撰寫微控制器的程式,可能得使用 Windows 環境上一支專門的程式,任何作文字處理的程式都可以勝任這樣的工作。重點是要按照微控制器應該執行的次序編寫所有的指令,注意組合語言的規則,並且正確的按照定義寫出指令。換句話說,你必須遵照程式的邏輯!如此而已!在使用訂製的軟體時,也有一些輔助開發的工具。其中一個是模擬器,它讓使用者可以在把程式燒錄到 MCU 之前先測試程式碼。
為了讓編譯器順利進行工作,程式的副檔名必須為 .asm,例如 Program.asm。
在使用專門的程式時 (MPLAB),程式會自動附加 .asm 的副檔名。如果是使用其它文字處理器 (Notepad),那麼文件就必須儲存並重新命名。例如,把 Program.txt 換成 Program.asm。
給懶惰的人:跳過這個程序,在 MPLAB 裏開啟一個新的 .asm 文件,把組合語言寫成的程式剪貼過來即可。
編譯程式
微控制器並不認識組合語言。這就是為什麼必須把程式編譯成為機械語言。使用 MPLAB 來做這件工作非常的簡單,因為編譯器是 MPLAB 的一部份。只要點一下適點的圖示便可以編譯程式,而且會產生一個副檔名為 .hex的新文件。它其是同一支程式,只不過被編譯成了微控制器的機器語言。這類文件通常稱為 "hex code",而且表面上看起來是一串 16 進制的無意義的數字。
假如使用其它軟體撰寫組合語言程式,必須安裝編譯器的軟體,並且這樣子使用: 設定編譯器、打開副檔名為 .asm 的文件,然後編譯之。結果是一樣的 – 一份副檔名為 .hex 的新文件。唯一的問題是要確認這份文件儲存在你電腦上。
燒錄程式到微控制器
為了將 "hex code" 傳輸到微控制器,必須提供一條序列通訊的纜線 (cable) 還有一個稱作 programmer 的特殊設備以及適合的軟體。有很多方法可以做。
這類用途的程式和電子設備在 Internet 上可以找到很多。照著底下做:開啟 hex code 文件,設定一些參數,然後點下圖示以燒錄程式。過一陣子後,一串 0 與 1 的資料便會透過序列覽線和燒錄硬體寫到微控制器裏。接下來除了將燒錄好的晶片安置到目標設備外,就沒有什麼要做的了。萬一程式必須做一些修,前述的程序可能會重覆很多次。
這是快樂的結局嗎?(Is this a happy ending?)
本節簡短說明 MPLAB 與 Mikroelektronika 開發的燒錄軟體的使用方法。一切都很簡單…
你已經裝好了 MPLAB,你還沒嗎?開啟一個新專案與一份副檔名為 .asm 的新文件。
好,你已經寫了一支程式,而且用模擬器測試過了。編譯的時候程式沒有發生錯誤?看起來一切都在掌控中…
程式寫好了而且也通過編譯了。接下來要做的事是把程式寫到微控制器,為了達到這個目的,必須使用一個軟體 (例如 PICFlash ) 把編譯好的軟體傳輸到微控制器。跟著啟動這支程式…
設定很簡單,不需要額外解釋 (微控制器的種類、頻率和振盪器等)
● 經由 US B傳輸線連接 PC 和 programmer;
● 使用命令 File>Load Hex 載入 Hex code ; 及
● 按下 "Write" 按鈕然後等待…
就這樣!微控制器已經燒錄好程式,而且一切準備就緒。如果你不太滿意,給程式做一些變動,然後重覆這個程序。到什麼時候為止?到你滿意的時候….
開發系統 (Development systems)
在測試的階段,可以用來模擬任何環境的設備稱之為開發系統 (development system)。除了 programmer 和電源供應器和微控制器的插座外,開發系統包含了輸入腳位的啟動與輸出腳位的觀察的元素。最簡化的版本將每支腳位連接到按鈕和 LED 燈號。高品質的版本有 LED displays, LCD displays, 溫度感測器和所有其它目標設備可以提供的元素。這些周邊可以透過小型的 jumpers 連接到 MCU。在這種方式,整個程式可以在開發階段實際測試,因為微控制器不曉得、甚至也不在乎其輸入是不是真正機器的按鈕或感測試器啟動的。
0 意見:
張貼留言