自製PIC12F629單晶片處理器的燒錄器

自製PIC12F629單晶片處理器的燒錄器
文∕趙英傑

最近想要製作一些小玩意,需要用到PICmicro(簡稱PIC)的12F629單晶片處理器,所以著手製作了一個簡易型的燒錄器。

PIC單晶片處理器最早是為了應用在套裝軟體的硬體鎖(dongle)而誕生的;數年前,因為開放原始碼的WiiFree改機專案(此專案已經停止了)採用了PIC的12F629處理器,讓它在DIY改造Wii遊戲機的玩家圈中聲名大噪。

由於PIC系列處理器使用便利的實體電路串列燒錄(In Circuit Serial Programming,簡稱ICSP) 協定,支援在電路板上直接燒錄軔體,而且燒錄器本身的電路很簡單,採用的介面也是一般的並列埠(印表機埠)或者串列埠(RS-232埠),容易自製和安裝,無需購買價格不菲的專屬燒錄器,因此頗受玩家喜愛。當前最受矚目的開放硬體平台Arduino採用的AVR系列處理器,也是採用ICSP協定。

簡易型的PIC燒錄器的電路圖

若要讓PIC系列處理器進入燒錄模式,必須在晶片的MCLR接腳上施加12v~15v的電壓,並且在Vdd接腳施加5v電壓,以及20mA~50mA的電流

在網路上可以找到多種簡易型PIC燒錄器,例如,Michael Covington先生設計了一個號稱「不需要零件(no parts)」的PIC燒錄器,只需要手邊多餘的幾個電阻、二極體…就能拼湊出來。

不過,那個燒錄器採用印表機的並列埠介面,還需要外加12v和5v的電源,有點不方便。這個日本人的網站也有列舉多種自製的PIC和EEPROM燒錄器。

底下是在picWinx(一種免費PIC處理器的燒錄軟體)網站上看到的COM84電路,使用RS-232介面本身的12v電壓,並透過7805穩壓輸出5v,不需要額外的電源(雖然圖上列出的晶片型號是16F84,但是改一下晶片的接腳,就能用在12F629):

PIC16F84處理器的燒錄器電路圖

底下則是在國外的Acidmods改機網站看到的,同樣使用串列介面,以及稽納二極體(Zener)進行穩壓,不用外加電源的簡易型燒錄器電路

PIC處理器的燒錄器電路圖

同樣的,只要稍微改一下晶片的接腳,或者用IC座製作一個轉接器,它也能燒錄16F84,就像這個老外的網站所列舉的電路圖一樣:

此電路與另一個免費的WinPic燒錄器軟體內建的「讀我(readme)」說明檔列舉的電路相同。我採用上圖的電路來製作,底下是全部所需零件的合照:

自製PIC12F629燒錄器的所有零件照片

底下則是焊接完畢的正面:

自製PIC燒錄器的電路板正面

和背面:

自製PIC燒錄器的電路板背面

筆記型電腦多半不具備RS-232串列介面,雖然有USB轉RS-232串列埠裝置可用,但是轉換器的電壓不足12v,所以這個自製燒錄器必須搭配具有RS-232介面的桌上型電腦使用。下圖是採用winPic軟體測試燒錄.hex檔,並從PIC讀出已燒錄的程式的結果:

winPic軟體的執行畫面

延伸閱讀

Posts created 469

18 thoughts on “自製PIC12F629單晶片處理器的燒錄器

  1. 老師我指的是例如像CS射擊遊戲,在同一間網咖作多台電腦之間的區域網路連線,應該是老師所說的「區域網路內的工作群組」。

    謝謝老師的指導,讓我又多學習到flash有「本機內的程序之間的通信」這種功能:grin:

  2. 老師請問若同在像一間網咖,舉例用其中一台電腦當伺服器主機,然後在這同一間網咖的其他電腦中的flash,連線到這台伺服器主機會有延遲的問題嗎?

    我問你區域連線的問題,就是想用flash做這樣的運用,在我所陳述的區域網路連線,是不是一樣要靠URLrequest、URLLoader、URLVariables這3個類別來做flash資料間的發送和接收阿?
    這3個類別運用在我所說的區域網路連線,一樣要透過http協定的連線方式,透過http協定好像都會牽涉到網路連線速度。

    1. 拍謝,我沒有販售電子材料~不過這些零件都很容易取得。

      thanks,
      jeffrey

  3. 你好,我是用PIC12F629不用外接電源那組燒錄器(第二張圖),但是接電腦RS232後都沒反應,在WIN PIC Programer裡無法燒錄,請問是需要先裝RS232驅動之類的東西才行嗎?我的OS是win7 x64

    謝謝~!

    1. h 阿翔:

      並不需要安裝驅動程式,只是必須要使用桌上型電腦才能燒錄。

      thanks,
      jeffrey

  4. 不好意思,那再請問一下,我是用桌電,我想要檢測看看適不適因為桌電RS232電壓不足,那要量測RS232的哪個腳位,看電壓有無12V,若不足12V就無法驅動是嗎?

    1. 除非是故障,否則桌機的RS-232訊號至少是正負12V,它的第5腳是接地、第2是接收、第3是傳送。在google上搜尋”RS-232 pin”關鍵字即可找到接腳定義。建議再檢查一下你的電路。

      thanks,
      jeffrey

  5. 很抱歉的
    很想請你幫忙,只因為我很想燒錄3個12F629的晶片!
    但我身邊沒有任何的儀器,只有3個晶片而已!
    又不懂電腦語法!所以可否請你幫個忙嗎?
    我實在很想製作一個8LED的電板!
    謝謝你~

    1. hi samoaumaga:

      不好意思,我的桌上型電腦也故障了,現在都是用筆電,要過一陣子才有會重新組裝PC,所以目前也無法燒錄12F629。

      thanks,
      jeffrey

  6. 拍謝,我很久沒有接觸PIC,未來也沒有打算要用它,煩請參閱其他網站或相關書籍。

    thanks,
    jeffrey

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top