分享

用USBISP一步烧录Attiny13A/Attiny85

 新用户5228KeDY 2021-10-10

用USBISP一步烧录Attiny13A/Attiny85

前一段时间使用Arduino IDE,通过Arduino UNO/Nano可以给Attiny13A/85烧录程序。Attiny 13A/85与Arduino使用的Atmega8/328p血脉相同,都是Atmel的产品——当然,现在被MicroChip(微芯)收购了,前一段时间Atmel芯片涨价就涨的AT和Atmega这一系列,再后来到现在芯片荒,与此都有关。不过真正荒的没有到达AT和Atmega这种中低端产品,而是ARM/STM32疯了一样涨价——然后听说国内STC也要发展32位芯片了,加油!真不容易!

当时研究用Arduino IDE烧录这些芯片的时候就想:如果我们在板卡管理器Boards Mamaner里面新增的那些json指示的地址的库,有一天它们都不在了,我们还怎样去烧录这些自己的非Arduino芯片呢?

解决办法呢,当然是向上一步找过去,即没有被Arduino封装的AVR单片机的烧录办法。琢磨之下,竟一步到位,没有经历任何波折。

下面我们以使用AVR USBISP烧录Attiny85的LED Blink程序为例,介绍烧录步骤。Attiny13A烧录过程与此类似。

1、材料准备:AVR USBISP、Attiny85、LED,杜邦线

图1 一种AVR USBISP烧录器

图2 直插Attiny85及管脚排列(自标记点起1至8)

2、软件准备:Arduino IDE,PROGISP 1.72

图3 一款PROGISP软件(智峰PROGISP 1.72)

3、Blink程序:

File/Examples/01.Basics/Blink,修改LED_BUILTIN为4,即

void setup() {
  //使用Attiny85的D4引脚令LED闪烁
  pinMode(4, OUTPUT);
}

void loop() {
  digitalWrite(4, HIGH);
  delay(1000);
  digitalWrite(4, LOW);
  delay(1000);
}

3、引脚接线:

表1 USBISP引脚与Attiny85引脚对应关系
USBISPAttiny85
RES1
GND4
MOSI5
MISO6
SCK7
VCC8

其中USBISP引脚上有文字标识。Attiny85芯片的引脚序号,如图2所示,自引脚标记点开始,顺次为1、2、……8。

4、烧录过程:

①连接USBISP,安装驱动程序。

图4 正常安装USBISP驱动程序后显示设备信息

②按照表1接线。

③生成hex文件。在Arduino IDE里打开我们修改过的Blink文件,依次点击Sketch/Export compiled Binary,看到Blink.ino的保存目录下,生成了两个扩展名为hex的文件。

图5 Blink.ino目录下生成两个扩展名hex的文件

④烧录hex文件。确认USBISP正常插入电脑,确认Attiny85与USBISP引脚连线正确。打开PROGISP,依次点击:

“Select Chip”列表,选择“ATtiny85”;

点击“调入Flash”,选择一个hex文件;

点击“自动”,直到提示框提示调入hex文件。

烧录完成。如图6。

图6 hex正确烧录的提示

5、接线图和测试:

接线图:

图7 Attiny85引脚8接VCC、引脚4接GND,R1、D1接引脚3、4之间

测试:

图8 LED在Attiny85引脚3、4之间每隔1秒闪烁1次

上述烧录过程流程框图:

图9 使用USBISP烧录Attiny85流程框图

实际这里的方法,本质上就是使用了Arduino IDE及其简便的语法,回避了AVR下C&C++的复杂性,生成hex文件后,又返回到常规的AVR单片机烧录步骤上去的折中做法。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多