目前共有10篇帖子。 內容轉換:不轉換▼
 
點擊 回復
642 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++;
 }
}
 
这个更复杂一些
六年級 十級
10樓 發表于:2013-4-16 19:27

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:642 回複數:9
評論數: ?
作者: 巨大八爪鱼
最後回復:浅风仁樱
最後回復時間:2013-4-16 19:27
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。