Microchip PIC 單晶片開發 – MPLabX 安裝與 PIC16F690 燒寫範例

最近又碰到了記憶力大考驗的機會,把之前洗板子做過的 「USB 可程式化電源控制器」翻出來用,而且又需要改程式。一下沉重的陌生感襲來,雖然浪費了一點時間,不過還是把事情搞定了~ 那就寫篇文章記下來吧.

單晶片小說明

單晶片就是一般常說的 Micro-Controller Unit (MCU),一顆黑黑的東西裡面就包含了記憶體、Flash、EEPROM 和不同程度的 IO 功能,從6pin到上百pin的都有。記憶體從1x bytes 到 1M byte 都有,產品種類很齊全。對一般 Maker 最大的優點就是東西都包在一顆 CHIP 裡了,可以不需接外部設備,腳位又少,好焊,價格也不貴。對於做簡單的控制非常實用,商用產品也用的很多。

MPLabX 開發環境下載

為了寫這篇文章,重新下載了官方的開發環境,竟發現跟舊有的程式不太相容了,建議只是偶爾用之的使用者,用的順手就把工具留下來,不然哪天下載新的,發現舊 code 又跑不動了。

在 Google 上找 「mplabx download」,第一個連結應該可以導到 Microchip 的下載頁面

Microchip 下載頁

點擊後,就會跳到下載的地方,選擇 Windows 的連結,進行下載。

Windows 版本下載

上面下載的是開發環境,編譯器(Compiler)還要另外下載

XC8 編譯器下載

下載 XC Compiler

將游標移到「Tools and Software」點擊左邊的「MPLAB XC Compilers」,按下 View Downloads 跳轉到頁面中間,再選擇 Compiler Downloads。

下載 XC Compiler

選擇下載 XC8 (8bit chips) Compiler。

下載

都下載完畢後,先安裝 XC8 Compiler,再安裝 MPLabX IDE,這樣才不會出現未安裝編譯器的警告訊息。安裝 MPLabX 的時候,只選擇 8bit 的項目就好了,以免安裝不必要的東西。中間若有其它的選項或警告,忽略直接安裝即可。

 

MPLabX 只選 8bit

安裝完畢後啟動,就能看到主畫面了。

MPLabX IDE

開啟專案

本文就直接從個人的範例開啟專案,就不再從頭開始講述。PIC 單晶片也不是很常使用,通常還是東抄西抄,找到能用的範例能實現想要的功能就好了。本文的範例,附在文末,可以此當做參考。

開啟 MPLabX IDE,選擇 File –> Open Project ,選擇範例專案的 PIC16F690 裡的 uart_test.X,然後按下 open project 就可以開啟專案。

打開 PIC 專案

主程式在 Source Files 裡的 newmain.c,打開後就可以修改程式,由於本文是說明PIC的燒錄流程,就不解說程式了,程式碼會附在文末,可自行參考。

程式碼

接著,按下 「Build Project 」的 button,就可以編出二進位的 .hex 檔案。

編譯原始碼與生成檔案

燒錄檔案

燒錄程式

編譯出來的檔案,如上一節所示,是一個xxx.hex的檔案,這也是我們要燒進 PIC 裡的檔案。要把程式燒進 PIC 的 flash 裡,我們用的是 PICkit2 v2.61 燒錄工具。為什麼要用這麼舊的東西呢?因為我買到的燒錄器就是附這個軟體,用起來也還算順手。在安裝 MPLabX IDE 時,也會安裝名為 IPE 的工具,這好像也是燒錄用的,不過由於 PICKit2 v2.61 用起來沒問題,就沒特別研究了。

PICKit2 programmer

PIC燒錄器

PIC 的燒錄器,是非官方的版本,拍賣上都買的到,用法應該都大同小異。

拍賣買的燒錄器

將 PIC16F690 插到插槽上,並將左下角的腳位接接到適當的位置。

在左下角的腳位由左到右分別為

  1. VPP
  2. VDD
  3. GND
  4. DAT
  5. CLK
  6. AUX

除了AUX沒用到外,其它線要和CHIP上相對的位置接在一起。將PIC放上插槽後,左方有2排的排針,剛好就是和PIC對應的。PIC16F690 的腳位定義,直接上網找 「PIC16F690 datasheet」,就可以下載的到。

datasheet

通常在前面幾頁,就會列出腳位的定義圖了。

PIC16F690 PIN Definition

名字跟燒錄器上的有點差異,基本上都不難理解。左邊是 datasheet 的名稱,右邊是燒錄器上的。

  1. VDD = VDD
  2. MCLR = VPP
  3. Vss = GND
  4. ICSPDAT = DAT
  5. ICSPCLK = CLK

把線都接好後,就可以把 USB 線接到電腦上,準備燒錄了。

開始燒錄

接上電後,打開 PICKit2 燒錄器,正常的話就可以偵側到裝置了。

 

偵測到燒錄器與PIC16F690

接著按下右下角的 Import Hex + Write Device,選擇剛剛在 MPLabX IDE 產生的 .hex 檔案,就會開始燒錄,這樣就算完成了。

燒錄完成

測試

本文的程式碼簡單的來說,是用 GPIO 來控制 RELAY,還有 UART CLI 的功能,所以原本有洗一塊專用的板子。如果讀者只是想要試試 PIC 的功能,也可以直接用這塊燒錄板的腳位,將 UART 跟 GPIO 接出來,就可以做測試了。

結語

本篇文章算是自己曾經做為一個 Maker 的紀錄,算是關於工具的使用方法,並不著墨在程式碼的部份。希望對有需要的人有幫助~

 

附件

PIC16F690 範例程式

Leave a Reply