Arduino已经成为许多制作者、爱好者和学生在他们的电子项目中使用的首选平台。虽然有几种Arduino板,但Arduino UNO是最受欢迎的一种。这个Arduino UNO板的核心是ATmega328P微控制器。因此,在本指南中,让我们快速浏览一下这个微控制器并检查它的规格。我们还将看到ATmega328P引脚,也表格引脚描述。
ATmega328P单片机简介
ATmega328P是基于AVR架构的8位微控制器。虽然Atmel最初开发了这个微控制器,但它现在是微芯片技术的一部分。
这款IC非常著名,因为它是Arduino UNO、Arduino Nano(目前在生产中)和Arduino Pro Mini(已退役)等几种Arduino板的主要微控制器。
它有131条指令,大部分在一个时钟周期内执行。因此,使用其16MHz时钟频率,您可以预期ATmega328P的吞吐量接近16 MIPS(因为它有1 MIPS/MHz吞吐量)。
内存方面,它有32KB的闪存,2KB的SRAM和1KB的EEPROM。我们将在下一节中看到其他一些规范。
ATmega328P重要规格
在前一节中,我们已经了解了ATmega328P的几个重要规范。这里还有一些规格供您参考。
- 8位AVR单片机
- 改良的哈佛RISC架构
- 32 kb的闪存
- 1 kb eepm
- 2 kb SRAM
- 两个8位定时器/计数器
- 一个16位定时器/计数器
- 六脉宽调制通道
- 8个10位ADC通道,32引脚QFP和32 pad QFN包
- 6个10位ADC通道在28针DIP和28 pad QFN包
- USART, SPI和我2C接口
- 看门狗定时器,引脚改变中断和唤醒
- 上电复位,内部和外部中断
- 工作电压:1.8V至5.5V为0 - 4MHz, 2.7V至5.5V为0 - 10MHz和4.5V至5.5V为0 - 20MHz的转速等级。
- 有源模式功耗0.2mA在1.8V和1MHz
- 在1.8V和1MHz下0.1µA的功耗
一如既往,这些规格仅供参考。关于所有规格的更深入的细节,我们建议您阅读数据表。
ATmega328P引脚和IC包
ATmega328P有4个IC包。插销和插销配置在包之间略有不同。
- 32引脚TQFP(带引脚的薄四平板封装)
- 28针SPDIP(收缩塑料双直列封装)
- 32垫片VQFN(非常薄的无引线四平板)
- 28-Pad VQFN(也称为MLF -微引线框架)
在下图中,我们将ATmega328P的四个包全部放出来。该图像还显示了所有包的ATmega328P Pinout。
这里需要注意的一点是,每个封装的ATmega328P引脚是不同的,即,28引脚DIP中的引脚1是PC6,而32引脚四平面封装中的引脚1是PD3。因此,请密切关注您正在使用的包并正确理解它的pinout。
此外,32引脚QFP和32垫QFN包都具有相同的引脚。所有这些包之间的主要区别是32脚包(QFP和QFN)有两个额外的ADC通道(ADC6和ADC7),而28脚包(DIP和QFN)只有6个ADC通道(ADC0到ADC5)。
除此之外,其余的引脚及其替代功能是相同的。
ATmega328P销描述
现在让我们看看ATmega328P的引脚描述。在本节中,我们将使用32脚QFP包作为参考。因此,在下表中,我们所说的“Pin 1”仅指ATmega328P的32pin QFP包。
对于其他包,引脚编号可能会改变,但引脚名称、备用函数和整体引脚描述将保持不变。
密码 | 销的名字 | 1功能 | 第二个函数 | 第三个功能 | 备用功能说明 |
1 | PD3 | INT1 | OC2B | PCINT19 | 外部中断1输入, 定时器/计数器2输出比较匹配B输出, 引脚更改中断19 |
2 | PD4 | T0 | XCK | PCINT20 | 定时器/计数器0外部计数器输入, USART外部时钟输入/输出 引脚更改中断20 |
3. | 接地 | - - - - - - | - - - - - - | - - - - - - | 地面 |
4 | VCC | - - - - - - | - - - - - - | - - - - - - | 电源电压 |
5 | 接地 | - - - - - - | - - - - - - | - - - - - - | 地面 |
6 | VCC | - - - - - - | - - - - - - | - - - - - - | 电源电压 |
7 | PB6 | XTAL1 | TOSC1 | PCINT6 | 外部时钟输入或时钟振荡器引脚1 定时器振荡器引脚1, 引脚更改中断6 |
8 | PB7 | XTAL2 | TOSC2 | PCINT7 | 时钟振荡器引脚2, 定时器振荡器引脚2, 引脚更改中断7 |
9 | PD5 | T1 | OC0B | PCINT21 | 计时器/计数器1外部计数器输入, 定时器/计数器0输出比较匹配B输出 引脚更改中断21 |
10 | PD6 | AIN0 | OC0A | PCINT22 | 模拟比较器正输入, 定时器/计数器0输出比较匹配A输出, 引脚更改中断22 |
11 | PD7 | AIN1 | PCINT23 | - - - - - - | 模拟比较器负输入 引脚更改中断23 |
12 | PB0 | ICP1 | CLKO | PCINT0 | 定时器/Counter1输入捕获输入, 分割系统时钟输出, 引脚更改中断0 |
13 | PB1 | OC1A | PCINT1 | - - - - - - | 定时器/Counter1输出比较匹配A输出, 引脚更改中断1 |
14 | PB2 | OC1B | 党卫军 | PCINT2 | 定时器/计数器1输出比较匹配B输出, SPI从选择引脚, 引脚更改中断2 |
15 | PB3 | 莫西人 | OC2A | PCINT3 | SPI主出奴隶在, 定时器/计数器2输出比较匹配A输出, 引脚更改中断3 |
16 | PB4 | 味噌 | PCINT4 | - - - - - - | SPI主人在奴隶出来, 引脚更改中断4 |
17 | PB5 | SCK | PCINT5 | - - - - - - | SPI主时钟输入, 引脚更改中断5 |
18 | AVCC | - - - - - - | - - - - - - | - - - - - - | ADC电源电压 |
19 | ADC6 | - - - - - - | - - - - - - | - - - - - - | ADC输入通道6 |
20. | 基诺 | - - - - - - | - - - - - - | - - - - - - | ADC参考销 |
21 | 接地 | - - - - - - | - - - - - - | - - - - - - | 地面 |
22 | ADC7 | - - - - - - | - - - - - - | - - - - - - | ADC输入通道7 |
23 | PC0 | ADC0 | PCINT8 | - - - - - - | ADC输入通道0, 引脚更改中断8 |
24 | PC1 | ADC1 | PCINT9 | - - - - - - | ADC输入通道1, 引脚更改中断9 |
25 | PC2 | ADC2 | PCINT10 | - - - - - - | ADC输入通道2, 引脚更改中断10 |
26 | 生物 | ADC3 | PCINT11 | - - - - - - | ADC输入通道3, 引脚更改中断11 |
27 | PC4 | ADC4 | SDA | PCINT12 | ADC输入通道4, 我2C串行数据输入/输出 引脚更改中断12 |
28 | PC5 | ADC5 | sci | PCINT13 | ADC输入通道5, 我2C串行时钟, 引脚更改中断13 |
29 | PC6 | 重置 | PCINT14 | - - - - - - | 重置密码, 引脚更改中断14 |
30. | PD0 | RXD | PCINT16 | - - - - - - | USART输入(接收), 引脚更改中断16 |
31 | PD1 | TXD | PCINT17 | - - - - - - | USART输出(传输), 引脚更改中断17 |
32 | PD2 | INT0 | PCINT18 | - - - - - - | 外部中断0输入, 引脚更改中断18 |
结论
ATmega328P是Arduino UNO板上的微控制器。因此,了解这款IC的规格和功能是非常重要的,因为Arduino是一个开源平台,如果你有关于这款IC的所有信息,你可以自己设计电路板,其中一个关键的数据是针对不同IC包的ATmega328P Pinout。我们看到了ATmega328P IC包的图片和它们的标记。还有一个引脚描述与各自的备用功能。