//Logo Image
作者:王坤池(2005-05-02);推薦:徐業良(2005-05-03)

LEAP PICSTART Plus燒錄單晶片程式

本文介紹如何以力浦電子所開發的LEAP PICSTART Plus燒錄器來做單晶片燒錄,並以PIC12F675為例,實際撰寫控制程式並進行燒錄。

1.     LEAP PICSTART Plus燒錄器簡介

LEAP PICSTART PlusMicrochip授權力浦電子[http://www.leap.com.tw]開發之燒錄器,外觀及配件如圖1所示,基本配備除了燒錄器主機外,還包括一條RS-232連接線以及9V直流電源變壓器。LEAP PICSTART Plus介面相當簡易,採用40pinDIP IC測試座方便DIP封裝的單晶片快速插拔。該DIP IC測試座支援8pin18pin28pin以及40pin的單晶片直接插拔,使用上相當方便。

1. 單晶片燒錄器[LEAP PICSTART Plus, http://www.leap.com.tw]

2.     PIC12F675單晶片及範例程式說明

本文選用PIC12F675作為測試燒錄用IC,在外觀上DIP封裝僅8隻接腳,其中有6I/O腳位,足以使用在簡單的控制系統中。PIC12F675規格及接腳定義圖如圖2所示。

2. PIC12F675規格及接腳定義圖

本文的範例程式使用單晶片PIC12F675來做3I/O控制,以一個開關動作(input)來控制2LED切換(output)。圖3為程式碼,程式首先定義單晶片的工作時脈,在此應用中不使用外部震盪器,故時脈設定為單晶片內部時脈4Mhz。主程式在while迴圈內,設定AN2input腳位,每次迴圈一開始執行時,會更新AN2的腳位狀態。當AN2為低電位時,接於AN0LED將亮起一秒鐘後熄滅;當AN2為高電位時,接於AN1LED將亮起一秒鐘後熄滅。

3. 單晶片應用程式

3.     程式模擬及燒錄軟體操作

本文使用PCWH Compiler來撰寫程式以及編譯成Hex檔,將圖3的範例程式編譯成hex檔後,接下來便可使用燒錄器來進行燒錄。LEAP PICSTART Plus套件中包含一套操作軟體,主要用以程式模擬及燒錄使用,但由於該軟體所支援的單晶片相當有限,故在軟體使用上改採用Microchip官方網頁[http://www.microchip.com]所提供的“MPLAB IDE v7.10這套軟體,該軟體屬於免費軟體,可自行Microchip頁下載使用,以下將針對該軟體操作做說明。

3.1 安裝及設定

請先將LEAP PICSTART Plus所附之RS-232連接線連接LEAP PICSTART Plus輸入端及電腦之COM port端,並開啟電源,完成硬體裝設後,再安裝MPLAB IDE v7.10軟體,點選「complete」完整安裝即可,完成後,開啟MPLAB IDE v7.10程式做設定。首先將幾個常用視窗開啟以及初始環境設定,以方便燒錄時操作,步驟如下:

(1)   開啟程式視窗,點選工具列「Viewè3 Program Memory」開啟記憶體狀態視窗,如圖4(a)

(2)   開啟設定選項視窗,點選工具列「ConfigureèConfiguration Bits」開啟進階設定視窗,如圖4(b)

(3)   選擇燒錄元件,點選工具列「ConfigureèSelect Device」,在彈出視窗中,選擇所要燒錄的單晶片型號,如本應用中選擇PIC12F675,如圖4(c)

(4)   選擇燒錄裝置,點選工具列「ProgrammerèSelect Programmerè1 PICSTART Plus」,如圖4(d)

(5)   啟動燒錄器,點選工具列「ProgrammerèEnable Programmer」,如圖4(e)

(6)   完成上述設定後,可點選工具列「WindowsèTile Horizontally」將各視窗水平排列以方便操作以及觀察結果。操作視窗除了上方有工具列外,下方狀態列同時會顯示此時設定的燒錄裝置及燒錄元件,如圖4(f)所示。

4(a). Program Memory

4(b). Configuration Bits

4(c). 選擇燒錄元件

4(d). 選擇燒錄器

4(e). 啟動燒錄器

4(f). 設定完成後視窗

3.2 程式匯入及燒錄

完成前述環境設定後,將欲燒錄的PIC12F675插上DIP IC測試座並將卡榫扣緊。程式匯入及燒錄步驟如下:

(1)      點選工具列的圖示,將原單晶片內設定清除掉,此步驟不可省略,以確保燒錄時不會產生資料比對錯誤,而無法進一步燒錄。

(2)      接著匯入hex檔案以進行燒錄動作,點選「FileèImport」,並點選已經事前編譯好的hex檔,如圖5(a)

(3)      匯入後,Program Memory視窗內的各個值會由原先的3FFF改為其他數字,表示暫存記憶體內已有其他程式取代原先的空白狀態(3FFF),如圖5(b)所示。

(4)      接著做單晶片的選項設定,此部分設定也可由程式撰寫來設定,並在匯入hex檔後,即會自動設定完成。若程式內無設定,則為預設值。在本應用中,範例程式中並未設定,故由手動來設定。本範例使用內部振盪器故Oscillator選項選用「Internal RC Clockout」,其餘功能沒有使用則選用「Off」即可,設定完成如圖5(c)所示。

(5)      點選「ProgrammerèReset」將燒錄器重置,此時視窗下方狀態列會出現Resetting的字樣,表示燒錄器正在重置中,稍待片刻完成後,接著點選「ProgrammerèProgram」進行燒錄,此時視窗下方狀態列會出現Programming以及Verifying的字樣,表示燒錄器正在燒錄以及比對。完成後再Output視窗會出現燒錄成功的訊息,如圖5(d)所示。

5(a). 匯入Hex

5(b). 暫存記憶體狀態

5(c). Configuration Bits設定

5(d). 燒錄成功訊息

完成PIC12F675單晶片燒錄後,可實際接上電路(如圖6)進行測試。在單晶片程式沒有燒錄保護的情況下(程式設計者可自行設定保護),LEAP PICSTART Plus也能將單晶片中的程式碼讀出,達到重製的功能。將燒錄器設定好後,點選「ProgrammerèRead」即可將單晶片內的程式讀出,在Program Memory視窗所表示的暫存記憶體也會變成該單晶片內的程式碼,效果如同匯入hex檔。接著只要繼續程式匯入及燒錄的步驟燒錄即可重複燒錄。

6 範例電路

參考資料

http://www.leap.com.tw

http://www.microchip.com

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=86 (Download MPLAB IDE v7.10)