立即注册 找回密码

微雪课堂

搜索
微雪课堂 AVRAVR单片机内核剖析
订阅

AVR单片机内核剖析

ATmega32 外部RC振荡器
AVR对于时间不敏感的应用可以使用Figure 13 的外部RC 振荡器。频率可以通过方程f =1/(3RC) 进行粗略地鼓估计。电容C 至少要22 pF。通过编程熔丝位CKOPT,用户可以使能XTAL1 和GND 之间的片内 36 pF 电容,从而无需外 ...
分类:    2015-5-27 23:41
ATmega32 低频晶体振荡器
为了使用32.768 kHz 钟表晶体作为器件的时钟源,必须将熔丝位CKSEL 设置为“1001”以选择低频晶体振荡器。晶体的连接方式如Figure 12 所示。通过对熔丝位CKOPT 的编程,用户可以使能XTAL1 和XTAL2 的内部电容,从而 ...
分类:    2015-5-27 23:26
ATmega32 晶体振荡器
XTAL1 与XTAL2 分别为用作片内振荡器的反向放大器的输入和输出,如Figure 12 所示,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔丝位CKOPT 用来选择这两种放大器模式的其中之一。当CKOPT 被编程时振荡器在 ...
分类:    2015-5-27 23:12
ATmega32 时钟源
ATmega32芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。不同的时钟选项将在后续部分进行介绍。当 CPU 自掉电模式或省电模式唤醒之后,被选 择的时钟源用来为启动过 ...
分类:    2015-5-27 23:12
ATmega32 时钟系统及其分布
时钟系统及其分布Figure 11为AVR的主要时钟系统及其分布。这些时钟并不需要同时工作。为了降低功耗,可以通过使用不同的睡眠模式来禁止无需工作的模块的时钟,详见P30“ 电源管理及睡眠模式” 。时钟系统详见Figure ...
分类:    2015-5-27 23:11
ATmega32 I/O存储器
ATmega32 的I/O 空间定义见 P283“ 寄存器概述” 。ATmega32所有的I/O及外设都被放置于I/O I/O位置都可以通过IN 与OUT指 令来访问,在32个通用工作寄存器和 I/O之间传输数据。 地址为0x00 - 0x1F 的I/O寄存 器还可用 ...
分类:    2015-5-27 23:11
ATmega32 EEPROM数据存储器
ATmega32包含1024 字节的EEPROM数据存储器。它是作为一个独立的数据空间而存在 的,可以按字节读写。EEPROM 的寿命至少为 100,000 次擦除周期。EEPROM的访问 由地址寄存器、数据寄存器和控制寄存器决定。P240 “ 存 ...
分类:    2015-5-27 23:11
ATmega32 SRAM数据存储器
SRAM数据存储器Figure 9 给出了ATmega32 SRAM 空间的组织结构。前2144 个数据存储器包括了寄存器文件、I/O 存储器及内部数据SRAM。起始的96 个地址为寄存器文件与I/O 存储器,接着是2048 字节的内部数据SRAM。数据存 ...
分类:    2015-5-27 23:10
ATmega32 Flash程序存储器
系统内可编程的Flash 程序存储器ATmega32具有32K字节的在线编程Flash,用于存放程序指令代码。因为所有的AVR指令为16 位或32 位,故而Flash 组织成16K x 16 位的形式。用户程序的安全性要根据Flash程序存储器的两个 ...
分类:    2015-5-27 23:10
ATmega32 复位与中断处理
AVR有不同的中断源。每个中断和复位在程序空间都有独立的中断向量。所有的中断事件都有自己的使能位。当使能位置位,且状态寄存器的全局中断使能位I 也置位时,中断可以发生。根据程序计数器PC 的不同,在引导锁定位 ...
分类:    2015-5-27 23:10
ATmega32 指令执行时序
这一节介绍指令执行过程中的访问时序。AVR CPU 由系统时钟clkCPU 驱动。此时钟直接来自选定的时钟源。芯片内部不对此时钟进行分频。
分类:    2015-5-27 23:09
ATmega32 堆栈指针
堆栈指针主要用来保存临时数据、局部变量和中断/ 子程序的返回地址。堆栈指针总是指向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数值将减小。堆栈指针指向数据SRAM 堆栈区。在此聚 ...
分类:    2015-5-27 23:09
ATmega32 通用寄存器
文件寄存器文件针对AVR增强型RISC指令集做了优化。为了获得需要的性能和灵活性,寄存器文件支持以下的输入/ 输出方案:·输出一个 8 位操作数,输入一个 8 位结果·输出两个 8 位操作数,输入一个 8 位结果·输出两 ...
分类:    2015-5-27 23:09
ATmega32 状态寄存器
状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行 ...
分类:    2015-5-27 23:09
ATmega32 ALU
ALU- 算术逻辑单元AVR ALU 与32 个通用工作寄存器直接相连。寄存器与寄存器之间、寄存器与立即数之间的ALU 运算只需要一个时钟周期。ALU 操作分为3 类:算术、逻辑和位操作。此外还提供了支持无/ 有符号数和分数乘法 ...
分类:    2015-5-27 23:08
内核剖析
    01Atmega16
    深入剖析Atmega16芯片内核
    02Atmega48
    深入剖析Atmega48芯片内核
    03ATmega8
    深入剖析ATmega8芯片内核
    04ATmega128
    深入剖析ATmega128芯片内核
    05ATmega64
    深入剖析ATmega64芯片内核
    06ATmega32
    深入剖析ATmega32芯片内核
    07ATmega168
    深入剖析ATmega168芯片内核
    08ATtiny13
    深入剖析ATtiny13芯片内核
    09ATmega88
    深入剖析ATmega88芯片内核
    010ATtiny2313
    深入剖析ATtiny2313芯片内核
AVR

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-26 16:27 , Processed in 0.020217 second(s), 9 queries .

返回顶部