attiny13a程序实例_如何使用Arduino IDE编程ATTINY13/ATTINY13A单片机

尽管ATtiny系列被认为是非常便宜和有用的,但是仍然缺少有关它的项目和教程。在本篇文章中,您将学习如何使用通过Arduino IDE编程的ATtiny13微控制器开始构建应用程序。

attiny-85.jpg (33.52 KB, 下载次数: 1)

2020-10-3 14:10 上传

首先,ATtiny13是基于AVR增强RISC架构的低功耗CMOS 8位微控制器。通过在一个时钟周期内执行功能强大的指令,ATtiny13的吞吐率接近1 MIPS / MHz,从而使系统设计人员能够优化功耗与处理速度。 Microchip收购Atmel之后,新的ATtiny13仍在生产中。

circuit.jpg (95.74 KB, 下载次数: 1)

2020-10-3 14:10 上传

所需的组件

●     Arduino Uno或任何其他Arduino开发板

●     ATtiny13或13A单片机

●     面包板

●     连接导线

电路

为了连接硬件,您应该首先如图所示调整ATtiny的方向。

首先,将Arduino的5V连接到ATtiny引脚8。分别将GND连接到引脚4,引脚13到引脚7,引脚12到引脚6,引脚11到引脚5,最后将引脚10连接到引脚1。

fritzing.jpg (42.32 KB, 下载次数: 1)

2020-10-3 14:10 上传

编程ATTINY13

要编程ATtiny13,我们应该将Arduino设置为烧录器(Programmer)。这可以通过在IDE中按照以下路径(Files -> Examples -> ArduinoISP)将ArduinoISP草图上传到Arduino来实现。

isp.jpg (46.48 KB, 下载次数: 1)

2020-10-3 14:10 上传

现在我们的Arduino已准备好对ATtiny 13进行编程,但仍然需要通过安装其核心文件来设置ATtiny。在本文中,首选sleepmanj制作的文件。

要安装这些文件,请打开Arduino IDE并导航到文件下拉菜单,然后选择首选项。将此URL“https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json”粘贴到“Additional Boards Manager URLs”。如果您这里已有URL,并且想要添加更多,请用逗号和空格分隔URL。

preferences.jpg (30.71 KB, 下载次数: 2)

2020-10-3 14:10 上传

现在,导航至tools-board,然后单击Boards Manager…。现在向下滚动,直到看到DIY ATtiny,然后单击安装按钮。

将BOOTLOADER烧录到ATTY单片机

实际上,引导加载程序是微控制器中的一个固件,它允许通过串行通信安装新固件。为了开始对ATtiny 13进行编程,我们必须将Bootloader烧录到其中。要实现此目的,有两个步骤:首先,进入Tools-Board并选择ATtiny13,其次,单击Tools下拉菜单底部的Burn Bootloader按钮。

您应该注意ATtiny的版本,导航到Tools-Processor Version,然后根据您的芯片选择ATtiny13或ATtiny13a。

processor.jpg (51.66 KB, 下载次数: 1)

2020-10-3 14:10 上传

烧录Bootloader之后,我们的ATtiny现在可以进行编程了。您现在可以尝试Blink草图之类的Arduino IDE示例。

为了确保Blink草图可以正常工作,您应该首先检查下图。

pinout.jpg (15.82 KB, 下载次数: 1)

2020-10-3 14:10 上传

在这里,引脚3在硬件中定义为PB4,现在让我们看一下编辑后的代码:

//We will replace "LED_BUILTIN" with "4" since ATtiny does not have a built-in led!

void setup() {

// initialize digital Pin 3 of ATtiny 13(defined in hardware as 4) as an output.

pinMode(4, OUTPUT);

}

// the loop function runs over and over again forever

void loop() {

digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)

delay(1000);                       // wait for a second

digitalWrite(4, LOW);    // turn the LED off by making the voltage LOW

delay(1000);                       // wait for a second

}复制代码

接下来,通过在引脚3和GND之间添加一个带有合适电阻的LED来修改电路,如图所示。

blinkk.jpg (31.37 KB, 下载次数: 1)

2020-10-3 14:10 上传

常见故障排除

如果在构建此项目时遇到任何问题,可以检查此列表以对项目进行故障排除:

•    仔细检查所有连接以及ATtiny和LED的方向。

•    将ArduinoISP草图重新上传到Arduino。

•    在在Arduino上复位和接地之间连接一个10uf电解电容。确保以正确的方向插入电容,负极接地。

•    在面包板上的5v和接地之间连接大电容,这将有助于消除电压尖峰。

•    确保为编程ATtiny的Arduino提供足够的电源,9伏电池可能无法工作。

•    使用其他Arduino替换您的Arduino开发板

•    确保您使用的是最新的IDE和最新的核心文件

•    单击tools,并确保下拉菜单与“Burn the Bootloader”步骤中显示的菜单相同。如果有什么不同,请进行更改并重新烧录引导程序。

现在已经准备就绪,该进行测试使用Arduino IDE编程的ATtiny的新思路和新应用!


版权声明:本文为weixin_39955925原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。