|
器材共5樣:
空白電路板,40P緊縮座,10PXX座(我不知道名字,看圖);ATMega16集成塊,ISP下載器

|
|
電路圖:

|
|
ISP座的缺口圖中已經標出。先把ISP座的1、5、7、9、2、8分別接上40P緊縮座的6、9、8、7、10、11接口上
【不需要把2接電源正、8接電源負!!!!!!】
然後再把單片機的11與31口連接起來就OK了。
|
|
焊接完畢後,用萬用表檢測單片機的10、11口是否接通,如果接通則說明有短路。
確認沒有短路後,再把下載器插在電腦上和電路板上,打開AVR_frighter軟件,寫入 E4 D9 FF熔絲位(以便於使用內部晶振)。
然後就可以燒寫hex文件了。
燒寫成功!!!
|
|
接下來測試一下這個編程器工作是否正常。
焊接一個200Ω電阻和一個發光二級管

左邊接單片機31口,右邊接1口
然後用萬用表檢驗10、11之間是否短路。確認沒有短路後插在電腦上。
|
|
編寫一個程序並編譯成hex文件:
#include <iom16v.h> void delay_ms(unsigned int k) { unsigned int i,j; for (i=0;i<k;i++) for (j=0;j<1140;j++); } void main() { DDRB=0xff; //PB口全部設置為輸出 while (1) { PORTB=0xff; //點亮二極管 delay_ms(500); //延遲500毫秒 PORTB=0x00; //熄滅二極管 delay_ms(500); } }
|
|
燒寫這個程序後如果發光二級管閃爍,證明編程器工作正常。
本編程器沒有加複位電路,如果要加的看電路圖:
|
|
|
|
#include <iom16v.h> #include <macros.h> void delay_ms(unsigned int k) { unsigned int i,j; for (i=0;i<k;i++) for (j=0;j<1140;j++); } void main() { unsigned int i; DDRB=0xff; //PB口全部設置為輸出 while (1) { if (i<10) { PORTB|=BIT(0); //點亮二極管 delay_ms(250); //延遲500毫秒 PORTB&=~BIT(0); //熄滅二極管 delay_ms(250); } else if (i<12) { PORTB|=BIT(0); //點亮二極管 delay_ms(5000); //延遲5秒 PORTB&=~BIT(0); //熄滅二極管 delay_ms(5000); } else { i=0; continue; } i++; } } 這個更複雜一些
|
|
10樓 浅风仁樱
2013-4-16 19:27
|