AVR嵌入式C编程学习笔记

这篇博客详细介绍了AVR RISC微控制器的体系结构,包括存储器(FLASH、数据存储器、EEPROM)、复位和中断功能、并行I/O口、计时器/计数器、串行通信(UART、SPI)以及模拟接口。深入探讨了如定时器的工作原理、中断系统、I/O口配置、串行通信协议的实现和模拟信号的处理。
摘要由CSDN通过智能技术生成

一、体系结构

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:作用是确定那些位用来输入

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值