.
本篇為使用 USBasp/ USBISP來(lái)進(jìn)行 IC燒錄的方式,以ATMEGA2560來(lái)說(shuō),燒錄方式有很多,例如
1. 使用USB-Type B連接PC產(chǎn)生虛擬Comport,在利用官方提供的IDE/或是其他軟體的插件(sublime / nodepad++等)進(jìn)行燒錄
IDE設(shè)定選要為 AVRISP MKII
2. 使用Arduino UNO / MEGA/ NANO 等充當(dāng)燒錄器進(jìn)行燒錄
在設(shè)定上會(huì)有點(diǎn)不同,在設(shè)定選項(xiàng)要選擇 Arduino as ISP
此燒錄方式為使用 SPI進(jìn)行燒錄
3. 使用USBISP / USBasp進(jìn)行燒錄,此燒錄方式不需使用官方的IDE進(jìn)行燒錄
但需要藉由PROGISP等軟體進(jìn)行燒錄,此燒錄並非使用 .ino
要使用十六進(jìn)位檔(Hex)進(jìn)行燒寫(xiě)
本篇重點(diǎn)為第三種方式的詳細(xì)說(shuō)明,當(dāng)然此燒錄器也可以燒寫(xiě)各種不同的單晶片,例如 51系列 AVR系列的IC
詳細(xì)列表如下
支援晶片清單
51系列:
AT89S51、AT89S52、、AT89S53、AT89S8252
AVR系列:
ATTiny12(L)、ATTiny13(V)、ATTiny15(L)、ATTiny24(V)、ATTiny25(V)、ATTiny26(L)、ATTiny2313(V)、ATTiny44(V)、ATTiny45(V)、ATTiny84(V)、ATTiny85(V)、AT90S2313(L)、AT90S2323(L)、AT90S2343(L)、AT90S1200(L)、AT90S8515(L)、AT90S8535(L)、ATMEGA48(V)、ATMEGA8(L)、ATMEGA88(V)、ATMEGA8515(L)、ATMEGA8535(L)、ATMEGA16(L)、ATMEGA162(V)、ATMEGA163(L)、ATMEGA164(V)、ATMEGA165(V)、ATMEGA168(V)、ATMEGA169(V)、ATMEGA169P(V)、ATMEGA32(L)、ATMEGA324(V)、ATMEGA325(V)、ATMEGA3250(V)、ATMEGA329(V)、ATMEGA3290(V)、ATMEGA64(L)、ATMEGA640(V)、ATMEGA644(V)、ATMEGA645(V)、ATMEGA6450(V)、ATMEGA649(V)、ATMEGA6490(V)、ATMEGA128(L)、ATMEGA1280(V)、ATMEGA1281(V)、ATMEGA2560(V)、ATMEGA2561(V)、AT90CAN32、AT90CAN64、AT90CAN128、AT90PWM2(B)、AT90PWM3(B)等
USBasp / USBISP普遍樣式如下,也有賣(mài)無(wú)外殼版 或是外殼標(biāo)示有差異的樣式
不過(guò)其實(shí)都是一樣的東西
但如果是需要安裝driver的版本,抓到裝置後需進(jìn)行軟體更新,可建議使用Zadig進(jìn)行驅(qū)動(dòng)更新,插入U(xiǎn)SBASP至PC後,打開(kāi)Zadig,然後找到USBASP,driver部分選擇libusbk -> replace driver,更新完driver後再使用Arduino IDE,燒錄選項(xiàng)選擇usbasp然後按bootloader即可燒錄
不過(guò)大部分情況買(mǎi)到的都是不需安裝driver的版本,此版本是中國(guó)特製的,因此需搭配相對(duì)應(yīng)的軟體才可使用
Step1: 下載程式 PROGISP1.7.2
如果更高版本可能會(huì)抓不到 IC Type,所以使用 1.7.2版
Step2: 將USBASP接上PC
此時(shí)裝置管理員多出一個(gè)USB輸入裝置 USB-HID
Step3: 打開(kāi)PROGISP1.7.2 進(jìn)行設(shè)定
本次IC使用ATmega2560,因此chip select為 ATmega2560
主頁(yè)面勾選以下幾項(xiàng)
接著依照IC型號(hào)設(shè)定 Fuse
Fuse參數(shù) 可以到 arduino-nightly\hardware\arduino\avr\board.txt找到
例如下圖
本篇為mege2560 因此 low fuse =FF ; high fuse = D8 ; extend fuse = FD
進(jìn)著在選擇要燒錄的Hex檔,可以在線上找HEX生成工具
也可以使用Arduino IDE進(jìn)行Hex檔生成
以下為生成範(fàn)例
使用範(fàn)例Blink
開(kāi)啟後按編譯
接著到C槽Temp資料夾可以找到該HEX檔,此資料夾為系統(tǒng)隱藏
需要顯示隱藏資料夾才可以看到
路徑為 C:\Users\你的使用者名稱\AppData\Local\Temp\arduino_build_流水號(hào)
要設(shè)定Fuse兩次的原因?yàn)樵诘谝淮胃翭use時(shí)會(huì)把 Reset腳位變成輸出,因此在燒錄一次後就會(huì)無(wú)法在燒錄第二次。用上述操作會(huì)先把Reset設(shè)定為input,然後就可以重新進(jìn)行IC 燒寫(xiě)
注意: Fuse不要亂改,要不然 IC可能會(huì)被鎖死 導(dǎo)致之後都無(wú)法更新程式
如果誤鎖需要外接有源石英晶體或是使用另一塊Arduino的晶振來(lái)進(jìn)行解除