ATmega16单片机的特点和内部结构解析

下面就总结一下avr单片机atmega16的主要特点:
(注: 括号内有红色 *x*符号的表示文章下方会有解释/扩展)
1) 采用 risc 结构的avr内核单片机。
131 条机器指令, 大多数指令为单个系统时钟周期执行的指令;
32 个 8 位通用工作寄存器;
全静态工作方式(fully static operation)。 (*a*)
工作在 16 mhz 时具有 16 mips 的性能。(注:atmega16l 系列最大工作频率为 8 mhz);
内部配备有 2 个时钟周期的硬件乘法器。
2)片内自带大容量, 非易失的程序和数据存储器 (*b*)
16kb 在线可编程(isp,in-system programming)flash 程序存储器(擦写次数》10 000), 采用 boot load 技术支持iap(in-application programming)功能。
1kb片内 sram 数据存储器, 可以实现 3 级锁定的程序加密;
512 字节片内 isp 的eeprom 数据存储器(擦鞋次数》100 000);
3) 片内含jtag接口
支持符合 jtag 标准(与ieee 1149.1 标准兼容)的边界扫描功能, 用于芯片检测;
支持扩展的片内在线调试功能;
可通过 jtag 接口对片内 flash, eeprom, 熔丝位和加密锁定位实现下载编程; (*c*)
4) 外围接口
2 个带有分别独立和可设置预分频的 8 位定时/计数器;
1 个带有可设置预分频器, 具有比较, 捕捉功能的 16 位定时/计数器;
片内含独立振荡器的实时时钟 rtc;
4 路 pwm 通道;
8 路 10 位 adc;
面向字节的两线接口 twi(two—wire serial interface, 完全兼容 iic 总线硬件接口);
1 个可编程, 增强型全双工, 支持同步/异步通信的串行接口 usart;
1 个可工作于主机/从机模式的 spi (serial peripheral interface bus)串行接口(支持 isp 程序下载);
片内集成模拟比较器; (*d*)
片内含有可编程的具有独立片内震荡期的看门狗定时器 wdt;
5)其他特点
内含上电复位电路以及可编程的掉电检测复位电路 bod(brown-out detection);
片内含有 1/2/4/8 mhz 经过标定的, 可校正的 rc 震荡器, 可作为系统时钟使用;
21 种内外部中断源; (*e*)
6 种休眠模式(空闲模式、adc 噪声抑制模式、省电模式、掉电模式、standby 模式以及
扩展的standby 模式), 支持节电方式工作;
32 个可编程 i/o 口。 封装方式有:40脚 pdip 封装, 44 脚 tqfp 封装, 与44 脚的 mlf 封装;(*f*)
工作电压: atmega16l 为 2.7~5.5v, atmega16 为 4.5~5.5v;
运行速度: atmega16l为 0~8mhz, atmega16为0~16mhz;
功耗指标: atmega16l 工作在 1mhz, 3v, 25摄氏度时:典型功耗为 1.1ma,空闲模式为 0.35ma,掉电模式为 《 1ua;
注释a:
全静态工作方式就是时钟停止振荡(而且手册中也说了工作频率是 0~8/16mhz), 但是寄存器和数据存储器(atmega16采用的是 sram 存储器, 所以不必进行定时刷新)的数据不会丢失。 前提是你电源得存在, 不然就关机了不是?
注释b:
atmega16 单片机的 flash 程序存储器空间可以分为两段: 引导程序段(boot program section)和应用程序段(application program section)。 两段的读/写保护可以分别通过设置对应的锁定位(lock bits)来实现。 在引导程序段内驻留的引导程序中, 可以使用 spm 指令实现对应用程序段的写操作(即实现 iap 功能, 使系统能自懂更新系统程序)。 在 avr 中, 所有的存储空间都是线型的。 sram 可以通过 6 种不同的寻址方式进行访问。(分别是: 数据存储器空间直接/间接寻址, 带后增/预减量的数据存储器空间的寄存器间接寻址, 带位移的数据存储器空间的寄存器间接寻址, 数据存储器空间堆栈寄存器 sp 间接寻址)。
注释c:
熔丝是一个保护知识产权的设计。就是在特定的引脚上加上电压,足够的电流,就可以烧断里边的这根熔丝(avr的熔丝可以多次编程, 并不是 otp 熔丝),烧断以后,片里的程序就不可以被读出来也不能改写了,只能用来运行。 通过设定和配置 avr 单片机的熔丝位, 我们就可以使 avr 具有不同特性的功能组合, 更加适合实际的使用和学习。 出厂时不同熔丝位的设定值是不同的, 一定要注意区分, 熔丝位的配置在 avr 单片机中非常重要, 配置不好可能会锁死单片机或者不能正常工作; 配置之前一定要对照datasheet 手册仔细核对准; 一定要发篇博客总结学习下。
注释d:
比较器是通过比较两个输入端的电流或电压的大小,在输出端输出不同电压结果的电子元件。比较器常被用于模数转换电路中。 使用 avr 的模拟比较器就可以构成 adc 转换器;avr 单片机在复位后, 模拟比较器是处于允许工作状态的。 如果不使用它, 就把寄存器 acsr 的 acd 位设置为 1, 以关闭模拟比较器减少电源消耗; 与其相关的寄存器是 sfior 和 acsr. avr 的模拟比较器是 avr 的中断源之一;
注释e:
这 21 个内外部中断源是(按优先级排序):
avr单片机中断向量区向量号flash空间地址中断源
中断定义说明
1 $000reset外部引脚电平引发的复位, 上电复位, 掉电检测复位,
看门狗复位, jtag avr 复位 2 $002int0外部中断 0 3 $004int1外部中断 1 4 $006timer 2 comp定时/计数器 2 比较匹配 5 $008timer 2 ovf定时/计数器 2 溢出 6 $00atimer 1 capt定时/计数器 1 事件捕捉 7 $00ctimer 1 compa定时/计数器 1 比较匹配 a 8 $00etimer 1 compb定时/计数器 1 比较匹配 b 9 $010timer 1 ovf定时/计数器 1 溢出 10 $012timer 0 ovf定时/计数器 0 溢出 11 $014spi stcspi 串行传输结束 12 $016usart rxcusart, 接收结束 13 $018usart uxreusart, 数据寄存器空 14 $01ausart txcusart, 发送结束 15 $01cadca/c 转换结束 16 $01eee_rdyeeprom 就绪 17 $020ana_comp模拟比较器 18 $022twi两线串行接口 19 $024int2外部中断请求 2 20 $026timer 0 comp定时/计数器 0 比较匹配 21 $028spm_rdy保存程序存储器内容就绪
中断向量区大小 = 中断源个数 x 每个中断向量占据字数
其中中断还分为可屏蔽中断和不可屏蔽中断(avr 中复位为唯一一个不可屏蔽的中断)。
注释f:
avr 单片机的 i/o 口共 32 个, 分为 4 组端口, 每组 8 个;4 个端口的第一功能是通用的双向 i/o 口, 每位都要通过指令设置为独立的输入/输出口。 设置为输入时内部自带有上拉电阻, 这些内部上拉可以通过编程设置为有效或者无效。 当输出高电平时, 可输出 20ma 的电流, 而当输出低电平时,可以吸收 40ma 的电流。 因此 avr 可以直接驱动数码管和 led 发光二极管。 另外要注意的就是, avr 单片在复位后, 所有的 i/o 口都是默认为输入方式的, 上拉电阻无效, 即i/o为输入高阻的三态状态。 i/o空间为连续的 64 个 i/o 寄存器空间, 他们分别对应单片机各个外围功能的控制和数据寄存器地址。 i/o 寄存器空间可使用 i/o 寄存器访问指令直接访问, 也可将其映射为通用工作寄存器组后的数据存储器空间, 使用数据存储器访问指令进行操作。 i/o 寄存器空间在数据存储器空间的映射地址为 $020--&05f.
下图是 avr 单片机的内部结构框图:
来源;21ic

ARM核心板在溯源秤中的应用
太阳能逆变器的分类与详细简介
SiC驱动模块的应用与发展
cpld芯片选型
全球封测市场的发展趋势如何
ATmega16单片机的特点和内部结构解析
荧光显微镜原理特点及使用
小米平板3怎么样系统流畅吗?小米平板3体验评测
ARM+IVE建推动智能视频监控行业的车轮
英特尔携手医渡云构建高效多方安全计算解决方案
锂电池保护板的技术指标与重要参数有哪些?专业介绍来了
拜腾首款量产SUV细节公布 配备了一块48英寸的超大液晶屏
ICLR 2019论文解读:胶囊图神经网络的PyTorch实现
太阳能发电光伏板
如何安全实现车载网络通信?
扫地机器人最不能容忍的23个问题
颠覆你的想象-WALL-E瓦力机器人机箱
基于DSP芯片实现5kw光伏并网发电装置的设计
苹果或推出一款配有柔性屏的iMac Pro 用一整块玻璃制造iMac
realme X详细曝光采用了升降全面屏设计支持超级夜景