ATMEGA328P微控制器
atmega328p是高性能,来自微芯片的低功率控制器。ATMEGA328P是基于AVR RISC体系结构的8位微控制器。它是Arduino板中使用的所有AVR控制器中最受欢迎的。
ATMEGA328 PINOUT配置
Atmega328p是28针芯片,如上图所示。这里的许多芯片都有多个功能。我们将在表中描述每个PIN的功能。
销号 |
引脚名称 |
描述 |
次要功能 |
1 |
PC6(重置) |
PORTC的PIN6 |
默认情况下,PIN用作RESET PIN。PC6仅在编程RSTDISBL保险丝时,才能用作I/O PIN。 |
2 |
PD0(RXD) |
PORTD的引脚 |
RXD(USART的数据输入引脚) USART串行通信界面 [可用于编程] |
3 |
PD1(TXD) |
PORTD的PIN1 |
TXD(USART的数据输出引脚) USART串行通信界面 [可用于编程] INT2(外部中断2输入) |
4 |
PD2(INT0) |
PORTD的PIN2 |
外部中断源0 |
5 |
PD3(INT1/OC2B) |
PORTD的PIN3 |
外部中断源1 OC2B(PWM-计时器/反2输出比较匹配B输出) |
6 |
PD4(XCK/T0) |
PORTD的PIN4 |
T0(Timer0外部计数器输入) XCK(USART外部时钟I/O) |
7 |
VCC |
连接到正电压 |
|
8 |
gnd |
连接到地面 |
|
9 |
PB6(XTAL1/TOSC1) |
PORTB的PIN6 |
XTAL1(芯片时钟振荡器引脚1或外部时钟输入) TOSC1(计时器振荡器引脚1) |
10 |
PB7(XTAL2/TOSC2) |
PORTB的PIN7 |
XTAL2(芯片时钟振荡器引脚2) TOSC2(计时器振荡器引脚2) |
11 |
PD5 (T1/OC0B) |
PORTD的PIN5 |
T1(Timer1外部计数器输入) OC0B(PWM-计时器/反计数输出比较匹配B输出) |
12 |
PD6(AIN0/OC0A) |
PORTD的PIN6 |
AIN0(模拟比较器阳性I/P) OC0A(PWM-计时器/反计数输出比较匹配输出) |
13 |
PD7(AIN1) |
PORTD的PIN7 |
AIN1(模拟比较器负I/P) |
14 |
PB0(ICP1/clko) |
PORTB的引脚 |
ICP1(计时器/计数器1输入捕获引脚) clko(分隔的系统时钟。分隔的系统时钟可以在PB0引脚上输出) |
15 |
PB1(OC1A) |
PORTB的PIN1 |
OC1A(计时器/counter1输出比较匹配输出) |
16 |
PB2(SS/OC1B) |
PORTB的PIN2 |
SS(SPI从选择输入)。当控制器充当奴隶时,该引脚很低。 [用于编程的串行外围界面(SPI)] OC1B(计时器/counter1输出比较匹配b输出) |
17 |
PB3(MOSI/OC2A) |
PORTB的PIN3 |
MOSI(主输出从输入)。当控制器充当从属时,该PIN将收到数据。[用于编程的串行外围界面(SPI)] OC2(计时器/反2输出比较匹配输出) |
18 |
PB4(味o) |
PORTB的PIN4 |
MISO(主输入从输出)。当控制器充当从属时,数据将通过此PIN通过此控制器发送给MASTER。 [用于编程的串行外围界面(SPI)] |
19 |
PB5(SCK) |
PORTB的PIN5 |
SCK(SPI总线串行时钟)。这是该控制器和其他系统之间共享的时钟,以进行准确的数据传输。 [用于编程的串行外围界面(SPI)] |
20 |
AVCC |
内部ADC转换器的功率 |
|
21 |
aref |
ADC的模拟参考引脚 |
|
22 |
gnd |
地面 |
|
23 |
PC0(ADC0) |
PORTC的引脚 |
ADC0(ADC输入通道0) |
24 |
PC1(ADC1) |
PORTC的PIN1 |
ADC1(ADC输入通道1) |
25 |
PC2(ADC2) |
PORTC的PIN2 |
ADC2(ADC输入通道2) |
26 |
PC3(ADC3) |
PORTC的PIN3 |
ADC3(ADC输入通道3) |
27 |
PC4(ADC4/SDA) |
PORTC的PIN4 |
ADC4(ADC输入通道4) SDA(两线串行总线数据输入/输出线) |
28 |
PC5(ADC5/SCL) |
PORTC的PIN5 |
ADC5(ADC输入通道5) SCL(两线串行巴士时钟线) |
特征
ATMEGA328P - 简化功能 |
|
中央处理器 |
8位AVR |
引脚数 |
28 |
操作电压(V) |
+1.8 V至 +5.5V |
可编程I/O行的数量 |
23 |
通信界面 |
Master/Slave SPI串行界面(17,18,19引脚)[可用于编程此控制器] 可编程串行USART(2,3针)[可用于编程此控制器] 两线串行接口(27,28引脚)[可用于连接伺服,传感器和内存设备等外围设备] |
JTAG接口 |
无法使用 |
ADC模块 |
6渠道,10位分辨率ADC |
计时器模块 |
带有单独的预拉仪和比较模式的两个8位计数器,一个16位计数器,带有单独的预拉仪,比较模式和捕获模式。 |
模拟比较器 |
1(12,13针) |
DAC模块 |
零 |
PWM通道 |
6 |
外部振荡器 |
0-4MHz @ 1.8V至5.5V 0-10MHz @ 2.7V至5.5V 0-20MHz @ 4.5V至5.5V |
内部振荡器 |
8MHz校准了内部振荡器 |
程序内存类型 |
闪光 |
程序内存或闪存 |
32kbytes [10000写/擦除周期] |
CPU速度 |
1MIPS 1MHz |
内存 |
2kbytes内部SRAM |
EEPROM |
1kbytes eeprom |
看门狗计时器 |
可编程的看门狗计时器,带有单独的片上启示器 |
程序锁 |
是的 |
电源保存模式 |
六种模式[闲置,降低ADC噪音,动力避免,降低电源,备用和扩展备用] |
工作温度 |
-40°C至 +105°C(+105绝对最大,-40是绝对最小值) |
笔记:完整的技术细节可以在atmega328p数据表链接在此页面的底部。
ATMEGA328P更换
Atmega328p替代品
atmega16,,,,atmega32,Atmega8535
在哪里使用atmega328p
尽管我们有许多控制器Atmega328p,因为它的功能和成本是最受欢迎的。由于其功能,因此在该控制器上也开发了Arduino板。
- 有32个KBYTES ATMEGA328P应用程序的程序内存很多。
- 借助各种节能模式,它可以在移动嵌入式系统上使用。
- 使用监管计时器在错误下重置,它可以用于人类干扰最小的系统。
- 使用高级RISC架构,控制器可以快速执行程序。
- 同样在芯片温度传感器中,控制器可以在极端温度下使用。
所有这些功能都将促进Atmega328p进一步添加在一起。
如何使用atmega328p
ATMEGA328与任何其他控制器类似。那里要做的就是编程。控制器只需在任何瞬间执行我们提供的程序即可。没有编程控制器,简单地将其放置而无需做任何事情。
如上所述,首先我们需要对控制器进行编程,这是通过在ATMEGA328P闪存中编写适当的程序文件来完成的。转储此程序代码后,控制器执行此代码并提供适当的响应。
整个过程使用Atmega328p像这样:
- 列出要由控制器执行的功能。
- 在IDE程序中编写编程语言的功能。
您可以在公司网站中免费下载IDE程序。AVR控制器的IDE程序是“ Atmel Studio”。Atmel Studio的链接如下。
(通常用于Windows7的Atmel Studio 6.0 [http://atmel-studio.software.informer.com/6.0/],,
Windows10的Atmel Studio 7 [https://www.microchip.com/avr-support/atmel-studio-7)))
- ATMEGA328P编程也可以在Arduino IDE中完成。
- 编写程序后,对其进行编译以消除错误。
- 编译后,使IDE生成书面程序的十六进制文件。
- 该十六进制文件包含应该写在控制器闪存中的计算机代码。
- 选择编程设备(通常是为AVR控制器制作的SPI程序员),该设备在PC和ATMEGA328P之间建立通信。您还可以使用Arduino Uno板对Atmega328p进行编程。
- 运行程序员软件并选择适当的十六进制文件。
- 使用此程序在ATMEGA328P闪存中刻录书面程序的十六进制文件。
- 断开程序员的连接,将适当的外围设备连接到控制器并启动系统。
如何使用Arduino使用Atmega328p
自从atmega328p被使用Arduino Uno和Arduino Nano板,您可以用Atmega328芯片直接替换Arduino板。首先,您需要安装Arduino引导加载程序进入芯片(或者您也可以购买带有引导加载程序的芯片 - ATMEGA328P-PU)。使用引导程序的IC可以放置在Arduino Uno板上,并将程序刻录到其中。一旦Arduino程序被燃烧到IC中,就可以将其删除并代替Arduino Board,以及该项目所需的Crystal振荡器和其他组件。以下是Arduino Uno和Atmega328p芯片之间的销钉映射。
申请
Atmega328p有数百个申请:
- 用于Arduino Uno,Arduino Nano和Arduino Micro Boards。
- 工业控制系统。
- SMP和电源调节系统。
- 数字数据处理。
- 模拟信号测量和操作。
- 嵌入式系统,例如咖啡机,自动售货机。
- 电机控制系统。
- 显示单元。
- 外围接口系统。
2D模型和尺寸
所有测量均以毫米为单位。