所有微控制器都需要某种机制来对它们进行编程,即使它们只编程一次。通常,程序代码写在主机上,然后编译或翻译,并使用电缆(通常是USB或RS232)将对象(机器可读)代码从PC(“主机”)下载到MCU(“目标”),通常被称为“编程器”。一旦编程,MCU就像编码一样工作。

一个非常受欢迎的MCU开发板制造商是Arduino,总部位于意大利。许多Arduino开发板都装有AVR微控制器,这也需要烧写器将主机上创建的程序保存到目标MCU的存储器中,例如AVR微控制器。外部编程器通常用于AVR微控制器,并且成本高昂。

在项目开发期间,大多数目标MCU必须进行多次编程,因此将MCU从电路中移除以对其进行编程是不可行的。许多MCU(包括AVR处理器)都可以使用系统内编程器(ISP)进行编程,因此无需将其从电路板上移除。

默认情况下,Arduino板带有MCU预置代码,称为引导加载程序。 Bootloader是第一个在启动MCU时驻留在MCU中的程序。 Bootloader指示MCU加载或下一步做什么。 Arduino通过集成开发环境(IDE)使PC主机与板载MCU(目标)之间的通信变得易于使用。 IDE是主机驻留的,包括开发人员可用于编程、编译和调试目标MCU的工具。

引导加载程序还使用USB帮助Arduino IDE和Arduino开发板之间的通信。引导加载程序负责在从Arduino IDE到达时在芯片上编写代码。

Arduino开发板的整体设计使其易于使用,包括免费软件工具。 Arduino控制器板非常适合从嵌入式编程开始,通常用于教育环境。 Arduino开发板(目标)与主机之间的简单USB连接使Arduinos适合开发嵌入式项目,而无需了解如何将程序代码放入MCU并从那里运行代码。Arduino称程序或代码为“草图”。Arduino开发板最适合小规模项目。

然而,如果目标是设计一种经济的产品,然后创建使用上的定制设计的印刷电路板的AVR单片机比购买填充了相同的AVR MCU的Arduino板的数百或数千便宜高容量,生产质量板。然而,许多人已经使用Arduino(和类似的)低成本开发板作为安装的最终产品,如果避免创建和填充少量PCB的成本更低。

Arduino板具有少量通用I / O,可用于多种不同用途。例如,Arduino板可以作为使用Arduino ISP的其他AVR微控制器的编程器工具,并且是用于编程AVR MCU的最简单和最便宜的方法之一。 Arduino系统内编程器是免费的Arduino IDE中提供的内置函数。 ISP允许您使用专用于此目的的另一个Arduino板对Arduino板和其他AVR微控制器进行编程。

然而,使用功能齐全的Arduino板(作为编程器-Arduino)对新开发的Arduino板进行编程有一些规定。首先,必须将“programmer-Arduino”(您已配置为程序员的Arduino)配置为ISP。默认情况下,草图(代码)在Arduino IDE的“文件”菜单中的示例代码中可用。 Arduino ISP草图将所需的指令传递给Programmer-Arduino,以便在编程模式下进行设置。


图1:Arduino ISP草图选项。


图2:Arduino ISP草图。

可以使用连接的LED监控Programmer-Arduino的状态,如图所示。 Arduino ISP草图已针对此功能进行了预编程。

更多内容请参考以下链接:https://www.yiboard.com/thread-1043-1-1.html

使用Arduino ISP编程AVR微控制器和Arduino开发板相关推荐

  1. 手工打造基于MM32F5微控制器的MicroPython开发板

    手工打造基于MM32F5微控制器的MicroPython开发板 苏勇,2022-07-21 文章目录 手工打造基于MM32F5微控制器的MicroPython开发板 引言 MM32F5微控制器简介 制 ...

  2. Great Cow BASIC (大母牛BASIC)一个开源的8位芯片PIC和Atmel AVR微控制器的BASIC编译器

    Great Cow BASIC (大母牛BASIC编辑器) Great Cow BASIC 0.98.02(Great Cow Graphical BASIC)是一个开源的8位芯片PIC和Atmel ...

  3. 嵌入式系统开发笔记89:认识AVR微控制器系统架构

    文章目录 前言 一.Atmel 二.典型AVR产品系列 1.tinyAVR 2.megaAVR 3.XMEGA 三.AVR微控制器的主要性能 四.AVR微控制器发展史上的重要事件 五.AVR微控制器的 ...

  4. 分享第一次接触Atmel AVR微控制器开发板

    本人从事电子行业已有好几个年头,之前做过手机的开发.做过物联网芯片的技术支持,不能说对电子行业精通,也算马马虎虎有些见识了解,电子产业,目前硬件性能过胜是众所周知的事,好比在大家都比较熟知的单片机领域 ...

  5. 极海APM微控制器基于IAR开发环境搭建与工程调试配置方法

    极海APM微控制器基于IAR开发环境搭建与工程调试配置方法 ✨本篇主要针对基于IAR for ARM版本:V9.30.1环境搭建和工程调试配置过程进行介绍,当然也同样适用于基于ARM架构芯片的开发使用 ...

  6. 香蕉派 BPI-W3采用瑞芯微RK3588开源硬件开发板公开发售

    香蕉派 BPI-W3采用瑞芯微RK3588开源硬件开发板公开发售 香蕉派BPI-W3 开发板是由bananapi开源社区最新设计的一款开源硬件开发板,采用瑞芯芯片RK3588 SoC四处理器ARM C ...

  7. 【arduino】arduino ISP下载程序方法,用arduino uno给M5 Module DC MOTOR下载程序

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天用arduino uno给M5的Module DC motor下载程序,别的就不多 ...

  8. 【arduino】arduino ISP下载程序方法,用arduino uno给arduino nano下载程序

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 最近用arduino nano,老版的那种miniUSB的接口,得用miniUSB的数 ...

  9. arduino uno r3单片机封装图_【arduino】arduino ISP下载程序方法,用arduino uno给arduino nano下载程序...

    微信关注 "DLGG创客DIY"设为"星标",重磅干货,第一时间送达. 最近用arduino nano,老版的那种miniUSB的接口,得用miniUSB的数据 ...

最新文章

  1. thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞
  2. 【廖雪峰python入门笔记】Unicode编码_UnicodeDecodeError处理
  3. 洛谷P1352 没有上司的舞会题解
  4. 【数学和算法】初识卡尔曼滤波器(五)
  5. 高大上的介绍实时流式计算!
  6. python如何读取kepsever_python linecache读取过程
  7. python中的for else语句
  8. python遍历字典修改值_Python中遍历字典过程中更改元素导致异常的解决方法
  9. 【战“疫”案例展】上海临港方舱医院——7天打造“数字方舱”,搭建智能化管理系统平台...
  10. 外包商爱图腾求变推自主APP:91助手阻碍发展
  11. 订单管理_03查询订单信息流程
  12. 2020 IEEE 冯诺依曼奖得主:Michael Jordan --机器学习领域泰斗级人物
  13. 图片加水印怎么加,快速图片加水印?
  14. ps——油漆字体效果
  15. JS — 声明与引入
  16. Zuul入门实战(完整版)
  17. 游戏系列教程之让手游场景3转2制作技巧解析
  18. 汽车日行灯做E-mark认证必须接受要工厂审核吗?
  19. 完整详解阿里Java P5-P8百万年薪架构师的技能要求!
  20. C++小游戏——歹徒逃脱

热门文章

  1. 不同封装0Ω电阻通流能力
  2. 引入css样式属于链接式的是,(5)css样式导入
  3. lisp 非对称缓和曲线_非对称缓和曲线放样计算程序清单(for Casio-fx4850)
  4. 【引用】相思茉莉(原创)来自我的另一处博
  5. R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据...
  6. 亚马逊Kindle入华的挑战
  7. 浏览器访问jsp页面出现源码
  8. 照片日历制作软件服务器端,#原创新人#99%完美的全平台日历解决方案
  9. 2017大同市职称计算机,2017年职称计算机考试计划
  10. LeetCode刷题笔记-逃脱阻碍者