利用PROGISP实现ARDUINO IDE编写的程序的下载以及如何把AVR单片机做成ARDUINO板

本文详细介绍了如何利用PROGISP下载ARDUINO IDE编写的程序到AVR单片机,并讲解了如何把AVR单片机做成ARDUINO板。内容涵盖ARDUINO与AVR的关系、BOOTLOADER的作用、熔丝位设置以及ISP下载过程。通过设置熔丝位和烧录BOOTLOADER,实现了单片机的串行下载功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先讲讲题目的由来吧。我做的东西原本是利用ARDUINO MEGA2560及各种模块搭建起来的,程序自然也是用ARDUINO IDE写的。但这种东拼西凑的产品自然不够好,更主要的是,之前ARDUINO板的电源烧掉了,我看了下原理图,当电脑USB电源和12V电源都接上时,USB5V和12V转的5V并联了,以此来提供大电流,但是我上网查了下,两个相同电压的电源并联其实是很容易出问题的,电流的分配关系并没有想象的那么听话是均分的,而是和电源的内阻有关,很容易烧电源,于是想着自己参考着开源原理图设计了一块电路板,修改了电源方案并把所有元件都放在一块板上,并修改固件(即之前说的程序)后烧进单片机中。说到这里,有必要阐述一下AVR与ARDUINO的关系。

ARDUINO是以ATMEL公司的AVR单片机为主控芯片的开源硬件,同时它还有自己的开发环境ARDUINO IDE。那么ARDUINO板是怎么利用AVR单片机搭建起来的呢?比如ARDUINO MEGA2560就是以AT MEGA2560 为主控芯片搭建起来的。ARDUINO把AVR单片机的部分通用I/O口挑出来,给他重新赋予名字:如maga2560 中PD0对应ARDUINO板上的digital 21(PWM和COMMUNICATION 的I/O口也是DIGITAL口),PF0对应ADC0即板子上ANALOG IN的A0.每个版本都是事先把AVR单片机的各设置都设置好了之后才出售的。每个版本的相关信息可通过ARDUINO所在文件夹下hardware\arduino下的boards.txt查看,里面记载了各版本的熔丝位设置,串口波特率设置,bootloader文件所在位置等等。在ARDUINO IDE中选择版本时,就会把相关参数切换为这个文件里说明的参数。

部分ARDUINO I/O 与AVR I/O对应关系图

说完I/O口,再说说ARDUINO的下载方式。AVR单片机的下载方式有ISP,JTAG仿真,高压并行下载等。早期的ARUIDNO的下载用的还是CH340G,后来从某个版本开始就使用AT MEGA8以及16来实现USB转串口了。ARDUINO MEGA2560的手册的下载模块原理图如下:
下载模块原理图

由于这个原理我也不懂,所以就不多说了。重点是,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值