极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 32841|回复: 7

新手学习自制 ATMEGA8-16PU 最小arduino系统

[复制链接]
发表于 2015-10-22 03:38:59 | 显示全部楼层 |阅读模式
本帖最后由 jackytan1986 于 2015-10-22 04:06 编辑

新手学习自制ATMEGA8-16PU最小arduino系统

首先感谢极客工坊弘大的基础arduino教程!!我从其中的帖子学会很多技术和例子。今天独立亲手尝试制作一会AVR最小单片机,整套制作系统大约占据了4天的时间,其中很多时候是出现很多错误,寻找错误的解决方法上面。感觉亲自自作arduino单片机的乐趣比起购买成品的模块要来得有成就感,非常适合学生们空余时间学习与制作。所以在这里将结合弘大的技术贴和阿古同学的博客技术文章,重新梳理整齐的制作过程和其中的要点,其中可能有一些步骤存在不错或者错误,希望大家可以指出缺点和不足,谢谢大家!

下面是开始制作的详细步骤:

第一步,准备所需的材料。
材料分别为:50V200uF电解电容、7805CV稳压管、28IC座、实验板、DC电源座、9V电池盒、CH340USBTTL模块、ISP读写模块、面包版、轻触开关、10K电阻、排母、排插
杜邦线 、22PF瓷片电容2个、16Mhz晶振一个。







第二步,焊接好电路板。







第三步,开始给ATMEGA8刷入bootloader
刷入步骤基本上跟弘大和阿古同学的教程基本一样,这里大家注意一下,要对准ATMEGA8的电路图,以免发生接错插口烧坏芯片。详细步骤大家可以翻阅一下之前的教程
地址是:http://www.geek-workshop.com/thread-115-1-1.html http://aguegu.net/?p=291



请注意每一种的ISP读写器输出口位置不一样,必须按照正确的接口接对!!



ISP连接电路图:



把插线接好之后,打开PROGISP刷写软件(注意:网上购买的这种单一的atmega8的免驱动ISP模块,只支持PROGISP,暂时发现其他ISP写入软件不支持!)



RD,看看有没有成功读取Id信息,一般能够读出ID信息成功,就证明了接线正确,如果弹出错误窗口,请重新检查接线,直到接线完全正确为止!



这些是配置熔丝的窗口,再主窗口里面按 “....”进入,(这里提出的熔丝配置图是配置成使用arduinoIDE写入程序代码的,如果不想使用arduino的工具写入,可以用
阿古同学的配置AVR熔丝的配置图,用AVR-GCC写入,AVR的配置图如下图!)



好的,如果上面的步骤没有发生错误的话,应该是能配置好atmega8的熔丝了,接着我们回到主界面,写入arduinoATmegaBOOT.hex文件,以便能启动arduinoIDE写入!



按右边的“调入flash”之后选择arduino的路径里面\hardware\arduino\bootloaders\atmega8里面的AtmegaBOOT.hex写入!按确定之后选择“自动”按钮,接着进度条完成就OK了!

第四步,接好TTL模块的接线位置。



请对照好TTL的接线电路图,避免不要插错!



第五步,当我们刷写好bootloader和接好TTL模块之后,就可以用串口TTL写入arduino程序代码了!



Board的选项里面,选择NG/ATmega8的板子,Port的接口选择,你电脑上模拟串口的号码,例如我的是COM4。详细可以打开“设备管理器”查看COM端口。





接着写入简单LED点亮代码,详细内容可以查看弘大的帖子,地址是:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=68
  1. int ledPin=5; //设定控制LED的数字IO脚
  2. void setup()
  3. {
  4.     pinMode(ledPin,OUTPUT);//设定数字IO口的模式,OUTPUT 为输出
  5. }
  6. void loop()
  7. {  
  8.     digitalWrite(ledPin,HIGH); //设定PIN5脚为HIGH = 5V左右
  9.     delay(2000); //设定延时时间,2000 = 2秒
  10.     digitalWrite(ledPin,LOW); //设定PIN5脚为LOW = 0V
  11.     delay(2000); //设定延时时间,2000 = 2秒
  12. }
复制代码



这里当按下“upload”时候,注意按开关的时间,按开关的时间最好是显示“uploading to i/oboard”之后,下面显示 代码的字节数的时候,按下就可以了



当按之后显示写入代码完成,这样就完成了全部工作了,之后就可以用外部电源启动arduino,来实现你的项目!





附:
ATMEGA8官方原理图 http://yunpan.cn/cFRfKi7nS8TFb (提取码:901f)

progisp2.0 下载 http://yunpan.cn/cFRfwL5NMPpmU (提取码:19ff)

教程全部PDF文件 http://yunpan.cn/cFRfczI7pCMGs (提取码:2e78)


ATmega328芯片引脚与端口的对照图


回复

使用道具 举报

发表于 2015-10-22 09:03:46 | 显示全部楼层
是不是开机要5秒时间
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-22 09:12:04 | 显示全部楼层
Hackerpro 发表于 2015-10-22 09:03
是不是开机要5秒时间

感觉好像是要5秒左右
回复 支持 反对

使用道具 举报

发表于 2015-10-23 08:51:08 | 显示全部楼层
开机的确有时间,另外arduino连接上USB线后也会有重启的现象。
回复 支持 反对

使用道具 举报

发表于 2015-10-23 08:55:18 | 显示全部楼层
m8内存太小了,在arduino上 用处不大。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-24 08:55:43 | 显示全部楼层
504835618 发表于 2015-10-23 08:55
m8内存太小了,在arduino上 用处不大。

其实用328的芯片也是差不多……
回复 支持 反对

使用道具 举报

发表于 2015-10-24 10:29:22 | 显示全部楼层
http://www.geek-workshop.com/for ... &highlight=easy

本强甩一个328p最小系统玩法,这才叫最小系统嘛,哈哈
回复 支持 反对

使用道具 举报

发表于 2017-2-12 19:43:57 | 显示全部楼层
usbtinyisp不行,一直读不熔丝位
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 07:36 , Processed in 0.042352 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表