ATtiny88简介
##基本参数:
UART/USART 0
SPI 1
USB Device 0
PWM 0
USB Host/OTG 0
LCD 0
I2C(SMBUS/PMBUS) 1
工作电压 1.8V ~ 5.5V
Ethernet 0
EEPROM 尺寸 64Bytes
CAN 0
A/D 8x10bit
D/A 0
CPU位数 8-Bit
CPU内核 AVR
ROM尺寸 8KB (4KW)
RAM大小 512Bytes
主频(MAX) 12MHz
ROM类型 FLASH
I/O 数 28
说明
我在文档里没有见到有关UART和USB的说明,但貌似某宝上有卖的核心板可以USB下载的,等我抄原理图之后再更新一下。
原理图及PCB
原理图及PCB工程地址:直通车
原理图
PCB:
因为我这儿的阻容都是0805的,所以在选择上就都选择了0805,可以选小一点的。
实物:
PS:多出来那截是打样时拼上去的红外接收模块。
配置arduino环境和代码测试
github链接:https://github.com/SpenceKonde/ATTinyCore arduino
直接添加开发板链接:http://drazzy.com/package_drazzy.com_index.json
1、在打开–>首选项–>附加开发板管理器网址的后面添加上面的开发板链接,然后关闭当前窗口
2、选择工具–>开发板–>开发板选项,在搜索框搜索Attiny,安装即可。
然后就开始愉快的编程了……
烧写BootLoader
所有以上那一堆的烧录器,任选其一(前提是你得有),常用的是USBasp和USBtinyISP,没有的话需要买一个,插上之后安装相应的驱动程序。我使用的通用USB设备驱动安装软件zadig,不保证完全适用于每个人。
插上相应的烧录器,连接上板子上的2*3排针,注意看方向,然后在工具–>开发板下边选择相应的芯片以及参数,然后点烧录引导程序……等它成功即可。
有一个需要注意的地方,因为这个并无外部晶振,所以最大时钟频率只能到8MHz,在编程时选择Clock要选择括号里带Internal的选项image.png 如有需要更高频率,可以选择在PB6即GPIO14的位置加一个有源晶振。
Blink
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
OLED显示
OLED显示选用的单色屏显示库U8g2,但芯片空间不足,只能使用u8x8,不能用u8g2(同样容易爆表)。
#include
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ 22, /* data=*/ 21, /* reset=*/ U8X8_PIN_NONE); //
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(13, OUTPUT);
u8x8.begin();
u8x8.setFont(u8x8_font_pcsenior_f); //选择字体,注意要选择一个很小很小的字体,否则芯片空间容量不足
/*或者百度一下怎么自己取模*/
u8x8.setCursor(0,15);//这里设置显示的坐标
u8x8.print("setup done");//输出显示内容
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
写在最后
Attiny 88这款单片机在我测试过程中发现的问题来说,并不适合工程级别的项目开发,但作为AVR系列里性价比较高的单片机来说,还是具有一定的研究价值,总的来说,它适合用来学习,不适合用来做项目。
以上仅为本人片面之词,有所不足之处欢迎指正。
ATtiny88简介
##基本参数:
UART/USART 0
SPI 1
USB Device 0
PWM 0
USB Host/OTG 0
LCD 0
I2C(SMBUS/PMBUS) 1
工作电压 1.8V ~ 5.5V
Ethernet 0
EEPROM 尺寸 64Bytes
CAN 0
A/D 8x10bit
D/A 0
CPU位数 8-Bit
CPU内核 AVR
ROM尺寸 8KB (4KW)
RAM大小 512Bytes
主频(MAX) 12MHz
ROM类型 FLASH
I/O 数 28
说明
我在文档里没有见到有关UART和USB的说明,但貌似某宝上有卖的核心板可以USB下载的,等我抄原理图之后再更新一下。
原理图及PCB
原理图及PCB工程地址:直通车
原理图
PCB:
因为我这儿的阻容都是0805的,所以在选择上就都选择了0805,可以选小一点的。
实物:
PS:多出来那截是打样时拼上去的红外接收模块。
配置arduino环境和代码测试
github链接:https://github.com/SpenceKonde/ATTinyCore arduino
直接添加开发板链接:http://drazzy.com/package_drazzy.com_index.json
1、在打开–>首选项–>附加开发板管理器网址的后面添加上面的开发板链接,然后关闭当前窗口
2、选择工具–>开发板–>开发板选项,在搜索框搜索Attiny,安装即可。
然后就开始愉快的编程了……
烧写BootLoader
所有以上那一堆的烧录器,任选其一(前提是你得有),常用的是USBasp和USBtinyISP,没有的话需要买一个,插上之后安装相应的驱动程序。我使用的通用USB设备驱动安装软件zadig,不保证完全适用于每个人。
插上相应的烧录器,连接上板子上的2*3排针,注意看方向,然后在工具–>开发板下边选择相应的芯片以及参数,然后点烧录引导程序……等它成功即可。
有一个需要注意的地方,因为这个并无外部晶振,所以最大时钟频率只能到8MHz,在编程时选择Clock要选择括号里带Internal的选项image.png 如有需要更高频率,可以选择在PB6即GPIO14的位置加一个有源晶振。
Blink
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
OLED显示
OLED显示选用的单色屏显示库U8g2,但芯片空间不足,只能使用u8x8,不能用u8g2(同样容易爆表)。
#include
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock=*/ 22, /* data=*/ 21, /* reset=*/ U8X8_PIN_NONE); //
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(13, OUTPUT);
u8x8.begin();
u8x8.setFont(u8x8_font_pcsenior_f); //选择字体,注意要选择一个很小很小的字体,否则芯片空间容量不足
/*或者百度一下怎么自己取模*/
u8x8.setCursor(0,15);//这里设置显示的坐标
u8x8.print("setup done");//输出显示内容
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
写在最后
Attiny 88这款单片机在我测试过程中发现的问题来说,并不适合工程级别的项目开发,但作为AVR系列里性价比较高的单片机来说,还是具有一定的研究价值,总的来说,它适合用来学习,不适合用来做项目。
以上仅为本人片面之词,有所不足之处欢迎指正。
举报