Arduino

来源:互联网 发布:matlab软件激活 编辑:程序博客网 时间:2024/04/25 09:17

【基础介绍篇】


材料准备:

  • ATMEGA8-16PU 单片机。
  • 直接通过ISP编程器进行程序下载,所以不需要烧录Bootloader。
  • (可选)USB ISP 编程器(如果没有编程器,则用Nano制作下载器,并用芯片出厂默认熔丝参数进行编译下载即可)。
  • (可选)16M晶振一个,22pF陶瓷电容两个(如果使用外部晶振,则9、10针接外部晶振两脚,并各串联22pF电容后接地)。
  • (可选)0.1uF 去耦电容一个(实际应用中,要在VCC与GND之间加个去耦电容:VCC←→电容←→GND)。

ATMEGA8-16PU 单片机针脚图示

这里写图片描述
这里写图片描述

参考资料

  • http://www.geek-workshop.com/thread-25004-1-1.html
  • http://aguegu.net/?p=420
  • http://www.geek-workshop.com/thread-1647-1-1.html
  • http://blog.csdn.net/ki1381/article/details/53189218
  • http://www.51hei.com/arduino/4164.html
  • http://www.guokr.com/post/452562/
  • http://tieba.baidu.com/p/2426030974

【熔丝烧录篇】


说明

1、如果使用出厂默认设置,则跳过此篇。
2、如果不熔丝,则在程序下载时,要按照出厂默认值设置开发板。
3、关于正确配置AVR熔丝位,参考文章:http://www.eeworld.com.cn/mcu/article_24377.html

ATmega8-16PU 熔丝出厂默认值

ATmega8-16PU熔丝出厂默认值为:低位值E1,高位值D9,扩展位0。

选项如下:

  • 使用内部RC振荡器1MHz ,起动时间6CK+65ms
  • 使能ISP编程
  • BOOT区大小1024Words
  • 无加密(没有使能存储器保护特性)
  • SPM和LPM对应用区的访问没有限制
  • 允许SPM/LPM指令访问bootloader区
  • 不启用掉电检测

ISP接线

USB-ISP针脚 ATMega8针脚 1 MOSI 17 PB3(MOSI) 2 VCC 7 VCC 5 RST 1 RESET 7 SCK 19 SCK 9 MISO 18 PB4 (MISO) 4 (或 6、8、10) GND 8(或 22) GND 如果使用外部晶振: 9、10 接16M外部晶振两脚,并各串联22pF电容后接地,如下图 这里写图片描述

熔丝烧录

这里写图片描述

  • 根据ISP接线图,接好单片机和烧录器。
  • 打开PROGISP程序,选择ATmega8。
  • 点击“…”按钮,进入烧录界面。
  • 选择“向导模式”(我个人比较喜欢这个模式,可以直观的调整各个值)。
  • 设置好各选项。
  • 如果使用内部RC振荡器,最佳配置为:低位值E4,高位值DB,扩展位0。选项如下:
    • 使能ISP编程
    • Boot区大小512Words
    • 内部RC振荡器8MHz;起动时间 6CK+65Ms
    • 无加密(没有使能存储器保护特性)
    • SPM和LPM对应用区的访问没有限制
    • 允许SPM/LPM指令访问bootloader区
    • 不启用掉电检测
  • 如果使用外部晶振(16M),最佳配置为:低位值DF,高位值CA,扩展位0。
  • 点击“写入”,熔丝烧录完毕。

熔丝烧录注意事项

  • 如果不是直接使用Arduino串口下载程序(我们使用ISP编程器或Nano下载器),就不用烧录bootloader,那么Boot区大小也就无关紧要。
  • 关于CKOPT:
    • 使用外部晶振时:CKOPT控制振荡器电路的震荡幅度为满幅振荡还是半幅震荡。开启时(CKOPT=0)为全幅震荡,此时功耗增加,抗干扰能力增强。不开启时(CKOPT=1),功耗低,抗干扰能力弱。如果不开启,系统时钟频率最高到8M,如果要求系统时钟频率较高(大于8M)或对抗干扰能力要求高,就需要开启。当系统时钟频率低于2M时,建议关闭此项(CKOPT=1),可以减少电流消耗。
    • 使用内部RC振荡器时:CKOPT选项不需要开启。

【程序下载篇】


准备工具

1、开发板管理器中加入对ATmega8单片机的支持
2、下载方法一:Arduino+USB ISP烧写器+PORGISP烧写软件
3、下载方法二:Arduino+使用Nano制作的下载器

开发板管理器中加入ATmega8

1、打开Arduino IDE

2、菜单中选择“文件”→“首选项”,选择“附加开发板管理地址”按钮。

这里写图片描述

3、添加网址:

https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json

这里写图片描述

4、打开“开发板管理器”,搜索“ATmega8”,选择版本,安装:

这里写图片描述

5、另一种方法:从网上下载Arduino ATmega8的支持文件,并按提示安装。

下载方法一:Arduino+USB ISP烧写器+PORGISP烧写软件

一、Arduino:

这里写图片描述

1、菜单“工具 ”→ “开发板”:选择 “ATmega8r”。
2、菜单“工具 ”→ “BOD” :选择 “Disabled”。
3、菜单“工具 ”→ “Clock”:如果使用外部晶振,选择 “16 MHz external”。如果使用内部RC振荡器,选择“8 MHz internal”。如果没有进行熔丝设置,则选择“1 MHz internal”。
4、菜单“工具 ”→ “Compiler LTO” :选择 “Disabled”。
5、菜单“项目 ”→ “导出已编译的二进制文件”。

二、USB ISP烧写器:

正确连接ATmega8单片机(参考熔丝烧录接法),并接入电脑。

三、PORGISP:

1、选择单片机为ATmega8。
2、菜单“文件 ”→ “调入flash”,选择Arduino中导出的二进制文件。
3、菜单“命令”→ “擦除”。
4、菜单“命令”→ “写入flash”。
5、菜单“命令”→ “校验flash”,校验成功后,即可接上设备看看运行效果了。

下载方法二:Arduino+使用Nano制作的下载器

一、使用Nano制作下载器:

1、将Nano接入电脑,打开Arduino,选择开发板为Nano,选择端口号(Nano的端口号,之后作为ISP下载ATmega8程序时也用这个端口号)。

2、打开示例文件:ArduinoISP

这里写图片描述

3、将示例文件编译上传,下载器制作完毕。

二、将ATmega8单片机连接到Nano下载器:

  • ATmega8 Pin 1 接 NanoPin 10(作为RESET接口,注意这里接的不是Nano的RST)
  • ATmega8 Pin 7 接 Nano 5V
  • ATmega8 Pin 8 接 Nano GND
  • ATmega8 Pin 17 接 NanoPin 11(作为MOSI接口)
  • ATmega8 Pin 18 接 NanoPin 12(作为MISO接口)
  • ATmega8 Pin 19 接 NanoPin 13(作为SCK接口)

三、在Arduino中下载(上传)程序:

这里写图片描述
1、菜单“工具 ”→ “开发板”:选择 “ATmega8”。
2、菜单“工具 ”→ “BOD” :选择 “Disabled”。
3、菜单“工具 ”→ “Clock”:如果使用外部晶振,选择 “16 MHz external”。如果使用内部RC振荡器,选择“8 MHz internal”。如果没有进行熔丝设置,则选择“1 MHz internal”。
4、菜单“工具 ”→ “Compiler LTO” :选择 “Disabled”。
5、菜单“工具 ”→ “端口” :选择 Nano 所在端口。
6、菜单“工具 ”→ “编程器”:选择“Arduino as ISP”。

这里写图片描述

7、菜单“项目 ”→“使用编程器上传”
8、下载(上传)完毕,OK,可以在ATmega8上接入设备试试效果了,HoHo~~。

0 0
原创粉丝点击