0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino最小系统是如何炼成的?

454398 来源:网站整理 作者:David 2014-04-24 09:37 次阅读

Arduino电子爱好者和设计师中的影响力极其深远,可能都不亚于早些年代个人电脑所带来的影响(例如家庭计算机俱乐部等等)。市场上的Arduino数以百万计,据估计,如果把衍生产品中的Arduino也算在内就更多了。预测在接下来的 5到10年里,学校将会使用Arduino来教授电子学和交互式系统原理。

Arduino封装了很多函数,以前很复杂的功能,现在通过一个简单的函数就搞定了。特别适合没有太多专业知识,但又热爱DIY的朋友。

Arduino最小系统是如何炼成的?

虽然Arduino板子的价格不高,但忠于DIY精神,动手至上。成本大约在10元。

和常规的最小系统不同,这次用的是Arduino1.0,并且使用了“Upload using Programmer”功能,直接使用USBtinyISP下载程序,省去了usb转串口的下载器,同时也最大限度的避免了许多麻烦。

材料准备:

1、ATmega 8(可以是“ATmega 8A-PU”、“ATmega 8PU-8PU”或“ATmega 8-16PU”,具体的差别下面会说)

2、22pF陶瓷电容两个

3、晶振一个(“ATmega 8A-PU”、“ATmega 8PU-8PU”用8M,“ATmega 8-16PU”用16M)

4、USBtinyISP一个

  

先看Atmega8引脚示意图

电路一共分两个部分

1、震荡电路:


晶振连接Atmega8的pin9(PB6)、pin10(PB7),在分别连接连个22pF的电容,最后让一只电容接地。

2、程序下载以及供电部分:

ICSP引脚连接图:

+5V → pin7(VCC)

GND → ping22(GND)

D11 → pin17(PB3)

D12 → pin18(PB4)

D13 → pin19(PB5)

reset → pin1(reset)

这是连接好的板子:

  
加了一个红色的LED电源指示


下面就该给Atmega8下载bootloader了,现在就有两种情况:

1、如果是“ATmega 8A-PU”和“ATmega 8PU-8PU”,因为IDE里没有直接支持8M的板子,所以要自己改造一下:

下载下面的文件,解压后放在hardwarearduinoootloadersoptiboot目录下,并在hardwarearduinooards.txt里添加如下信息

01.##############################################################

02.

03.atmega8_8M.name=ATmega8_8MHz

04.

05.atmega8_8M.upload.protocol=arduino

06.atmega8_8M.upload.maximum_size=7168

07.atmega8_8M.upload.speed=115200

08.

09.atmega8_8M.bootloader.low_fuses=0xa4

10.atmega8_8M.bootloader.high_fuses=0xdc

11.atmega8_8M.bootloader.path=optiboot

12.atmega8_8M.bootloader.file=optiboot_atmega8_8M.hex

13.atmega8_8M.bootloader.unlock_bits=0x3F

14.atmega8_8M.bootloader.lock_bits=0x0F

15.

16.atmega8_8M.build.mcu=atmega8

17.atmega8_8M.build.f_cpu=8000000L

18.atmega8_8M.build.core=arduino

19.atmega8_8M.build.variant=standard

这时启动IDE,你就能在board里看到“Atmega8_8M”,选择他就对了。

2、如果是ATmega 8-16PU,在选板子时直接选择“arduino NG or w / ATmega 8“就可以了。

选好板子后,使用USBtinyISP下载bootloader,当看到如下图片是,就说明下载成功了。

好了,从这里开始就是和其他最小系统不同的地方了,通常我们会使用一个USB转TTL的下载器来下载程序,但因为种种原因,很多时候会出错。所以今天我们使用Arduino 1.0的“Upload using Programmer”功能来下载程序。

首先电路连接不变,还是使用下载bootloader的线路。然后确保你使用的IDE是Arduino 1.0(在Arduino的官网,一进下载软件页面的就看得见了),然后选择板子,还是和上面一样,ATmega 8-16PU可以直接用;“ATmega 8A-PU”和“ATmega 8PU-8PU”请先改造程序,然后写代码(我写了一个LED闪烁的程序来测试)。

int led = 12;

void setup()

{

pinMode(led,OUTPUT);

}

void loop()

{

digitalWrite(led,HIGH);

delay(1000);

digitalWrite(led,LOW);

delay(1000);

}

写好后点击最左边的那个钩(编译)。

最后是下载,大家可以看一下,在tools下新增加了一个“Programmer”,点开后选择USBtinyISP,Serial Port就不用选择了。

最后打开“File”,你可以看到”Upload using Programmer“,点击后程序就开始下载了。



这是程序下载完后的照片,如果图片能动,你就能看见绿色的LED在闪烁。

总结:如果按照以前的方法制作最小系统,下载bootloader和程序要使用两套电路。而且在下载程序时,TX和DX对下载线路的要求很高,还需要连接复位电路。而使用Upload using Programmer下载程序,仅需使用一套电路,简化了连接电路带来的不便,不需要转换器、不需要复位电路。最大限度地避免了许多麻烦。

有兴趣的同学可以来试试。

这是之后焊在洞洞板上的最小系统,效果还不错~



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DIY
    DIY
    +关注

    关注

    176

    文章

    883

    浏览量

    345664
  • Arduino
    +关注

    关注

    184

    文章

    6422

    浏览量

    184628
收藏 人收藏

    评论

    相关推荐

    有人做过ARDUINO最小系统吗?

    本帖最后由 stormer 于 2017-8-27 18:41 编辑 刚才搜了下DIY ARDUINO最小系统的几个帖子,看的好心动啊,好想马上自己做一块试试。有谁自己做过吗?求个靠谱的流程
    发表于 08-27 18:39

    Arduino(MEGA2560)最小系统电路设计

    **Arduino(MEGA2560)最小系统电路设计以及MEGA2560单片机固件烧录方法**Arduino单片机由于其功能强大,程序编写相对简单,外设丰富,深受广大电子爱好者喜欢。一般来说比较
    发表于 11-25 07:18

    什么叫最小系统

    做嵌入式的同学应该有一个最小系统的概念。什么叫最小系统,顾名思义,就是系统里面的任何一个组件都是不可或缺的。我们大体分一下,这里面有51单片机的最小系统、stm32的
    发表于 11-25 06:11

    自制arduino最小系统,晶振必要加10k电阻来起振吗?

    自制arduino最小系统,晶振必要加10k电阻来起振?
    发表于 11-07 07:34

    单片机最小系统是如何炼成的?

    做了一个单片机最最小系统,以后可以下载程序。
    发表于 06-01 11:32 1.8w次阅读
    单片机<b class='flag-5'>最小系统</b>是如何<b class='flag-5'>炼成</b>的?

    51最小系统

    51最小系统相关文件,原理图实物图。51最小系统相关文件,原理图实物图。
    发表于 03-22 16:45 7次下载

    stm32最小系统

    stm32最小系统
    发表于 03-19 11:45 34次下载

    如何进行arduino最小系统制作的详细资料说明

    arduino官方支持的芯片中,Atmega8最便宜,所以我们就拿他开刀讲解一下怎样自己在面包板上制作arduino最小系统
    发表于 12-18 17:21 14次下载

    Arduino实现最小系统的设计资料说明

    Arduino最小系统设计中,微处理器将选用 ATMEGA8 芯片,该芯片是一款基于 AVR—RISC 结构的 8 位单片机,共 28个外部引脚,工作电压范围为 4.5—5.5V,内部具有
    发表于 02-26 08:00 9次下载
    <b class='flag-5'>Arduino</b>实现<b class='flag-5'>最小系统</b>的设计资料说明

    单片机最小系统

    单片机最小系统单片机最小系统来源单片机最小系统为什么称之为单片机最小系统呢?单片机最小系统,也叫做单片机
    发表于 11-17 12:36 20次下载
    单片机<b class='flag-5'>最小系统</b>

    单片机最小系统

    单片机最小系统单片机最小系统来源单片机最小系统为什么称之为单片机最小系统呢?单片机最小系统,也叫做单片机
    发表于 11-17 13:06 11次下载
    单片机<b class='flag-5'>最小系统</b>

    Arduino(MEGA2560)最小系统电路设计以及固件(bootloader)烧录方法(free)

    **Arduino(MEGA2560)最小系统电路设计以及MEGA2560单片机固件烧录方法**Arduino单片机由于其功能强大,程序编写相对简单,外设丰富,深受广大电子爱好者喜欢。一般来说比较
    发表于 11-17 14:51 54次下载
    <b class='flag-5'>Arduino</b>(MEGA2560)<b class='flag-5'>最小系统</b>电路设计以及固件(bootloader)烧录方法(free)

    8086最小系统

    8086最小系统
    发表于 11-17 15:21 17次下载
    8086<b class='flag-5'>最小系统</b>

    dsp的最小系统

    dsp的最小系统
    发表于 11-17 15:21 19次下载
    dsp的<b class='flag-5'>最小系统</b>

    单片机最小系统

    单片机最小系统单片机最小系统来源单片机最小系统为什么称之为单片机最小系统呢?单片机最小系统,也叫做单片机
    发表于 11-23 16:51 33次下载
    单片机<b class='flag-5'>最小系统</b>