作者共发了9篇帖子。 内容转换:不转换▼
 
点击 回复
820 9
【电路板】AVR编程器的制作
一派护法 十九级
1楼 发表于:2012-8-15 18:49

器材共5样:

空白电路板,40P紧缩座,10PXX座(我不知道名字,看图);ATMega16集成块,ISP下载器

一派护法 十九级
2楼 发表于:2012-8-15 18:53

电路图:

一派护法 十九级
3楼 发表于:2012-8-15 18:56

ISP座的缺口图中已经标出。先把ISP座的1、5、7、9、2、8分别接上40P紧缩座的6、9、8、7、10、11接口上

【不需要把2接电源正、8接电源负!!!!!!】

 

然后再把单片机的11与31口连接起来就OK了。

一派护法 十九级
4楼 发表于:2012-8-15 19:01

焊接完毕后,用万用表检测单片机的10、11口是否接通,如果接通则说明有短路。

确认没有短路后,再把下载器插在电脑上和电路板上,打开AVR_frighter软件,写入  E4  D9  FF熔丝位(以便于使用内部晶振)。

 

然后就可以烧写hex文件了。

烧写成功!!!

一派护法 十九级
5楼 发表于:2012-8-15 19:45

接下来测试一下这个编程器工作是否正常。

焊接一个200Ω电阻和一个发光二级管

左边接单片机31口,右边接1口

然后用万用表检验10、11之间是否短路。确认没有短路后插在电脑上。

一派护法 十九级
6楼 发表于:2012-8-15 19:46

编写一个程序并编译成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);
 }
}

一派护法 十九级
7楼 发表于:2012-8-15 19:48

烧写这个程序后如果发光二级管闪烁,证明编程器工作正常。

本编程器没有加复位电路,如果要加的看电路图:

一派护法 十九级
8楼 发表于:2012-8-15 19:51

回复:7楼

按键与电阻之间接到单片机的9口上

一派护法 十九级
9楼 发表于:2012-8-15 20:26
#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++;
 }
}
 
这个更复杂一些

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:820 回复数:9
评论数: ?
作者:巨大八爪鱼
最后回复:浅风仁樱
最后回复时间:2013-4-16 19:27
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。