Arduino for ATTiny13使用教程

By | 2015年12月26日

ATTiny13是一款便宜小巧的AVR单片机,某宝上才2块钱,完全可以用于那些引脚不是很多,操作不是非常复杂的环境中,在网上看到它可以使用Arduino IDE进行编程,有点心动,遂买了些来玩玩,但是发现网上的教程很多都是过时的没法使用或者说明不清楚,于是自己收集资料写下这篇教程。

首先确保你的Arduino IDE是1.6.x以上的,因为1.6.x以下的开发板库的结构和1.6.x以上的有所不同,我这里用的是1.6.5,然后打开这个链接http://sourceforge.net/projects/ard-core13/files/,选择最新版的core13_022_arduino_1_6.zip下载,

然后将这个包中的attiny13文件夹解压到Arduino目录的hardware下面,重启IDE之后,在开发板选择可看到Attiny13的选项,这里选择9.6mhz的开发板。

打开Blink例程,修改led脚为0-4其中的一个脚。Attiny13 for Arduino脚定义如下

attiny13-pinout

连接ISP烧写器,连接方式如下(那个EXT CLKI就不管它了,连接好ISP线就行):

attiny13-isp

烧写熔丝位,这步骤相当于烧写bootloader,但是没有实质的bootloader可以烧写,就只是修改运行频率而已,我们可以在hardware\attiny13\avr的boards.txt中找到对应频率的熔丝位烧写进去即可。这里使用arduino自带的avrdude.exe进行烧写。

在/hardware/tools/avr/etc中找到avrdude.conf,将其复制到/hardware/tools/avr/bin下面,然后在这个文件夹下运行(在没有选中文件的状态下按住Shift,鼠标右键文件夹空白处,选择“在此处打开命令窗口”)

avrdude  -C avrdude.conf -p attiny13  -c usbtiny  -U lfuse:w:0x7A:m -U hfuse:w:0xFF:m -B250

烧写完熔丝位之后就可以上传工程了,选择好开发板,开发板的区别就是运行频率不同,刚刚烧写的是9.6MHz的,所以就选择9.6MHz的开发板,相应开发板的熔丝位烧写请参考开发板的配置文件,选择上传,程序会通过ISP烧写到tiny上。注意烧写的设备名,这里的例子是使用usbtiny编程器进行烧写的,如果是用usbasp的就改为usbasp,别的也是一样,不过别的就不太清楚是使用什么名字了……我这只有廉价的usbasp。

最后就可以看到前面修改的led脚闪亮了。

最后说一下这个Attiny13的不足,虽然这个单片机很便宜,随之而来的也是低配置,Flash只有1k,EEPROM只有64字节。我测试烧写DS18B20的程序,结果不支持OneWire库,用NTC温敏电阻结果Flash空间不足,SoftSerial也没法使用,网上有许多通讯库,但是基本都是用于Attiny85这类大Flash的单片机。目前看来只能用于简单的时间控制,或者开关控制之类的简单控制系统,稍微复杂的传感器基本就没戏了。

来源:http://ceezblog.info/2015/11/19/attiny13-programming-with-arduino-ide/

本文链接地址:http://blog.windworkshop.net/?p=763 »文章允许转载 ,转载请注明出处,谢谢。
分类目录: 电子 标签: 最后更新: 2016-03-03

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据