一、体系结构
Atmel AVR RISC 微控制器:
RISC代表精简计算指令集,该设备使用了精简的机器级指令,使运行速度更快。
微控制器是为了优化硬件控制而将整个处理器、存储器和所有I/O外设封装到单个硅片中的完整的计算机系统。
二、Atmel Risc处理器
2.1 存储器
2.1.1 FLASH代码存储器
用来存储可执行代码和常量,可重复编写,掉电数据不会消失。
2.1.2 数据存储器
包含32个通用寄存器、64个I/O寄存器、SRAM(部分AVR还包括扩展I/O寄存器)。
通用寄存器:存储程序运行过程中的局部变量和其他暂时性数据,甚至还可以存储全局变量。
I/O寄存器:用于微控制器上I/O设备和外设的接口。
内部SRAM:通用变量存储器空间,同时也是处理器的堆栈。
2. 1. 2.1 寄存器
32个通用工作寄存器用来保存暂时或中间的计算结果,用于存储局部变量或全局变量或存储指向处理器要用的存储单元的指针,一般在程序运行时才能用到这32个通用工作寄存器。
2.1.2.2 I/O寄存器
每一个寄存器都提供对为控制器内部的I/O外设的控制寄存我或数据寄存器的访问。
每个I/O寄存器都有一个名字、一个I/O地址和一个SARM地址。
2.1.2.3 SRAM
SRAM存储器区域是用来存储那些不适合存放在寄存器中的变量,用于存储处理器堆栈。
处理器用于堆栈的存储器空间来暂时保存函数的返回地址、计算的中间的结果和其他短期的、暂时性的数据。
2.1.3 EEPROM存储器
存储器中饭的EEPROM区域是一块可以读/写的非易失存储空间的区域。它常被用来 存放那些在掉电以后不能丢失的微控制器要反复运行的数据。
2.2 复位和中断功能
2.2.1 中断
设置MUC控制寄存器(MCUCR)中的中断感应位(ISB)。
2.2.2 复位
复位(reset)用来将微控制器预先置为一个已知状态,使它能够重新从代码存储器的0X000存储单元开始执行程序。
复位是一种特殊中断。有三个原因可以引起复位:外部复位引脚上超过50ns的逻辑低信号;微控制器的上电复位操作;watchdog计时器的超时信号。
看门狗的时钟触发信号的振荡器是独立于系统时钟的,它的频率取决于加载处理器上的工作电压。
2.3 并行I/O口
每个并行I/O端口都有3个相关的I/O寄存器:数据定向寄存器DDRx、端口驱动寄存器PORTx、端口引脚寄存器PINx。
数据定向寄存器DDRx:作用是确定那些位用来输入