AVR atmega8 線上燒錄機 DIY
前一陣子在看有關Linux Driver和OS的一些書,看著看著....就不知怎麼的開始玩起單晶片,老實說為什麼這麼跳tone我也不知道。反正忽然之間回神過來的時候...就這樣子了。
我把COM port 上的9個pin都焊到那個排線上,然後排線的另一端壓了牛角接頭(pin)。而電路板上面則焊上相對應的9支pin。其他的元件照電路圖焊一焊。焊好之後就可以接上電腦的com port和USB(5V電源)試看看了。
設定請參考Atmega8的官方手冊。
=========================================
如果是要燒USBasp的話,把下面這幾個選項打勾(設為0的意思):
BOOTSZ0
BOOTSZ1
CKOPT
SPIEN
SUT1
BODEN
其他不要打勾 (設為1的意思)
==========================================
設好之後按write之後,沒什麼錯誤訊息的話就應該是OK了。
然後再按上面那個有個箭頭指向錄色方塊,寫著一個"P"字的按鈕。
等到顯示OK之後,應該就沒問題了。
不過還是碎碎唸一下,因為玩得不是很順@@。主要的原因為是國內在玩單晶片的主流還是在玩8051,所以有關AVR晶片的參考資料就少了。搞得我出問題的時候常常卡住。
其實一開始我也是想玩8051 + c語言的組合(對組合語言沒有愛...),但是在找不用錢的compiler、燒錄器、燒錄程式....找著找著,我就開始對AVR晶片產生興趣了。
想在AVR晶片上用C言語來玩的話,有avr-gcc這個opensource 的compiler,而燒錄程式的話則可以用avrdude,燒錄器的話網路上就有很多資料可以自行把電路板給DIY出來。
當然,這和我一開始就玩了一下下Arduino也有關,Arduino所用的核心晶片是atmega328這個晶片。而當然地,我就從比較便宜的atmega8開始玩了。
而這篇文章就是在說怎麼自已做一個atmega8的ISP燒錄器。不過是用電腦上的serial port (古老的com1 com2...)當作介面。
主要參考資料是這個網頁:(其實直接看這個網頁搞不好會比在這邊看我碎碎唸快一些)
http://www.circuitvalley.com/2011/04/avr-serial-port-programmer.html
電路圖可以參考這個網頁。
如果和我一樣是新手的話,不建議和這個網頁一樣把一部份的電路燒在COM port的連接器上。因為焊接技術不好很容易失敗。
如果和我一樣是新手的話,不建議和這個網頁一樣把一部份的電路燒在COM port的連接器上。因為焊接技術不好很容易失敗。
而電路圖裡面的5V電源部份,我是用USB type B的母頭拉出來提供的。因為這樣才不用去另外找一個5V的直接電源供應器。
所以我用到的材料有:
電阻 4.7K | 2 |
電阻 10K | 2 |
電阻 15K | 2 |
二極體 1N4148 | 1 |
齊納二極體 5.1V | 2 |
晶體管 BC547 | 1 |
電路板 | 1 |
USB type B 母 | 1 |
排線 (10條) | 1 |
排線牛角接頭(10孔 壓排線用) | 1 |
COM port 接頭(母) | 1 |
晶體振盪器 4MHz | 1 |
陶瓷電容 22pF | 2 |
ATMega8 | 1 |
ATMega8 socket (28pin) | 1 |
單芯電線、焊槍、焊錫、助焊劑... |
這些東西都可以在光華商場附近那個地下室的電子商場買到。我都是買個兩份以防萬一。裡面大概就ATMega8最貴吧,我買的時候大約一顆要價150 NTD左右。(後來才知道在露天拍賣上一顆不到50元.....Orz...)
我把COM port 上的9個pin都焊到那個排線上,然後排線的另一端壓了牛角接頭(pin)。而電路板上面則焊上相對應的9支pin。其他的元件照電路圖焊一焊。焊好之後就可以接上電腦的com port和USB(5V電源)試看看了。
而燒錄軟體建議用PonyProg2000 (for win),可以在下面這個網頁找到。
http://www.lancos.com/ppwin95.html
執行這個軟體之後馬上會聽到一聲馬叫聲,常常嚇我一跳。
而一開始的時候要先做 I/O Setup。
設定為 "Serial" ,"SI Prog I/O" 指定COM port (COM1, COM2 ...)。
然後指定要寫入的晶片為 AVR micro , ATmega8
而一開始的時候要先做 I/O Setup。
設定為 "Serial" ,"SI Prog I/O" 指定COM port (COM1, COM2 ...)。
然後指定要寫入的晶片為 AVR micro , ATmega8
PonyProf2000的圖形按鈕中,找到一個長得鎖頭的按下去就可以設定Atmega8的Fuse 設定。
設定請參考Atmega8的官方手冊。
=========================================
如果是要燒USBasp的話,把下面這幾個選項打勾(設為0的意思):
BOOTSZ0
BOOTSZ1
CKOPT
SPIEN
SUT1
BODEN
其他不要打勾 (設為1的意思)
==========================================
設好之後按write之後,沒什麼錯誤訊息的話就應該是OK了。
要燒錄程式碼進去Flash memory (Program memory)的話,要先讀取compile完成的檔案(.hex檔)。
然後再按上面那個有個箭頭指向錄色方塊,寫著一個"P"字的按鈕。
等到顯示OK之後,應該就沒問題了。
您好,
回覆刪除想請問一下,
我都有照著線路接在麵包板上,(也是使用ATMEGA8)
但在PonyProf2000的I/O Setup設定時按Probe會秀出Test Failed
感覺是認不到IC...
我是用主機板上的COM PORT用轉接線轉10PIN,
想請教一下為什麼?!
謝謝~
嗯...其實...這世界上最難的事情之一...我想...隔空 Debug 應該要算一件。
回覆刪除是我來做的話,也只能用三用電錶一個點一個點看看有沒有接錯。
不過如果只是需要一個ISP燒錄器的話,其實去網路上買可能會比較快一點,而且價格不貴(非原廠的100多就有)還是USB介面的。
這篇文章在做的事情只能說是DIY者的浪漫--什麼都要自己來,成功過後,我已經了無遺憾了...。
到了後來,為了方便,我自己也去買了個AVR ISP來用,而且還是原廠的...貴鬆鬆...QQ。