用Arduino最小系統(tǒng)板作AVR單片機(jī)的編程器
用Arduino編程具有簡單易學(xué)的特點(diǎn),但要配合Arduino控制板使用,使得成本比較高,體積也大,而且除單片機(jī)電路以外的大部分電路只在編程時有用,在電子制作上使用后就是多余的了,造成了浪費(fèi)。能不能不用Arduino控制板,直接想辦法用Arduino給單片機(jī)編程呢?答案是肯定的,只要做一個Arduino最小系統(tǒng)板,配合ISP下載線USBtinyISP或USBasp 就可以給AVR單片機(jī)下載程序了,Arduino最小系統(tǒng)板有一個鎖緊座,方便單片機(jī)插上和取下,下載好程序的單片機(jī)就可以取下裝到目標(biāo)板上去使用了。
Arduino最小系統(tǒng)板電路見下圖,適用于對ATmega8、ATmega168、ATmega328等型號的單片機(jī)編程。
電路圖的LED相當(dāng)于Arduino控制板上數(shù)字13腳接的LED,這里用來作編程指示,下載程序時它會快速閃爍,同時也作一個輸出用,比如下載例中的Blink就可以看到效果了。
做好的實(shí)物:
和USBtinyISP下載線的連線圖:
和USBasp下載線的連線圖:
下載程序過程:
1、選擇控制板類型
根據(jù)所使用的單片機(jī)型號(ATmega8、ATmega168、ATmega328等)選擇控制板的類型,比如使用ATmega8就作如下選擇。
2、選擇下載線類型
如果用USBtinyISP下載線,就作如下選擇:
3、下載引導(dǎo)程序 bootloader
本來這一步在這里是不需要做的,因為接下來下載程序的方法和Arduino控制板常用方法不同,即不是用串口下載程序,不需要引導(dǎo)程序。但是在下載引導(dǎo)程序的過程中也包括了AVR單片機(jī)熔絲位的自動配置,不然還得用其它軟件去配置,因為出廠的默認(rèn)配置不是我們所需要的,所以這一步為了熔絲位還不能省。當(dāng)然也可以用這種方法給Arduino控制板上bootloader已損壞的單片機(jī)重寫bootloader,或者在單片機(jī)已損壞時重寫一個單片機(jī)換上去。
4、下載程序
打開或編寫好程序后就可以點(diǎn)擊“使用編程器下載”下載程序了,以Blink 為例,程序下載好以后就可以看到LED以亮1秒、熄1秒閃爍了。