Atmega8的详细参数
的有关信息介绍如下:ATmega8 参数 ATmega8存储器 Flash ROM 8KB SRAM 1024B EEPROM 512B ATmega8性能参数特性 工作频率 0-8MHz (ATmega8L) 0-16MHz (ATmega8) 工作电压 2.7-5.5V (ATmega8L) 4.5-5.5V (ATmega8) I/O口 23个 16位定时器 / 计数器 1 8位定时器 / 计数器 2 PWM 3 RTC YES SPI 1 UART 1 TWI YES 10位ADC 6(DIP)
8(TQFP / MLF) 模拟比较器 1 WDT 1(带独立片内振荡器) 外部中断 2 睡眠模式 5种 硬件乘法器 YES 片内振荡器 YES 引脚电平中断/唤醒功能 NO 掉电检测 YES 上电复位 YES ATmega8封装与引脚数 PDIP 28PIN QFP 32PIN QFN / MLF 32PIN ATmega8编程与调试方式 编程方式 ISP IAP H/PV 仿真方式 仿真头接入,
模拟式仿真 4 ATmega8(L)
2486N–AVR–07/04
AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元
(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结
构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。
ATmega8 有如下特点:8K 字节的系统内可编程Flash( 具有同时读写的能力,即RWW),
512 字节 EEPROM,1K 字节 SRAM,32 个通用I/O 口线,32 个通用工作寄存器,三个
具有比较模式的灵活的定时器/ 计数器(T/C), 片内/ 外中断,可编程串行USART,面向
字节的两线串行接口, 10 位6 路 (8 路为TQFP 与MLF 封装)ADC,具有片内振荡器的
可编程看门狗定时器,一个SPI 串行端口,以及五种可以通过软件进行选择的省电模式。
工作于空闲模式时CPU 停止工作,而SRAM、T/C、 SPI 端口以及中断系统继续工作;
掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省
电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠
状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工
作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余
功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。
本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通
过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程
序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application
Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续
运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个
芯片内,ATmega8 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低
成本的解决方案。
ATmega8 具有一整套的编程与系统开发工具,包括:C 语言编译器、宏汇编、 程序调试
器/ 软件仿真器、仿真器及评估板。
声明本数据手册的典型值来源于对器件的仿真,以及其他基于相同产生工艺的 AVR 微控制器
的标定特性。本器件经过特性化之后将给出实际的最大值和最小值。
5
ATmega8(L)
2486N–AVR–07/04
引脚说明
VCC 数字电路的电源。
GND 地。
端口B(PB7..PB0)
XTAL1/XTAL2/TOSC1/TOSC2
端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特
性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉
低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。
通过时钟选择熔丝位的设置, PB6 可作为反向振荡放大器或时钟操作电路的输入端。
通过时钟选择熔丝位的设置PB7 可作为反向振荡放大器的输出端。
若将片内标定RC 振荡器作为芯片时钟源,且ASSR 寄存器的AS2 位设置,PB7..6 作为
异步 T/C2 的TOSC2..1 输入端。
端口B 的其他功能见P 55“ 端口B 的第二功能” 及P 22“ 系统时钟及时钟选项” 。
端口C(PC5..PC0) 端口C 为7 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特
性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉
低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。
PC6/RESET 若RSTDISBL 熔丝位编程, PC6 作为I/O 引脚使用。注意PC6 的电气特性与端口C 的
其他引脚不同
若RSTDISBL 熔丝位未编程,PC6 作为复位输入引脚。持续时间超过最小门限时间的低
电平将引起系统复位。门限时间见P 35Table 15 。持续时间小于门限时间的脉冲不能保
证可靠复位。
端口C 的其他功能见后。
端口D(PD7..PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特
性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路
拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。
端口D 的其他功能见后。
RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。门限时间见 P
35Table 15 。持续时间小于门限时间的脉冲不能保证可靠复位。
30 ATmega8(L)
2486N–AVR–07/04
电源管理及睡眠模式睡眠模式可以使应用程序关闭MCU 中没有使用的模块,从而降低功耗。AVR 具有不同
的睡眠模式,允许用户根据自己的应用要求实施剪裁。
进入睡眠模式的条件是置位寄存器MCUCR 的SE,然后执行SLEEP 指令。具体哪一种
模式( 空闲模式、ADC 噪声抑制模式、掉电模式、省电模式及Standby 模式) 由MCUCR
的SM2、SM1 和SM0 决定,如Table 13 所示。使能的中断可以将进入睡眠模式的MCU
唤醒。经过启动时间,外加4 个时钟周期后, MCU 就可以运行中断例程了。然后返回到
SLEEP的下一条指令。唤醒时不会改变寄存器文件和SRAM的内容。如果在睡眠过程中发
生了复位,则MCU 唤醒后从中断向量开始执行。
注意,由于TOSC 与XTAL 共用同一引脚,对于许多AVR MCU 中有的扩展Standby 模
式在ATmega8 中已删除。
P 22Figure 10 介绍了ATmega8不同的时钟系统及其分布。此图在选择合适的睡眠模式时
非常有用。
MCU 控制寄存器- MCUCR MCU 控制寄存器包含了电源管理的控制位。
· Bit 7 – SE: 休眠使能
为了使MCU 在执行SLEEP 指令后进入休眠模式, SE 必须置位。为了确保进入休眠模
式是程序员的有意行为,建议仅在SLEEP 指令的前一条指令置位SE。MCU 一旦唤醒立
即清除SE。
· Bits 6..4 – SM2..0: 休眠模式选择位 2、1 和0
如 Table 13 所示,这些位用于选择具体的休眠模式。
Note: 1. 仅在使用外部晶体或谐振器时Standby 模式才可用。
Bit 7 6 5 4 3 2 1 0
SE SM2 SM1 SM0 ISC11 ISC10 ISC01 ISC00 MCUCR
读/ 写R/W R/W R/W R/W R/W R/W R/W R/W
初始值0 0 0 0 0 0 0 0
Table 13. 休眠模式选择
SM2 SM1 SM0 休眠模式
0 0 0 空闲模式
0 0 1 ADC 噪声抑制模式
0 1 0 掉电模式
0 1 1 省电模式
1 0 0 保留
1 0 1 保留
1 1 0 Standby(1) 模式