一款簡易有支援ICSP燒錄的PIC燒錄器DIY
特別聲明:
本人不保證您一定會得到跟我一樣的結果,因為都是我製作時的經驗,每個人的製作過程,可能因設備,電源,操作方式,環境等種種因素,極有可能產生不同的結果,如果因此損壞您的相關設施(如電腦等設備),本人一概不負責,敬請見諒!
您如果有製作上的困難,需本人代為製作成品,或是要跟我直接購買零件包自己DIY,可以用e-mail跟我聯絡相關購買細節。
燒錄器成品售價640元含郵資,如果跟USB轉RS232轉接線一起購買,共800元含郵資。
USB轉RS232轉接線單獨購買200元含郵資。
零件組(不含電路板,電路板請自行用萬用版焊接製作)340元含郵資。
凡購買PIC燒錄器者均隨附資料光碟含程式及說明書,以及一些PIC相關的程式,還有一些我個人多年在網路上收集的資料,供使用者參考使用。
小弟也是要過生活的,請不要要求小弟提供layout電路,反正有電路圖了,您可以自己layout製作,或是直接用萬用板製作。
我的e-mail:rushoun@gmail.com
相信喜歡玩單晶片的人,尤其是非電子相關科系,或是非相關從業人員的電機電子或是自行研究自修的人,最傷腦筋的一件事,就是當您想玩一些單晶片時,這些單晶片的燒錄器是最令人頭痛的問題。如果要去買一個萬用燒錄器,動輒3~5千元,有的功能好一點的,甚至要價萬元以上,光是這一點,就讓很多人打了退堂鼓。因此,我藉著一些個人的DIY慘痛經驗,將我所得到的一些資料,分享給這些喜歡DIY,又沒有門路的玩家一點個人心得。希望藉此拋磚引玉,讓更多的在這方面有挫折的有心人士,能一起分享個人的經驗,讓大家都能輕鬆快樂的DIY。
之前我曾介紹過一款簡易免插電的PIC燒錄器,但是這款燒錄器有點秀斗秀斗的,有時會燒錄不成功,有時連線有問題,總是有點遺憾。經過我耐心的尋找,找到了一款穩定又不錯的PIC燒錄器。最重要的是,它支援PIC的線上即時燒錄功能。什麼是ICSP線上即時燒錄?請參考本網頁中的ICSP線上即時燒錄說明,文中有一個概念性的介紹。
一般我們在網路上找到的DIY燒錄器,大都沒有支援ICSP燒錄的功能,這一款除了有支援ICSP燒錄外,更利用光偶合器來保護RS232介面,避免因為燒錄時的意外,將被燒錄電路的電力引入電腦的RS232介面,造成電腦硬體的損壞。最重要的是,這個燒錄器支援許多18F系列的PIC喔!
正
![]() |
12F629, 12F675 |
![]() |
16F630, 16F676 |
![]() |
16F83, 16C84, 16F84(A) |
![]() |
16F627(A), 16F628(A), 16F648A |
![]() |
16F818, 16F819 |
![]() |
16F72, 16F73, 16F74, 16F76, 16F77 |
![]() |
16F737, 16F747, 16F767, 16F777 |
![]() |
16F870, 16F871, 16F872, 16F873(A), 16F874(A), 16F876(A), 16F877(A) |
![]() |
16F87, 16F88 |
![]() |
18F242, 18F2439, 18F248, 18F252, 18F2539, 18F258, 18F442, 18F448, 18F452, 18F458 |
![]() |
18F1220, 18F1320, 18F2220, 18F2320, 18F4220, 18F4320, 18F4439, 18F4539 |
![]() |
18F6520, 18F6525, 18F6585, 18F6620, 18F6720 |
![]() |
18F8520, 18F8525, 18F8585, 18F8620, 18F8621, 18F8680, 18F8720 |
注意事項:
灰色字體表示還沒有經過實寄燒錄測試,但是燒錄相關參數已經有被定義,燒錄應該是可以沒問題的。
如果是一些/MCLR燒錄腳可以被定義使用在input模式的PIC,則燒錄時必須將燒錄器外加一個電路,才能順利的進行燒錄。比如12F675等等的這類PIC型號。
PCB | 一塊印刷線路版(請自行layout繪制)或是萬用版皆可。 |
IC1 | PIC16F628A (內含燒錄控制碼) |
IC2 | PC827 (or LTV827) (也可以用PC817取代) |
IC3 | PC827 (or LTV827) (也可以用PC817取代) |
LED1,LED2 | 紅色及綠色LED, Ø3mm, 2mA 低電流型 |
T1 | 小訊號NPN 電晶體 如9013或C1815皆可 |
燒錄外接版 | TIP120 NPN 達靈頓電晶體 (請參考外接版) |
D1,D2,D3,D4 | 1N4148二極體 |
D5 | SB140 蕭特基二極體 |
X1 | Crystal 20MHz |
R1,R2,R9...R12 | 1K電阻 |
R3...R8 | 47 Ohm電阻 |
R13 | 2.2K電阻 |
C1 | 1000µF/10V |
C2 | 0.1µF, (會將他安置在IC座內,以節省電路板面積) |
C3,C4 | 1µF (鉭質電容或是電解電容皆可) |
C5 | 22µF |
C6,C7 | 22pF |
S1 | Reset 按鈕 (可有可無) |
Conn1 | 8pin 2.54molex 公腳連接器 |
Conn2 | 9pin D型電腦用連接器母座 |
IC座 | 8pin*2,18pin*1(也是可有可無) |
依電路圖接線即可,大概不會有什麼困難吧?
注意事項:
線路圖中的PIC16F628A,內部必須先將燒錄用的韌體用燒錄器先燒錄進去,所以網友製作時,必須先取得PIC16F628A這款型號的PIC,然後將燒錄韌體先用燒錄器燒入16F628A中。如果網友有燒路上的困難,本人庫存有販售,一顆16F628A含郵130元。韌體部分是免費的,只要購買16F628A,就會燒錄給您。
PC827可用2個PC817取代。
reset按鈕可以不用接。
原電路使用的16F648A,因為發覺它的韌體主要增加支援18F系列為主,對於沒有使用18F系列PIC的USER來說,不需要多花費這個費用,因此都改為16F628A。如果網友有需求改為16F648A,請事先告知,並加收20元費用。
請下載燒錄程式,請到這裡下載。
燒錄程式本身會使用到msjavx86,所以在安裝燒路程式前,請先安裝msjavx86,請點選這裡下載。
燒錄程式使用,請自行摸索即可,因為滿簡單的,所以在這裡就不再詳加介紹了,畢竟自我摸索,才是學習知識的動力及來源吧!
先安裝msjavx86,安裝完畢時電腦可能會要求重新開機,然後再安裝燒錄程式後,便可以使用燒錄程式了。這套燒錄程式最大的好處就是可以在Win98,Winxp及Win2000中,皆可以正常執行使用,非常方便。
先將您的程式寫好。怎麼寫?哇咧!我還沒說喔?可是我主要是介紹燒錄線耶!怎麼辦?為了大家,只好花個篇幅寫一下好了,請看這裡:PIC程式編寫程序。
連接PIC燒錄器跟被燒錄的目標版間的2.54molex連接線。
將製作好的PIC燒錄器9pin D-TYPE 一頭,接到RS232連接線上並將RS232線另一頭,接到電腦端的RS232 port上。
執行燒錄程式,並將編譯組譯完成的二進位燒錄碼已燒錄程式開啟,然後選擇您要燒錄的PIC晶片型號,或是採用AUTO選擇的方式,讓燒錄程式自行偵測被燒錄的PIC型號。
點選燒錄功能(別說您不會喔!自己試一下,這是DIY的樂趣。),將您的PIC燒錄碼上傳到PIC單晶片中,這時會看到畫面上的顯示,一直到完成,。然後先將PIC燒錄器從RS232線路上拔除(這是為了安全)。這時可以直接在您的電路板上看到您設計的硬體及程式,是否正常的運作?
有錯誤,請重複2~6的步驟,直到電路依程式設計正常動作為止。
注意事項:當您將程式燒錄碼上傳到PIC後,最好先將PIC燒錄器從RS232上拔除,然後再取出比燒錄完成的PIC,為的是安全。
請先到Microchip公司下載MPLAB IDE程式,並安裝後即可。
編寫程式並完成組譯工作,請下載台灣Microchip公司教育訓練課程教材中的MPLAB IDE 6.10中文使用手冊,有詳細說明本程式的使用方法,記得燒錄檔要存成.hex格式喔。
然後就可以用燒路程式將程式透過RS232傳輸線,燒錄到您的目標電路中了。
除錯,這是最討厭的一件事,抓bug。
注意事項:MPLAB IDE程式可以使用組合語言及C語言進行PIC程式的編寫工作,因為C語言的程式,並非免費的,因此下載的MPLAB IDE程式中的C程式編譯器,是只能試用30天的,不過聽說有破解版,請自行尋找吧!台灣Microchip公司網站上好像就有(還真奇怪?)。
這個燒錄器在使用上大致都沒有什麼問題,唯一的一個限制及解決辦法,說明如下:
某些型號的PIC,如12Fxxx,16F630/16F676之類的PIC,這些型號的PIC他們的MCLR接腳是可以定義成輸入腳來使用。所以,當我們沒有將這類PIC的MCLR接腳作為輸入使用時,燒錄結果有可能在最後時,出現燒錄錯誤的訊息。但是燒錄是成功的,使用者可以放心。但是,如果MCLR接腳被使用者的程式定義成輸入腳來使用時,在本燒錄器燒錄時,會有錯誤並且無法正確的進行燒錄,這時有解決的方式如下:
我們將燒錄器的燒錄線的第7腳先接上一個1K的電阻,然後再接上一個NPN電晶體的基極B,再將燒錄線的第1腳及第2腳,分別接到這個NPN電晶體的射極E及集極C,詳細接線圖請參考下圖圖示的接線方式。
上圖中的1,2,7腳,指的就是燒錄器的燒錄輸出接腳的1,2,7腳。而這個電晶體請使用中功率耐壓值約60V,耐5A電流以上的電晶體,如型號TIP120達靈頓電晶體。
請注意一件事,這個電晶體是使用在燒錄器之後的,也就是說它是做在燒錄器與被燒錄的PIC目標版之間的電路,由於這類MCLR接腳可以被作為輸入的PIC目前並不是很多,因此並沒有將這個電晶體放入整個燒錄器的電路之中。請使用者依自己的需求,自行加工製作這個外加的電晶體電路。可以利用一個轉接電路,燒錄線先經過這個電晶體轉接電路後,再接到被燒錄的PIC目標板上。
特別說明:
PIC燒錄器會在燒錄PIC時,燒錄線第7腳會產生一個短暫的脈波,讓電晶體導通,也就是讓電源1,2腳發生短路現象,這個短路的時間是極為短暫的,不會造成電源損壞,也不會影響燒錄。由於會產生瞬間的短路現象,因此燒錄器本身會有極短的時間內,是處在沒有電壓的情形下。因此,為了維持MCLR接腳不至於沒有燒錄電壓,造成燒錄失敗。我們必須將燒錄器當中的C1電容使用電容量較高的1000uf左右的電容,就可以解決這個電源瞬斷問題。
一般來說,這個外加的電路用在7805之類的+5V電源電路,是沒有問題的。但是如果電源端是交換式電源的電路,或是供應電流太大的電源電路來說,可能是不適合的,因為這個電晶體的耐電流只有5A,請使用者自行測試應用。
我們的燒錄器燒錄輸出的燒錄線只有使用5條線,也就是第1腳到第5腳,因此第7腳的燒錄線,請買家自行加上去。
有時無法燒錄PIC12F675:
這是因為有的PIC的/MCLR接腳,可以定義成input使用,對於這類的PIC,必須外加一個電路板,就可以解決這個問題,請參考燒錄器的特殊限制一文中的說明。只要/MCLR接腳沒有被定義為input使用,燒錄是不會有問題的,有時就算燒錄完成會有錯誤告警,但是燒錄結果仍是正常的。
這陣子利用閒暇之餘,買了一條USB轉RS232的轉接線,測試以USB介面進行燒錄的可能性。因為有很多的筆電,都已經沒有提供RS232介面,因此想試試USB是否可以使用。
經我測試的結果,不是每種USB轉RS232的轉接線都可以使用,因為沒有太多錢做這種測試。第一條線失敗,然後買了第二條測試,可以正常的使用燒錄都沒問題。這對使用USB介面的網友來說,真是一大福音。網友如果有興趣,可以自己買這種轉接線試試,如果可以使用,不妨回報一下,當成大家的參考。畢竟USB已經成為主流,能夠使用真是太好太方便了。
您如果有DIY上的困難,本人有完成的DIY成品,或是提供零件包,供您自行DIY使用,免除您自己尋找零件的困難。請詳洽下面的E-MAIL聯絡,謝謝您!
聯絡EMAIL:rushoun@gmail.com