Bringup
Editor öffnen
Mikrocontroller mit echter FirmwareATmega328P-PUatmega328p

ATmega328P (AVR, Firmware)

ATmega328P einzeln (wie im Arduino Uno), 16 MHz: führt Arduino-Sketche oder AVR-Firmware (HEX/ELF) aus.

VCCGNDPD0PD1PD2PD3PD4PD5PD6PD7PB0PB1PB2PB3PB4PB5PC0PC1PC2PC3PC4PC5RESETXTAL1XTAL2AREFATmega328P-PU
Schaltplansymbol

Wichtige Daten

Kategorie
ICs
Simulationsmodell
Mikrocontroller mit echter Firmware
Hersteller-Teilenummer
ATmega328P-PU
Referenzpräfix
U
Pins
26
Land-Pattern
DIP-28_W7.62mm

Hinweise

Die Firmware läuft Befehl für Befehl auf einem emulierten CPU-Kern. Die nachgebildeten Peripherieblöcke (GPIO, Timer, UART, SPI, I²C, ADC und weitere, siehe Beschreibung) wirken auf die Pins der Schaltung, sodass die Analogteile rund um den Chip dieselben Spannungen und dasselbe Timing sehen wie auf einer echten Platine.

  • Der einzelne Chip braucht auf der Platine VCC, GND und Abblockkondensatoren.
  • Rechtsklick auf das Bauteil und „Im Code-Editor öffnen“ wählen, um seinen Code zu schreiben und zu kompilieren; „Serieller Monitor“ zeigt seine UART-Ausgabe.
  • Alternativ im Inspektor eine Demo-Firmware oder eine eigene ELF-/Intel-HEX-/BIN-Datei laden.
  • GPIO-Pins sind echte Schaltungspins: eine LED an einem Ausgang braucht einen Vorwiderstand, ein Eingang einen definierten Pegel (Pull-up oder Pull-down).
  • Der Debugger in der Code-Ansicht hält an Haltepunkten und zeigt Register, Variablen und den Aufrufstapel.

Simulationsmodell

Ein emulierter CPU-Kern führt das Firmware-Binary Befehl für Befehl aus. Die GPIO-Pins sind Pins der Analogschaltung: Ausgänge treiben über einen Treiberwiderstand, Eingänge lesen die Spannung mit Schaltschwellen.

Baustein
atmega328p
CPU-Kern
AVR 8 Bit
Emulator
AVR-Emulator
Firmware
Arduino-Sketch, in der Code-Ansicht kompiliert (arduino-cli, arduino:avr), oder eigene ELF-/Intel-HEX-/BIN-Datei
Flash / RAM für Firmware
32 KB / 2 KB
Versorgungspins
VCC / GND
Zugeordnete GPIO-Pins
21

Pins 26

simuliertnur echter ChipPin-Funktionen aus dem Emulator und dem Datenblatt.

PinNameFunktionenVerwendung
VCCVCCVersorgungVersorgung 1,8–5,5 V (5 V für 16 MHz): 100 nF an VCC und AVCC
GNDGNDMasseMasse
PD0PD0Ein-/AusgangUSART0_RXDSerielle Daten ein: vom TX-Pin des anderen Geräts
PD1PD1Ein-/AusgangUSART0_TXDSerielle Daten aus: zum RX-Pin des anderen Geräts (Konsole, GPS, Module)
PD2PD2Ein-/AusgangINT0Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up)
PD3PD3Ein-/AusgangINT1OC2BPWM-Ausgang: LED-Dimmung, Servos, Motortreiber
PD4PD4Ein-/AusgangT0XCKAllzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up)
PD5PD5Ein-/AusgangOC0BT1PWM-Ausgang: LED-Dimmung, Servos, Motortreiber
PD6PD6Ein-/AusgangOC0AAIN0PWM-Ausgang: LED-Dimmung, Servos, Motortreiber
PD7PD7Ein-/AusgangAIN1Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up)
PB0PB0Ein-/AusgangICP1CLKOAllzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up)
PB1PB1Ein-/AusgangOC1APWM-Ausgang: LED-Dimmung, Servos, Motortreiber
PB2PB2Ein-/AusgangOC1BSPI_SSSPI-Chip-Select (SS): als Ausgang lassen, solange die SPI als Master läuft
PB3PB3Ein-/AusgangSPI_MOSIOC2ASPI-Daten aus (MOSI): an DIN / SDA / SDI des Bausteins
PB4PB4Ein-/AusgangSPI_MISOSPI-Daten ein (MISO): von DOUT / SDO des Bausteins
PB5PB5Ein-/AusgangSPI_SCKSPI-Takt: Displays, Flash, SD-Karten
PC0PC0Ein-/AusgangADC0Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PC1PC1Ein-/AusgangADC1Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PC2PC2Ein-/AusgangADC2Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PC3PC3Ein-/AusgangADC3Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung)
PC4PC4Ein-/AusgangADC4TWI_SDAI²C-Daten: Pull-up (etwa 4,7 kΩ) zur Versorgung
PC5PC5Ein-/AusgangADC5TWI_SCLI²C-Takt: Sensoren, Displays; Pull-up (etwa 4,7 kΩ) zur Versorgung
RESETRESETEingangRESETReset, Low-aktiv: 10-kΩ-Pull-up, 100 nF nach GND, optional Taster nach GND
XTAL1XTAL1AnalogXTAL116-MHz-Quarz mit 22 pF nach GND (oder externer Takteingang)
XTAL2XTAL2AnalogXTAL216-MHz-Quarz mit 22 pF nach GND
AREFAREFAnalogAREFADC-Referenz: 100 nF nach GND; nur bei gewählter externer Referenz eine Spannung anlegen

Parameter 1

Bauformpackage
StandardDIP28
DIP28TQFP32

Leiterplatte

Geprüftes Land-PatternDIP-28_W7.62mm
BauformLand-PatternStatusQuelle
DIP28 · ATMEGA328P-PUDIP-28_W7.62mmGeprüftes Land-PatternKiCad 10.0.7: Symbol ATmega328P-P, Footprint Package_DIP:DIP-28_W7.62mm
  • XTAL1 16-MHz-Quarz zwischen XTAL1 und XTAL2, je 22 pF nach GND (die Simulation rechnet mit 16 MHz)
  • XTAL2 16-MHz-Quarz zwischen XTAL1 und XTAL2, je 22 pF nach GND
  • RESET 10 kΩ Pull-up nach VCC (optional 100 nF zum DTR des Programmiers)
  • AREF 100 nF nach GND (bei AVcc-Referenz)
TQFP32 · ATMEGA328P-AUTQFP-32_7x7mm_P0.8mmGeprüftes Land-PatternKiCad 10.0.7: Symbol ATmega328P-A, Footprint Package_QFP:TQFP-32_7x7mm_P0.8mm
  • XTAL1 16-MHz-Quarz zwischen XTAL1 und XTAL2, je 22 pF nach GND (die Simulation rechnet mit 16 MHz)
  • XTAL2 16-MHz-Quarz zwischen XTAL1 und XTAL2, je 22 pF nach GND
  • RESET 10 kΩ Pull-up nach VCC (optional 100 nF zum DTR des Programmiers)
  • AREF 100 nF nach GND (bei AVcc-Referenz)