所有微控制器都需要某种机制来对它们进行编程,即使它们只编程一次。通常,程序代码写在主机上,然后编译或翻译,并使用电缆(通常是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草图已针对此功能进行了预编程。
关键字:Arduino ISP编程 AVR微控制器 Arduino开发板
引用地址:
使用Arduino ISP编程AVR微控制器和Arduino开发板
推荐阅读最新更新时间:2024-11-06 16:13
AVR单片机外部中断实例
本范例使用 WinAVR/G 20050214 版本开发按下按键0,0亮。直到松手,其他按键才能起作用 按下按键1,LED1亮。其他按键随时都能起作用 按下按键2,LED0/1都熄灭。直到松手,其他按键才能起作用 3. 电路 图设计 : 为简化线路设计,使用了本网站的ATmega16功能小板。 . 4. 代码设计与说明 : /************************************************* **** AVR 外部中断使用范例 *** **** *** **** 策划、整理与测试: 阿莫(armok) *** ***
[单片机]
Arduino超声测距系统设计
Arduino是目前较为流行的电子互动平台,基于嵌入式系统开发,具有使用简单,功能多样,价格低廉等优点,广泛应用于电子系统设计和互动产品开发方面。我们采用Arduino作为主控制器,结合超声测距模块,1602液晶模块,进行了超声波测距系统的软硬件设计。 一、“电子积木”Arduino 近几年,欧美大学皆相当流行应用Arduino作为基础的技术,在国内使用Arduino的人也越来越多。 Arduino为什么会这样流行?首先因为它是一个基于开放源代码的硬件项目平台: 1.硬件平台是开放的,任何人都可以在Arduino官方网站上下载最新的PCB设计进行复制,硬件平台包括基于AVR ATmega128微控制器的主控制电路板,以及大量的
[测试测量]
基于AVR单片机的ISP1362OTG设计
0 引言 随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。 1 ISP1362芯片的内部结构 Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个USB控制
[单片机]
画个板子玩玩最便宜的Arduino,Atmega8A 的使用
前言 我们日常如果是走Arduino这种快速开发的方向,那肯定会用那几种处理器Atmega328P,Atmega32U4,这里的话后者相比前者提供了原生的全速USB2.0支持。 而Atmega的系列如果往328P之前看,还有Atmega8,Atmega48,Atmega88,Atmega168,Atmega162,AtmegaA8U2等等 这一次这一次我就试着玩了一下这一块处理器,但是和以往一样,也都遇到了一些设计上的问题。那么整个流程是什么样的?一起来看一下 这一款处理器具有以下特点 No. of Pins 28 CPU 8-Bit AVR Operating Voltage 2.7 to 5.5 V P
[单片机]
AVR单片机GCC编程
最好的莫过于在Linux下具有一个可供利用的完整编程环境:你可以采用GCC对这种单片机进行C语言编程.本文我将向你讲述如何安装和使用GCC.我也将向你讲述如何把软件载入单片机.你所需要的只是一块AT90S4433单片机,一个4Mhz的晶震,一些电缆和少量其它便宜的部件. 这篇文章只是一个简单介绍.在以后的文章种我们将会制作一个具有少数按键的LCD显示屏,模数输入,硬件狗和一些LED.我们的想法是做一个普通的Linux服务器的控制面板,不过我们先要学习怎么配置编程环境,这也是本文的主要内容. 软件安装:哪些是你所需要的 采用GNU C语言开发环境你需要下列软件: binutils-2.11.2.tar
[单片机]
时钟芯片SD2200ELP与AVR单片机的接口设计
在提升机制动闸瓦间隙实时在线检测的设计中,需要保存故障时间和故障数据。大部分仪器仪表中都要使用时钟芯片,但是很多的实时时钟芯片(如PCF8563)没有掉电保护,须外接晶振和电池,比较麻烦。而深圳兴威帆电子技术有限公司生产的SD2200ELP是内置32 KBE2PROM的串行实时时钟芯片,不需要外接器件支持,连线简单、可靠,提供的数据精确,断电后也能继续工作。微控制器采用Atmel公司的ATmegal6单片机,利用AT-megai6的硬件TWI接口可直接对SD2200ELP进行操作,无需软件模拟I2C方式,使用方便、可靠。
1 SD2200L简介
SD2200L系列(包括SD2200B/C/D/E/FLP)是一种
[嵌入式]
基于AVR单片机PWM功能的低成本高精度数控恒流源
随着电子技术的深入发展,各种智能仪器越来越多,涉及领域越来越广,而仪器对电源的要求也越来越高。现今,电源设备有朝着数字化方向发展的趋势。然而绝大多数数控电源设计是通过高位数的A/D和D/A芯片来实现的,这虽然能获得较高的精度,但也使得成本大为增加。本文介绍一种基于AVR单片机PWM功能的低成本高精度数控恒流源,能够精确实现0~2A恒流。 系统框图 图1为系统的总体框图。本系统通过小键盘和LCD实现人机交流,小键盘负责接收要实现的电流值,LCD 12864负责显示。AVR单片机根据输入的电流值产生对应的PWM波,经过滤波和功放电路后对压控恒流元件进行控制,产生电流,电流再经过采样电阻到达负载。同时,对采样电阻两端
[单片机]
贸泽电子开售Arduino新款解决方案
2024年9月23日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起备货全球开源硬件和软件知名供应商Arduino的新款产品及解决方案 。Arduino产品从设计之初就旨在提供一个便捷的平台和生态系统来提升行业创造力和产品创新。Arduino解决方案弥补了工程领域的人才短缺,并通过强大的开源产品线摆脱了对个别供应商的依赖,支持IoT、自动化、工业4.0和边缘机器学习等各类应用。 下面列出了贸泽供应的几款广受欢迎的Arduino产品: Nano Matter (ABX00112) 结合了Arduino的用户友好特性与Silicon Labs功能强
[嵌入式]