产品特性
•
高性½、½功耗的
8
½
AVR
®
微处理器
•
先进的
RISC
结构
– 131
条指令
–
大多数指令的执行时间为单个时钟周期
– 32 x 8
通用工½寄存器
–
全静态操½
–
工½于
20 MHz
时性½高达
20 MIPS
–
只需两个时钟周期的硬件乘法器
非易失性的程序和数据存储器
– 4/8/16K
字节的系统内可编程
Flash (ATmega48/88/168)
擦写寿½
: 10,000
次
–
具有独立锁定½的可选
Boot
代码区
通过片上
Boot
程序实现系统内编程
真正的同时读写操½
– 256/512/512
字节的
EEPROM (ATmega48/88/168)
擦写寿½
: 100,000
次
– 512/1K/1K
字节的片内
SRAM (ATmega48/88/168)
–
可以对锁定½进行编程以实现用户程序的加密
外设特点
–
两个具有独立预分频器和比较器功½的
8
½定时器 / 计数器
–
一个具有预分频器、比较功½和捕捉功½的
16
½定时器 / 计数器
–
具有独立振荡器的实时计数器
RTC
–
六通道
PWM
– 8
路
10
½
ADC(TQFP
与
MLF
封装 )
– 6
路
10
½
ADC( PDIP
封装 )
–
可编程的串行
USART
接口
–
可工½于主机 / 从机模式的
SPI
串行接口
–
面向字节的两线串行接口
–
具有独立片内振荡器的可编程看门狗定时器
–
片内模拟比较器
–
引脚电平变化可引发中断及唤醒
MCU
特殊的微控制器特点
–
上电复½以及可编程的掉电检测
–
经过标定的片内振荡器
–
片内 / 外中断源
–
五种休眠模式:空闲模式、
ADC
噪声抑制模式、省电模式、掉电模式和
Standby
模式
I/O
口与封装
– 23
个可编程的
I/O
口线
– 28
引脚
PDIP, 32
引脚
TQFP
与
32
引脚
MLF
封装
工½电压
:
– ATmega48V/88V/168V:1.8 - 5.5V
– ATmega48/88/168:2.7 - 5.5V
工½温度范围
:
– -40
°
C
至
85
°
C
工½速度等级
:
– ATmega48V/88V/168V: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V
– ATmega48/88/168: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
极½功耗
–
正常模式:
1 MHz, 1.8V: 240µA
32 kHz, 1.8V: 15µA (
包括振荡器
)
–
掉电模式
:
1.8V, 0.1µA
•
•
具有
8K
系统内
可编程
Flash
的
8
½
微
控制器
ATmega48/V
ATmega88/V
ATmega168/V
初稿
•
•
•
•
•
•
Rev. 2545D–AVR–07/04
引脚配½
Figure 1.
ATmega48/88/168
引脚排列
PDIP
(PCINT14/RESET) PC6
(PCINT16/RXD) PD0
(PCINT17/TXD) PD1
(PCINT18/INT0) PD2
(PCINT19/OC2B/INT1) PD3
(PCINT20/XCK/T0) PD4
VCC
GND
(PCINT6/XTAL1/TOSC1) PB6
(PCINT7/XTAL2/TOSC2) PB7
(PCINT21/OC0B/T1) PD5
(PCINT22/OC0A/AIN0) PD6
(PCINT23/AIN1) PD7
(PCINT0/CLKO/ICP1) PB0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
28
27
26
25
24
23
22
21
20
19
18
17
16
15
PC5 (ADC5/SCL/PCINT13)
PC4 (ADC4/SDA/PCINT12)
PC3 (ADC3/PCINT11)
PC2 (ADC2/PCINT10)
PC1 (ADC1/PCINT9)
PC0 (ADC0/PCINT8)
GND
AREF
AVCC
PB5 (SCK/PCINT5)
PB4 (MISO/PCINT4)
PB3 (MOSI/OC2A/PCINT3)
PB2 (SS/OC1B/PCINT2)
PB1 (OC1A/PCINT1)
TQFP Top View
PD2 (INT0/PCINT18)
PD1 (TXD/PCINT17)
PD0 (RXD/PCINT16)
PC6 (RESET/PCINT14)
PC5 (ADC5/SCL/PCINT13)
PC4 (ADC4/SDA/PCINT12)
PC3 (ADC3/PCINT11)
PC2 (ADC2/PCINT10)
MLF Top View
PD2 (INT0/PCINT18)
PD1 (TXD/PCINT17)
PD0 (RXD/PCINT16)
PC6 (RESET/PCINT14)
PC5 (ADC5/SCL/PCINT13)
PC4 (ADC4/SDA/PCINT12)
PC3 (ADC3/PCINT11)
PC2 (ADC2/PCINT10)
32
31
30
29
28
27
26
25
32
31
30
29
28
27
26
25
(PCINT19/OC2B/INT1) PD3
(PCINT20/XCK/T0) PD4
GND
VCC
GND
VCC
(PCINT6/XTAL1/TOSC1) PB6
(PCINT7/XTAL2/TOSC2) PB7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
24
23
22
21
20
19
18
17
PC1 (ADC1/PCINT9)
PC0 (ADC0/PCINT8)
ADC7
GND
AREF
ADC6
AVCC
PB5 (SCK/PCINT5)
(PCINT19/OC2B/INT1) PD3
(PCINT20/XCK/T0) PD4
GND
VCC
GND
VCC
(PCINT6/XTAL1/TOSC1) PB6
(PCINT7/XTAL2/TOSC2) PB7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
24
23
22
21
20
19
18
17
PC1 (ADC1/PCINT9)
PC0 (ADC0/PCINT8)
ADC7
GND
AREF
ADC6
AVCC
PB5 (SCK/PCINT5)
(PCINT21/OC0B/T1) PD5
(PCINT22/OC0A/AIN0) PD6
(PCINT23/AIN1) PD7
(PCINT0/CLKO/ICP1) PB0
(PCINT1/OC1A) PB1
(PCINT2/SS/OC1B) PB2
(PCINT3/OC2A/MOSI) PB3
(PCINT4/MISO) PB4
NOTE: Bottom pad should be soldered to ground.
声明
本数据手册的典型值来源于对器件的仿真,以及其他基于相同产生工艺的
AVR
微控制器
的标定特性。本器件经过特性化之后将给出实际的最大值和最小值。
2
ATmega48/88/168
2545D–AVR–07/04
(PCINT21/OC0B/T1) PD5
(PCINT22/OC0A/AIN0) PD6
(PCINT23/AIN1) PD7
(PCINT0/CLKO/ICP1) PB0
(PCINT1/OC1A) PB1
(PCINT2/SS/OC1B) PB2
(PCINT3/OC2A/MOSI) PB3
(PCINT4/MISO) PB4
ATmega48/88/168
综述
方框图
ATmega48/88/168是基于 AVR增强型RISC
结构的½功耗
8
½
CMOS
微控制器。
由于其先
进 的 指 令 集 以 及 单 时 钟 周 期 指 令 执 行 时 间,
ATmega48/88/168
的 数 据 吞 吐 率 高 达
1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
Figure 2.
结构框图
GND
VCC
Watchdog
Timer
Watchdog
Oscillator
Power
Supervision
POR / BOD &
RESET
debugWIRE
PROGRAM
LOGIC
Oscillator
Circuits /
Clock
Generation
Flash
SRAM
CPU
EEPROM
AVCC
AREF
GND
8bit T/C 0
16bit T/C 1
A/D Conv.
2
DATABUS
8bit T/C 2
Analog
Comp.
Internal
Bandgap
6
USART 0
SPI
TWI
PORT D (8)
PORT B (8)
PORT C (7)
RESET
XTAL[1..2]
PD[0..7]
PB[0..7]
PC[0..6]
ADC[6..7]
3
2545D–AVR–07/04
AVR
内核具有丰富的指令集和
32
个通用工½寄存器。
所有的寄存器½直接与算术逻辑单
元
(ALU)
相连接,½得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种
结构大大提高了代码效率,
并且具有比普通的
CISC
微控制器最高至
10
倍的数据吞吐率。
ATmega48/88/168有如下特点: 4K/8K/16K字节的系统内可编程Flash(具有在编程过程中
还可以读的½力,即
RWW), 256/512/512
字节
EEPROM, 512/1K/1K
字节
SRAM,
23
个通用
I/O
口线,
32
个通用工½寄存器,三个具有比较模式的灵活的定时器 / 计数器
(T/C),
片内 / 外中断,
可编程串行
USART,
面向字节的两线串行接口,
一个
SPI
串行端口,
一个
6
路
10
½
ADC (TQFP
与
MLF
封装的器件具有
8
路
10
½
ADC),
具有片内振荡器
的可编程看门狗定时器,以及五种可以通过½件选择的省电模式。空闲模式时
CPU
停止
工½,而
SRAM、 T/C、 USART、两线串行接口、 SPI
端口以及中断系统继续工½;掉
电模式时晶½振荡器停止振荡,所有功½除了中断和硬件复½之外½停止工½,寄存器的
内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其
他部分则处于睡眠状态;
ADC
噪声抑制模式时
CPU
和所有的
I/O
模块停止运行,
而异步
定时器和
ADC
继续工½,以减少
ADC
½换时的开关噪声;
Standby
模式时振荡器工½
而其他部分睡眠,½得器件只消耗极少的电流,同时具有快速启动½力。
ATmega48/88/168
是以
Atmel
的高密度非易失性内存技术生产的。
片内
ISP Flash
可以通
过
SPI
接口、通用编程器,或引导程序进行多次编程。引导程序可以½用任意接口将应用
程序来下½½到应用
Flash
存储区。在更新应用
Flash
存储区时引导程序区的代码继续运
行,从而实现了
FLASH
的
RWW
操½。通过将
8
½
RISC CPU
与系统内可编程的
Flash
集成在一个芯片内,
ATmega48/88/168
为许多嵌入式控制应用提供了灵活而½成本的方
案。
ATmega48/88/168 AVR
有整套的开发工具,
包括
C
编译器,
宏汇编,
程序调试器 / 仿真器
和评估板。
ATmega48, ATmega88, 与
ATmega48、ATmega88
与
ATmega168
只是在存储器大小、
boot loader
支持及中断向量
长度上存在差别。
Table 1
给出了三种器件在存储器与中断向量长度方面的差别。
ATmega168 的兼容性
Table 1.
存储器大小简述
器件
ATmega48
ATmega88
ATmega168
Flash
4K
字节
8K
字节
16K
字节
EEPROM
256
字节
512
字节
512
字节
RAM
512
字节
1K
字节
1K
字节
中断向量长度
一个指令字 (16 ½ )
一个指令字 (16 ½ )
两个指令字 (32 ½ )
ATmega88
与
ATmega168
支持真正的同时读写自编程操½。芯片具有独立的
Boot
Loader
区,
SPM
指令只½在这个
FLASH
区里得到执行。
ATmega48
不支持同时读写操
而
½,它没有独立的
Boot Loader
区,
SPM
指令可以访问整个
Flash
区。
引脚说明
VCC
GND
数字电路的电源。
地。
端口
端口
B
为
8
½双向
I/O
口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
B(PB7..0)XTAL1/XTAL2/TOSC1 特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,端口被外部电路
/TOSC2
拉½时将输出电流。在复½过程中,即½系统时钟还未起振,端口
B
保持为高阻态。
通过对系统时钟选择½的设定,
PB6可½为反向振荡放大器与内部时钟操½电路的输入
。
通过对系统时钟选择½的设定,
PB7
可½为反向振荡放大器的输出。
4
ATmega48/88/168
2545D–AVR–07/04
ATmega48/88/168
系统½用内部
RC
振荡器时,通过设½
ASSR
寄存器的
AS2
½,可以将
PB7..6
½为异步
定时器
/
计数器
2
的输入口
TOSC2..1
½用。
端口
B
也可以用做其他不同的特殊功½,请参见
P 66 “
端口
B
的第二功½
”
与
P 22 “
系
统时钟及其选项
”
。
端口 C(PC5..0)
端口
C
为
7
½双向
I/O
口,
并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,端口被外部电路
拉½时将输出电流。在复½过程中,即½系统时钟还未起振,端口
C
保持为高阻态。
RSTDISBL½被编程时,
可将PC6½为一个I/O口½用。
因此,
PC6引脚与端口C其他引脚
的电特性是有区别的。
RSTDISBL½未编程时,PC6将½为复½输入引脚Reset。
此时,
即½系统时钟没有运行,
该引脚上出现的持续时间超过最小脉冲½度的½电平将产生复½信号。
最小脉冲½度在
P
38 Table 20
中给出。持续时间不到最小脉冲½度的½电平不会产生复½信号。
端口
C
也可以用做其他不同的特殊功½,请参见
P 69 “
端口
C
的第二功½
”
。
端口 D(PD7..0)
端口
D
为
8
½双向
I/O
口,
并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动
特性,可以输出和吸收大电流。½为输入½用时,若内部上拉电阻½½,端口被外部电路
拉½时将输出电流。在复½过程中,即½系统时钟还未起振,端口
D
呈现为三态。
端口
D
也可以用做其他不同的特殊功½,请参见
P 72 “
端口
D
的第二功½
”
。
AV
CC
AV
CC
为A/D½换器的电源。
½引脚
PC3..0与 PC7..6用于ADC时,
AVCC应通过一个½通
滤波器与
V
CC
连接。
不½用
ADC
时该引脚应直接与
V
CC
连接。
PC6..4
的电源则是由
V
CC
提供的。
AREF
为
ADC
的模拟基准输入引脚。
TQFP
与
MLF
封装芯片的
ADC7..6
引脚为两个
10
½
A/D
½换器的输入口,
它们的电压由
AVCC
提供。
本手册包含了一些简单的代码例子以说明如½½用芯片各个不同的功½。这些例子½假
定在编译之前已经包含了正确的头文件。有些
C
编译器在头文件里并没有包含½定义和
中断,而且各个
C
编译器对中断处理有自己不同的处理方式。请注意查阅其文档以获取
具½的信息。
PC6/RESET
AREF
ADC7..6 (TQFP 与 MLF 封装
)
代码例子
5
2545D–AVR–07/04
评论