|
器材共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++; } } 这个更复杂一些
|