当前位置:首页 >> 信息与通信 >>

Atmega16


ATmega16 单片机

Atmega16 单片机介绍 ATmega16 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由 于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。 ATmega16 AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存 器都直接与算逻单元(ALU) 相连接, 使得一条指令可以在一个时钟周期内同时访问两 个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC 微控制器 最高至 10 倍的数据吞吐率。 ATmega16 有如下特点:16K 字节的系统内可编程 Flash(具有同时读写的能力, 即 RWW),512 字节 EEPROM,1K 字节 SRAM,32 个通用 I/O 口线,32 个通用 工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比较模 式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行 USART,有起始条件检 测器的通用串行接口,8 路 10 位具有可选差分输入级可编程增益(TQFP 封装) 的 A DC ,具有片内振荡器的可编程看门狗定时器,一个 SPI 串行端口,以及六个可以 通过软件进行选择的省电模式。

工作于空闲模式时 CPU 停止工作,而 USART、两线接口、A/D 转换器、SRA M、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有 功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允 许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终 止 CPU 和除了异步定时器与 ADC 以外所有 I/O 模块的工作,以降低 ADC 转换时 的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠 状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下 则允许振荡器和异步定时器继续工作。 本芯片是以 Atmel 高密度非易失性存储器技术生产的。片内 ISP Flash 允许程 序存储器通过 ISP 串行接口,或者通用编程器进行编程,也可以通过运行于 AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用 F lash 存储区(ApplicationFlash Memory)。 在更新应用 Flash 存储区时引导 Flash 区(B oot Flash Memory)的程序继续运行,实现了 RWW 操作。 通过将 8 位 RISC CP U 与系统内可编程的 Flash 集成在一个芯片内, ATmega16 成为一个功能强大的 单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16 具有 一整套的编程与系统开发工具,包括:C 语言 编译器、宏汇编、 程序调试器/ 软件 仿真器、仿真器及评估板。 2.1.1 ATmega16 产品特性 u 高性能、低功耗的 8 位 AVR 微处理器 l 先进的 RISC 结构 l 131 条指令 l 大多数指令执行时间为单个时钟周期 l 32 个 8 位通用工作寄存器 l 全静态工作 l 工作于 16MHz 时性能高达 16MIPS l 只需两个时钟周期的硬件乘法器 l 非易失性程序和数据存储器 l 16K 字节的系统内可编程 Flash,擦写寿命: 10,000 次 l 具有独立锁定位的可选 Boot 代码区,通过片上 Boot 程序实现系统内编程,真 正的同时读写操作 l 512 字节的 EEPROM,擦写寿命: 100,000 次 l 1K 字节的片内 SRAM l 可以对锁定位进行编程以实现用户程序的加密 l JTAG 接口( 与 IEEE 1149.1 标准兼容) l 符合 JTAG 标准的边界扫描功能 l 支持扩展的片内调试功能 l 通过 JTAG 接口实现对 Flash、EEPROM、熔丝位和锁定位的编程 外设特点

u 两个具有独立预分频器和比较器功能的 8 位定时器/计数器 l 一个具有预分频器、比较功能和捕捉功能的 16 位定时器/计数器 l 具有独立振荡器的实时计数器 RTC l 四通道 PWM l 8 路 10 位 ADC,8 个单端通道,2 个具有可编程增益(1x, 10x, 或 200x)的 差分通道 l 面向字节的两线接口 l 两个可编程的串行 USART l 可工作于主机/ 从机模式的 SPI 串行接口 l 具有独立片内振荡器的可编程看门狗定时器 l 片内模拟比较器 u 特殊的处理器特点 l 上电复位以及可编程的掉电检测 l 片内经过标定的 RC 振荡器 l 片内/片外中断源 l 6 种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Stand by 模式以及扩展的 Standby 模式 u I/O 和封装 l 32 个可编程的 I/O 口 l 40 引脚 PDIP 封装, 44 引脚 TQFP 封装, 与 44 引脚 MLF 封装 u 工作电压: l ATmega16L:2.7 - 5.5V l ATmega16:4.5 - 5.5V u 速度等级 l 8MHz ATmega16L l 0-16MHz ATmega16 u ATmega16L 在 1MHz, 3V, 25°C 时的功耗 l 正常模式: 1.1 mA l 空闲模式: 0.35 mA l 掉电模式: < 1 ?A 2.1.2 ATmega16 引脚功能 引脚名称 引脚功能说明 VCC 电源正 GND 电源地 端口 A(PA7..PA0) 端口 A 做为 A/D 转换器的模拟输入端。 端口 A 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出 和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输 出电流。在复位过程中,即使系统时钟还未起振,端口 A 处于高阻状态。

端口 B(PB7..PB0) 端口 B 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。 其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内 部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟 还未起振,端口 B 处于高阻状态。 端口 B 也可以用做其他不同的特殊功能. 端口 C(PC7..PC0) 端口 C 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。 其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内 部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟 还未起振,端口 C 处于高阻状态。如果 JTAG 接口使能,即使复位出现引脚 PC5(T DI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口 C 也可以用做其他不同的特 殊功能. 端口 D(PD7..PD0) 端口 D 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。 其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内 部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时 钟还未起振,端口 D 处于高阻状态。端口 D 也可以用做其他不同的特殊功能. RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。 门限时间见 P36Table 15。持续时间小于门限间的脉冲不能保证可靠复位。 XTAL1 反向振荡放大器与片内时钟操作电路的输入端。 XTAL2 反向振荡放大器的输出端。 AVCC AVCC 是端口 A 与 A/D 转换器的电源。不使用 ADC 时,该引脚应直接与 VCC 连接。使用 ADC 时应通过一个低通滤波器与 VCC 连接。 AREF A/D 的模拟基准输入引脚。 2.1.3 ATmega16 内核介绍 右边为 AVR 结构的方框图 为了获得最高的性能以及并行性, AVR 采用了 Harvard 结构,具有独立的数 据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的 同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程 序存储器是可以在线编程的 FLASH。 快速访问寄存器文件包括 32 个 8 位通用工作寄存器,访问时间为一个时钟周 期。从而实现了单时钟周期的 ALU 操作。在典型的 ALU 操作中,两个位于寄存器 文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程 仅需一个时钟周期。 寄存器文件里有 6 个寄存器可以用作 3 个 16 位的间接寻址寄存器指针以寻址 数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址 指针。这些附加的功能寄存器即为 16 位的 X、Y、Z 寄存器。 ALU 支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU 也可以执 行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。

程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址 空间。大多数指令长度为 16 位,亦即每个程序存储器地址都包含一条 16 位或 32 位的指令。 程序存储器空间分为两个区:引导程序区(Boot 区) 和应用程序区。这两个区都 有专门的锁定位以实现读和读/ 写保护。用于写应用程序区的 SPM 指令必须位于引 导程序区。 在中断和调用子程序时返回地址的程序计数器(PC) 保存于堆栈之中。堆栈位于 通用数据 SRAM,因此其深度仅受限于 SRAM 的大小。在复位例程里用户首先要初 始化堆栈指针 SP。这个指针位于 I/O 空间,可以进行读写访问。数据 SRAM 可以 通过 5 种不同的寻址模 式进行访问。 AVR 存储器空间为线性的平面结构。 AVR 有一个灵活的中断模块。控制寄存器位于 I/O 空间。状态寄存器里有全局中 断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在 中断向量表的位置有关,中断向量地址越低,优先级越高。 I/O 存储器空间包含 64 个可以直接寻址的地址, 作为 CPU 外设的控制寄存器、 SPI, 以及其他 I/O 功能。 映射到数据空间即为寄存器文件之后的地址 0x20 - 0x5F。


相关文章:
基于AVR单片机--Atmega16的1602液晶使用
基于AVR单片机--Atmega16的1602液晶使用_电子/电路_工程科技_专业资料。本文使用AVR单片机Atmega16控制1602液晶,并能够使液晶显示字符基于...
ATmega16+LCD12864液晶显示程序
http://www.hpinfotech.com Chip type : ATmega16 Program type : Application AVR Core Clock frequency: 4.000000 MHz Memory model : Small External RAM ...
ATmega16熔丝位详解
ATmega16 熔丝位详解初学者对熔丝经常不解,AVR 芯片使用熔丝来设定时钟、启动时间、一些功能的 使能、BOOT 区设定、当然还有最让初学者头疼的保密位,设不好锁了...
ATmega16最小系统
下载软件的使用 2.1.1 单片机最小系统 2.1.2 编译软件 2.2.1 下载软件 Progisp 的使用 第三章 熟悉 ATmega16 的片上资源 3.1.1 会看芯片数据手册的重要...
ATMEGA16的IO端口
ATMEGA16的IO端口_信息与通信_工程科技_专业资料。avr单片机io口原理讲解 第九课 ATmega16(L)的 IO 端口 本教程节选自周兴华老师《手把手教你学 AVR 单片机 C ...
基于ATMega16单片机闹钟设计
基于ATMega16单片机闹钟设计_电子/电路_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 基于ATMega16单片机闹钟设计_电子/电路_工程科技_专业资料。需要两个...
ATMEGA16程序实例
ATMEGA16程序实例_计算机软件及应用_IT/计算机_专业资料。本人用 ICCAVR 编程软件编辑的产生 2KHz 方波的程序,所用单片机为 ATMEG16. #include "iom16v.h" #inc...
AVR单片机ATmega16最小系统电路图
AVR 单片机 ATmega16 最小系统电路图编辑: Dz3w.Com 文章来源:网络我们无意侵犯您的权益 ,如有侵犯请 [联系我们 ] 下面以本网站推荐的 AVR 入门芯片 ATmega16...
ATmega16熔丝位设置
ATmega16 熔丝位详解 初学者对熔丝经常不解, AVR 芯片使用熔丝来设定时钟、 启动时间、 一些功能的使能、 BOOT 区设定、当然还有最让初学者头疼的保密位,设不好...
Atmega16单片机介绍
Atmega16 单片机介绍 ATmega16 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器.由于其先进 的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率...
更多相关标签: