arduino笔记4:AVR微控制器 + 外围功能

本文深入介绍了AVR微控制器的外围功能,包括控制寄存器、数字I/O端口、8位和16位定时器/计数器、模拟比较器、模数转换器、串行I/O、中断和看门狗定时器,以ATmega168为例阐述其工作原理和应用。
摘要由CSDN通过智能技术生成

下面是AVR微控制器的详细组成和相关参数的简介,对我们学习arduino有一定的辅助作用,当然刚开始用arduino可能会用不到,但是可以先了解一下。

 

目录

(一)外围功能

1)控制寄存器

2)数字I/O端口

3)8位定时器/计数器

正常模式(Normal mode)

CTC(Clear Timer on Compare)模式

快速PWM模式

相位校正PWM模式

4)16位定时器/计数器

5)定时器/计数器预分频器

(二)模拟比较器

(三)模数转换器

(四)串行I/O

(五)中断

(六)看门狗定时器

(七)电气特性


 

(一)外围功能

AVR微控制器的”心脏“是一块8位的CPU,但让它真正有用的是其内置的外围功能,这些功能被集成到IC(Integrated Circuit Chip),并带有CPU逻辑。比同类型的AVR设备,其外围功能也有所不同。有些只有一个定时器,而有些则有两个或更多(有的多达6个)。有些拥有10位的A/D转换器(ADC),而另一些的则为12位。所有AVR器件都为离散的数字信号提供双向I/O引脚。有些版本也提供触屏支持,以及其他一些交互接口。

这里将以ATmega168为例子进行讲解,并且只介绍通用的外围功能。当然更多的就需要查阅Atmel技术文档了。

1)控制寄存器

控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。除了CPU中的32个通用寄存器之外,AVR设备也含有一些控制寄存器,它们用于控制I/O端口、定时器、通信端口以及其他功能的工作方式。控制寄存器的设置因设备类型的不同而不同,因为不同类型的设备可能会有不同数量的端口,以及不同的外围功能配置。

即使是ATmega168这类略显保守的AVR器件,也拥有很多内部功能。若每个引脚只分配一项功能,那么它所拥有的引脚是远远不够的。由于这个原因,AVR微控制器上的大多数引脚都能被重新配置为“基于控制寄存器中的设置执行特定功能”。因为引脚功能是可动态配置的,所以我们可以让一个引脚在某个时间点执行一种功能,然后当控制寄存器的值发生改变时,使其执行另一项功能。

比如,ATmega168采用的是28引脚的DIP封装方式,它的第12号引脚连接到PD6(端口D,位6),但它也可以被配置为中断源(PCINT22)、AVR内部模拟比较器(AIN0)的正向输入,或者用作定时器比较逻辑电路(Timer/Counter0输出比较匹配A)的输出,用于产生PWM(脉冲宽度调制)信号。

2)数字I/O端口

AVR微控制器使用双向I/O端口与外部世界进行通信。端口是一个8位的寄存器,它的部分位或所有位会被连接到AVR设备封装的物理引脚上。不同类型的AVR设备拥有不同数量的端口。

端口的每个引脚都由内部逻辑进行控制,这些内部逻辑管理着信号方向、内部上拉电阻的状态、计时以及其他功能。下面是AVR I/O端口的简图,图中Px表示point bit/pin x(0~7)。

由于功能控制逻辑复杂且巧妙,所以AVR端口能

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值