原创 Arduino使用方法/ATMega8最小系统使用方法

2012-2-12 22:16 7159 26 27 分类: MCU/ 嵌入式

前边已经介绍过Arduino,已经了解了什么是Arduino,其实就是一个ATmega8/ATmega168的系统板,这篇文章主要介绍以下几个部分。
        1、Arduino的硬件结构图
        2、Arduino固件更新
        3、如何使用Arduino

1、Arduino的硬件结构图
       如下图,Arduino把ATmega8的I/O口全部引出,一共包括13个通用I/O口和5个AD输入口,同时可以向外围电路输出5V和3.3V直流电源。供电采用电脑USB供电或者5V直流电源供电。由于使用USB转串口方式,在没有串口的机器上也可以正常使用,而且如果使用USB供电方式,只需要用一根数据线和电脑连接即可,简单而且方便。Arduino提供电源指示灯,并且在13脚上连接了一个LED发光二极管,方便调试程序或者做试验



arduino.jpg

2、Arduino固件更新
        Arduino具有自己的开发IDE工具。程序烧录方式比较特殊:使用AVR芯片特有的Bootloader功能,给AVR芯片烧入一个特有的固件,通过串口更新芯片flash空间内的程序,这样不需要外接烧录器,使用更加方便简单。
       首先需要准备以下东西:Arduino开发工具,可以直接从www.arduino.cc下载最新版本;AVR烧录工具或下载线,常用的有很多例如USBAsp、并口下载线等,这里以USBAsp烧录为例,新的Arduino板都已经烧录好了固件,这步可以直接跳过不做。
       假设已经会使用USBAsp,这里不再介绍USBAsp的用法,把USBAsp的连接线接在Arduino的ISP接口上,然后把USBAsp插入电脑USB口。
       打开Arduino工具,在菜单 Tools >> Board下选择板子类型为"Arduino NG or older w/ ATmega8",如下图:

 

1.jpg


        设置好板子类型以后,再依次点击菜单Tools >> Programmer >> USBAsp,就会自动开始通过USBAsp向Arduino中写入固件,写固件的过程大约需要1分钟左右,所以请耐心等待,在这个过程中不要中断电源或拔出USBAsp。如下图:

 

2.jpg



3、如何使用Arduino
        这里以一个Blink范例为例。
        由于串口采用USB转串口的方式,所以需要安装驱动程序,驱动程序有很多,由于我的Arduino板USB转串口芯片使用的是PL2303芯片,所以下载一个PL2303驱动直接安装即可。把Arduino通过USB延长线接入电脑以后应该会发现新的串口,我的电脑发现的串口号为COM6。
        打开Arduino,首先设置串口,依次执行菜单:Tools >> Serial Port就可以看到新识别的串口,选中即可,如下图:
 

 

3.jpg


       设置好串口以后,就可以下载一个范例程序看看效果了,依次执行菜单:File >> Examples >> Basics >> Blink,就会弹出一个新的串口,并且已经写好了程序。由于这里只介绍方法不具体介绍语法。这个范例是与板上13脚接的LED发光二极管相关的,首先把LED点亮,经过1秒把LED熄灭,再经过1秒把LED点亮,一直这样循环下去。如下图:

 

4.jpg


        这个时候就可以依次执行菜单:File >> Upload,Arduino首先开始编译程序,如果没有错误接着就启动自动下载,这里有一个特别需要注意的地方,当编译完成开始下载之前按一下板子上的复位(RST)按钮,这样才能开始下载,因为AVR复位以后首先执行在第2步烧录进去的Bootloader程序,如果在指定时间内没有收到下载请求则执行Flash中的程序,因此不复位Arduino是不会开始下载的,根据要烧录的程序大小烧录所用的时间也不同。新版本的IDE软件在右下角会显示进度条,旧版本的不会显示进度条。如下图:

 

5.jpg


        下载成功以后,状态栏里会显示Done Uploading,然后板子上的LED灯也会开始一亮一灭的闪烁。如下图:
 

 

6.jpg

文章评论1条评论)

登录后参与讨论

用户1647523 2012-2-17 16:59

Arduino使用方法学习,详细,谢谢!
相关推荐阅读
用户545978 2016-02-16 22:06
ATMega8熔丝位说明
        最近玩atmega8的arduino,镕丝位的设置总是记不住,所以记录下来备用,同时我也相信很多人也和我一样,有很多都没有关注过是什么功能 1、功能熔丝 熔丝  ...
用户545978 2012-11-17 22:49
赠送旧AVR的JTAG板一块
        今天翻东西的时候找到了一块以前参加竞赛时做的AVR的JTAG仿真器的板子,记得那个时候刚接触单片机,也没啥钱,几个同学在老师的指导下凑钱做了第一块PCB,那么大的一块PCB只实现了...
用户545978 2012-05-07 00:01
Arduino介绍
  Arduino是一款开源的,有一套易用的软件和硬件平台,Arduino可以通过各种外围传感器来感知所在的环境状况,来控制LED指示灯的变化,电机的运转或者作出其它一些交互动作。 开始认...
用户545978 2012-05-06 22:59
ULN2803驱动板驱动两路步进电机的方法(含源代码)
        ULN2803是8路NPN达林顿连接晶体管系列,特别适用于低逻辑电平数字电路,如:TTL,COMS或PMOS/NMOS,和较高的电压/电流要求之间的接口,广泛应用与计算机、打印机、...
用户545978 2012-04-23 00:02
AVR通过串口给芯片烧录程序(ATMega16)
          相信大家都用过STC系列的51单片机,STC系列的单片机烧录程序都很简单,只需要通过串口就可以实现程序的烧录。于是就想让avr的芯片也能实现通过串...
我要评论
1
26
关闭 站长推荐上一条 /2 下一条