基本信息
文件名称:Arduino 系列:Arduino Gemma (基于 ATtiny85)_(2).ATtiny85处理器概述.docx
文件大小:25.65 KB
总页数:23 页
更新时间:2025-06-24
总字数:约1.08万字
文档摘要

PAGE1

PAGE1

ATtiny85处理器概述

处理器简介

ATtiny85是一款由MicrochipTechnology(原AtmelCorporation)生产的8位微控制器。它属于AVR系列,基于RISC架构,拥有低功耗、高性能的特点。ATtiny85具有8kB的闪存、512B的SRAM和512B的EEPROM,非常适用于小型嵌入式项目。ArduinoGemma正是基于这颗微控制器设计的,使得开发者可以轻松上手并进行各种创意项目。

主要特性

8位AVR微控制器:采用RISC架构,提供高效的指令集。

低功耗:在多个低功耗模式下运行,适用于电池供电的设备。

闪存容量:8kB的程序存储空间,足够运行大多数小型项目。

SRAM和EEPROM:512B的SRAM用于数据存储,512B的EEPROM用于非易失性数据存储。

工作电压:支持1.8V到5.5V的工作电压范围。

I/O端口:6个可编程I/O端口,其中5个可以配置为ADC输入。

定时器:内置两个8位定时器/计数器。

通信接口:支持SPI、I2C和UART通信。

中断:支持多个中断源,包括外部中断、定时器中断和ADC中断等。

ATtiny85的内部架构

内核架构

ATtiny85采用的是AVR内核,这是一种高性能的8位RISC(精简指令集计算机)架构。RISC架构的特点是拥有简单而高效的指令集,使得处理器可以在每个时钟周期内执行多条指令。这种架构的优势在于提高了处理速度和代码执行效率,非常适合嵌入式应用。

存储器组织

ATtiny85的存储器分为三个主要部分:闪存(Flash)、SRAM和EEPROM。

闪存(Flash):8kB的程序存储空间,用于存储编译后的代码。闪存可以多次擦写,但有一定的擦写次数限制。

SRAM:512B的数据存储空间,用于存储运行时的数据。SRAM在断电后会丢失数据。

EEPROM:512B的非易失性数据存储空间,用于存储持久化的数据。EEPROM在断电后仍然可以保留数据。

寄存器

ATtiny85内部有许多寄存器,用于控制各种功能。主要的寄存器包括:

通用寄存器:32个8位通用寄存器,用于数据处理和临时存储。

状态寄存器:用于存储处理器的状态信息,如进位标志、零标志等。

控制寄存器:用于配置和控制各种外设,如定时器、ADC、UART等。

低功耗模式

ATtiny85支持多种低功耗模式,这些模式可以显著降低功耗,延长电池寿命。主要的低功耗模式包括:

Idle模式:CPU停止运行,但外设继续工作。适合需要定时器或ADC等外设持续工作的应用。

Power-down模式:除RTC(实时时钟)外,所有外设停止工作。适合需要长时间休眠的应用。

Power-save模式:CPU停止运行,定时器继续工作。适合需要定时唤醒的应用。

Standby模式:CPU和大多数外设停止工作,只有外部中断和RTC可以唤醒。适合需要极低功耗的应用。

低功耗模式示例

#includeavr/sleep.h

#includeavr/power.h

voidsetup(){

//设置引脚模式

pinMode(0,INPUT);

pinMode(1,OUTPUT);

//配置低功耗模式

set_sleep_mode(SLEEP_MODE_PWR_DOWN);//选择Power-down模式

sleep_enable();//启用睡眠模式

//配置外部中断

GIMSK|=(1INT0);//使能外部中断0

MCUCR|=(1ISC00)|(1ISC01);//设置外部中断0为上升沿触发

//使能全局中断

sei();

}

voidloop(){

//进入低功耗模式

sleep_mode();

}

//外部中断处理函数

ISR(INT0_vect){

digitalWrite(1,HIGH);//点亮LED

delay(1000);//延迟1秒

digitalWrite(1,LOW);//关闭LED

sleep_mode();//重新进入低功耗模式

}

代码说明

set_sleep_mode(SLEEP_MODE_PWR_DOWN);:选择Power-down模式。

sleep_enable();:启用睡眠模式。

GIMSK|=(1INT0);:使能外部中断0。

MCUCR|=(1ISC00)|(1ISC01);:设置外部中断0为上升沿触发。

sei();:使能全局中断。

sleep_mode();:进入低功耗模式