8051-mikrocontrolleren er fortsat en af de mest anerkendte og grundlæggende indlejrede controllere inden for digital elektronik. Denne artikel vil diskutere detaljer om pinout for 8051-mikrocontrolleren, intern arkitektur, blokdiagramforklaring, specifikationer, anvendelser, sammenligning med 8085-mikroprocessorerne og meget mere.

8051 Microcontroller Basic
8051-mikrocontrolleren er en 8-bit indlejret systemcontroller, oprindeligt udviklet af Intel, som integrerer en processor, hukommelse, input/output-porte, timere og kommunikationsgrænseflader i en enkelt chip. Den er designet til at styre elektroniske enheder ved at udføre programmerede instruktioner og interagere direkte med hardwarekomponenter. I modsætning til en generel computerprocessor er 8051 bygget specifikt til dedikerede kontrolopgaver såsom at aflæse sensorer, styre displays, styre motorer, håndtere kommunikationssignaler og udføre tidsbestemte operationer. Dets formål er at fungere som "hjernen" i indlejrede systemer, der muliggør automatiseret kontrol og beslutningstagning inden for kompakte, omkostningseffektive elektroniske designs.
8051 Mikrocontroller Pinout-detaljer

| Pin nr. | Pin-navn | Type | Beskrivelse |
|---|---|---|---|
| 1 – 8 | P1.0 – P1.7 | I/O-port (Port 1) | Generel 8-bit tovejs I/O-port. Ingen alternative funktioner i Basic 8051. |
| 9 | RST | Nulstil | Aktiv høj reset-input. En høj puls nulstiller mikrocontrolleren. |
| 10 – 17 | P3.0 – P3.7 | I/O-port (Port 3) | Dobbeltfunktionsport. Inkluderer RXD, TXD, INT0, INT1, T0, T1, WR, RD. |
| 18 | XTAL2 | Ur | Udgang fra intern oscillatorforstærker. |
| 19 | XTAL1 | Ur | Indgang til intern oscillator og clockgenerator. |
| 20 | GND | Strøm | Jordreference (0V). |
| 21 – 28 | P2.0 – P2.7 | I/O / Adressebus | Generel I/O eller højordens adressebus (A8–A15) ved brug af ekstern hukommelse. |
| 29 | PSEN | Kontrol | Programbutik-aktivering. Bruges til at læse ekstern programhukommelse. |
| 30 | ALE/PROG | Kontrol | Adresselås aktiveret. Adskiller adresse/data i ekstern hukommelsesgrænseflade. |
| 31 | EA/VPP | Kontrol | Ekstern adgang aktiveret. Vælger intern eller ekstern programhukommelse. |
| 32 – 39 | P0.0 – P0.7 | I/O / Adresse/Databus | Multiplexet lavordens adresse-/databus (AD0–AD7) eller generel I/O. |
| 40 | VCC | Strøm | +5V strømforsyningsindgang. |
Arkitektur af 8051-mikrocontroller

Nedenfor er de grundlæggende arkitektoniske blokke for 8051 og hvordan hver enkelt fungerer.
Centralprocessorenhed (CPU)
CPU'en er kernen i 8051-mikrocontrolleren og er ansvarlig for at udføre instruktioner, udføre aritmetiske og logiske operationer samt koordinere alle interne aktiviteter. Den inkluderer Arithmetic Logic Unit (ALU), akkumulator, B-register, Program Status Word (PSW), Program Counter (PC), Data Pointer (DPTR) og Stack Pointer (SP). CPU'en behandler 8-bit data og styrer instruktionsdekodning, timing og dataflow mellem hukommelse og periferiudstyr. Hver operation, der udføres af mikrocontrolleren, administreres gennem denne centrale processorenhed.
Programhukommelse (Kodehukommelse)
Programhukommelsen gemmer de instruktioner, som mikrocontrolleren udfører. I den klassiske 8051 indeholder den typisk 4 KB intern ROM, som bevarer lagrede instruktioner, selv når strømmen er afbrudt. Arkitekturen tillader også udvidelse op til 64 KB ekstern programhukommelse. Da 8051 følger Harvard-arkitekturen, er programhukommelsen adskilt fra datahukommelsen, hvilket sikrer organiseret instruktionsudførelse og forbedret effektivitet.
Datahukommelse (RAM)
Datahukommelse bruges til midlertidig lagring under programeksekvering. Standard 8051 indeholder 128 bytes intern RAM, som er opdelt i registerbanker, bit-adresserbar hukommelse, generel RAM og stakplads. Denne hukommelse gemmer variable, mellemliggende resultater og driftsdata, mens programmet kører. Ekstern datahukommelse kan også udvides til 64 KB, hvis det er nødvendigt til større applikationer.
Input/Output (I/O) porte
8051 indeholder fire 8-bit parallelle I/O-porte: Port 0, Port 1, Port 2 og Port 3. Disse porte gør det muligt for mikrocontrolleren at forbinde direkte med eksterne enheder såsom sensorer, skærme, kontakter og motorer. Nogle porte har også alternative funktioner. For eksempel kan port 0 og port 2 fungere som adresse- og databusser til adgang til ekstern hukommelse, mens port 3 leverer særlige funktioner som seriel kommunikation og eksterne afbrydelser. Dette fleksible portdesign gør 8051 velegnet til forskellige hardware-interface-applikationer.
Timere/Tællere
8051 indeholder to 16-bit timere/tællere: Timer 0 og Timer 1. Disse timere bruges til at generere tidsforsinkelser, måle tidsintervaller, tælle eksterne begivenheder og producere baudrater til seriel kommunikation. De forbedrer systemets effektivitet ved at håndtere timing-operationer i hardware, hvilket gør det muligt for CPU'en at udføre andre opgaver samtidig.
Afbrydelseskontrolsystem
Afbrydelsessystemet tillader 8051 midlertidigt at sætte sin nuværende opgave på pause for at reagere på højprioritetshændelser. Mikrocontrolleren understøtter fem interrupt-kilder, herunder to eksterne interrupts, to timer-interrupts og én seriel kommunikationsinterrupt. Når et interrupt opstår, hopper CPU'en automatisk til en foruddefineret servicerutine og genoptager hovedprogrammet efter afslutningen. Denne funktion forbedrer responsiviteten i realtidsapplikationer.
Seriel Kommunikationsgrænseflade
8051 inkluderer en indbygget fuld-duplex UART (Universal Asynchronous Receiver/Transmitter) til seriel datakommunikation. Den gør det muligt for mikrocontrolleren at sende og modtage data gennem dedikerede TXD- og RXD-ben. Denne funktion anvendes bredt til kommunikation med computere, kommunikationsmoduler og andre mikrokontrollere.
Oscillator- og clockkredsløb
Oscillatorkredsløbet leverer det clocksignal, der kræves til instruktionsudførelse og periferifunktion. 8051 bruger eksterne krystalforbindelser via XTAL1- og XTAL2-ben til at generere stabile clockpulser. Disse clockpulser synkroniserer alle interne operationer og bestemmer instruktionsudførelseshastigheden.
Internt bussystem
Det interne bussystem forbinder CPU, hukommelse og periferiudstyr i mikrocontrolleren. Den inkluderer en 8-bit databus, en 16-bit adressebus og kontrolsignaler. Databussen overfører data, adressebussen vælger hukommelsesplaceringer, og kontrollinjer styrer læse-/skriveoperationer. Denne organiserede busstruktur sikrer en glidende kommunikation mellem interne komponenter.
Hvordan man forbinder LED med 8051-mikrocontroller
Diagrammet nedenfor viser et grundlæggende LED-interfacekredsløb med 8051-mikrocontrolleren. En af de generelle I/O-ben (P1.0) bruges til at styre en LED gennem en strømbegrænsende modstand på 220Ω. Modstanden beskytter LED'en mod overdreven strøm og forhindrer skade på både LED'en og mikrocontrollerens pin. Når udgangsstiften P1.0 er sat til HØJ (logik 1), løber strømmen fra mikrocontrolleren gennem modstanden og LED'en til jord, hvilket får LED'en til at lyse. Når pinden er sat LAV (logik 0), stopper strømmen, og LED'en slukker. Dette demonstrerer simpel digital udgangskontrol ved brug af 8051.

Kredsløbet indeholder også essentielle støttekomponenter for korrekt mikrocontrollerfunktion. Et nulstillingskredsløb bestående af en kondensator (10μF) og modstand sikrer, at 8051 starter korrekt, når den tændes. Krystaloscillatoren (11,0592 MHz) med to 33pF kondensatorer leverer det clocksignal, der kræves til instruktionsudførelse. Pull-up-modstande tilsluttet Port 0 sikrer stabile logiske niveauer, når de bruges som I/O-linjer. Sammen udgør disse komponenter et komplet og funktionelt LED-interface-setup ved hjælp af 8051-mikrocontrollerne.
Specifikationer for 8051 mikrocontroller
| Kategori | Specifikation | Detaljer |
|---|---|---|
| CPU-arkitektur | 8-bit CPU | Behandler 8-bit data; inkluderer akkumulator (A) og B-register |
| Programhukommelse | Intern bevægelsesfrihed | 8 KB Flash (typiske forbedrede 8051-varianter); kan udvides op til 64 KB ekstern hukommelse |
| Datahukommelse | Intern RAM | 256 bytes i alt (128 bytes generel RAM + 128 bytes SFR-område) |
| Generel RAM (00H–7FH) | 128 bytes | Inkluderer 4 registerbanker (R0–R7), bit-adresserbart område og generel RAM |
| Særlige funktionsregistre (80H–FFH) | 128 bytes | Styrer timere, seriel port, I/O-porte, afbrydelser og systemfunktioner |
| Registerbanker | 4 banker | Hver bank indeholder 8 generelle registre (R0–R7) |
| Stack Pointer (SP) | 8-bit | Punkter til stakplacering i RAM |
| Program Counter (PC) | 16-bit | Holder adressen til næste instruktion |
| Datapointer (DPTR) | 16-bit | Bruges til ekstern hukommelsesadressering (DPH & DPL) |
| I/O-porte | 32 I/O-ben | Organiseret i 4 porte: P0, P1, P2, P3 (8 bit hver) |
| Timere/Tællere | 2 × 16-bit | Timer 0 og Timer 1 til forsinkelsesgenerering og hændelsesoptælling |
| Afbrydelser | 5 Interrupt-kilder | 2 eksterne (INT0, INT1) + 3 interne (Timer0, Timer1, Serial) |
| Seriel kommunikation | Fuld-duplex UART | Separate Tx (Transmitter) og Rx (Modtage) linjer |
| Oscillator | On-chip oscillatorkredsløb | Kræver ekstern krystal til clockgenerering |
| Adressebus | 16-bit | Understøtter op til 64 KB ekstern hukommelse |
| Databus | 8-bit | Overfører data internt og eksternt |
| Kontrolregistre | Flere | Inkluderer PCON, SCON, TMOD, TCON, IE, IP og andre |
| Driftstilstand | Harvard-arkitektur | Separate program- og datahukommelsesrum |
Anvendelser af 8051-mikrocontroller
• Industrielle automationssystemer - 8051-mikrocontrolleren bruges til at styre motorer, relæer og sensorer i automatiserede produktionslinjer og maskinstyringssystemer.
• Husholdningsapparater - Den styrer timing, temperaturregulering og brugerinputbehandling i enheder som vaskemaskiner og mikrobølgeovne.
• Indlejrede kontrolsystemer - 8051-mikrocontrolleren fungerer som kernecontroller i dedikerede indlejrede applikationer, der kræver stabil og forudsigelig drift.
• Robotprojekter - Den læser sensordata og styrer aktuatorer, hvilket gør den velegnet til små robot- og automationsprojekter.
• Forbrugerelektronik - 8051-mikrocontrolleren integreres ofte i elektroniske legetøj, fjernbetjeninger og digitale ure til signalstyring og logikbehandling.
• Kommunikationssystemer - Den understøtter seriel kommunikation til grænseflade med computere, kommunikationsmoduler og andre mikrokontrollere.
• Medicinske instrumenter - 8051-mikrocontrolleren bruges i simpel overvågning og lavstrøms diagnostisk udstyr.
• Bilapplikationer - Den håndterer grundlæggende kontrolfunktioner såsom displaystyring og sensorovervågning i køretøjer.
• Sikkerhedssystemer - 8051-mikrocontrolleren anvendes i alarmsystemer, tastaturbaserede låse og adgangskontrolenheder.
• Uddannelses- og træningsprojekter - Det anvendes bredt i akademiske laboratorier til at undervise i mikrocontrollerprogrammering og grundlæggende design af indlejrede systemer.
8051 Mikrocontroller vs 8085 Mikroprocessor
| Feature | 8051 Mikrocontroller | 8085 Mikroprocessor |
|---|---|---|
| Type | Mikrocontroller | Mikroprocessor |
| Arkitektur | Harvard-arkitektur (separat kode og datahukommelse) | Von Neumann-arkitektur (delt hukommelse til kode og data) |
| Databredde | 8-bit | 8-bit |
| CPU | Integreret 8-bit CPU med indbyggede perifere enheder | Kun 8-bit CPU (ingen indbyggede perifere enheder) |
| Programhukommelse | Typisk 4KB–8KB intern ROM (udvidelig til 64KB ekstern) | Ingen intern ROM (kræver ekstern hukommelse) |
| Datahukommelse | 128–256 bytes intern RAM (udvidelig) | Ingen intern RAM (kræver ekstern RAM) |
| I/O-porte | 32 indbyggede I/O-linjer (4 porte) | Ingen indbyggede I/O-porte (kræver eksterne interfacechips) |
| Timere/Tællere | 2 × 16-bit timere | Ingen interne timere (eksterne timere kræves) |
| Afbrydelser | 5 afbrydelseskilder | 5 interrupt-indgange (TRAP, RST 7.5, 6.5, 5.5, INTR) |
| Seriel kommunikation | Indbygget fuld-duplex UART | Ingen indbygget seriel port |
| Oscillator | On-chip oscillatorkredsløb | Kræver ekstern clockgenerator |
| Stack | Intern stak i RAM | Stack managed i ekstern RAM |
| Adressebus | 16-bit (understøtter op til 64KB ekstern hukommelse) | 16-bit (understøtter op til 64KB hukommelse) |
| Databus | 8-bit | 8-bit |
| Periferiudstyr Integration | Højt integreret (timere, seriel, I/O, afbrydelser) | Minimal integration (kun CPU) |
| Eksterne komponenter påkrævet | Færre eksterne komponenter | Kræver flere eksterne support-IC'er |
| Strømforbrug | Lav | Højere sammenlignet med mikrocontroller-baserede systemer |
| Anvendelsesfokus | Indlejrede systemer og kontrolapplikationer | Generel databehandling og systemudvikling |
| Kompleksitet | Simpelt, kompakt systemdesign | Mere komplekst systemdesign |
| Omkostninger | Lavere samlede systemomkostninger | Højere systemomkostninger på grund af eksterne komponenter |
| Typiske anvendelsestilfælde | Husholdningsapparater, robotteknologi, automatisering, indlejrede enheder | Tidlige computersystemer, træningssæt, processorbaserede systemer |
| År introduceret | 1980 (af Intel) | 1976 (af Intel) |
8051 Fordele og begrænsninger
8051 Fordele
• Enkel og letforståelig arkitektur
• Integrerede CPU, RAM, ROM, timere og I/O-porte på en enkelt chip
• Lav pris og bredt tilgængelig
• Lavt strømforbrug
• Indbygget seriel kommunikationsunderstøttelse
• Flere interrupt-kilder til realtidsapplikationer
• Understøttelse af udvidelig ekstern hukommelse (op til 64KB)
• Stort økosystem af udviklingsværktøjer og læringsressourcer
• Stabil og pålidelig til indlejrede kontrolopgaver
8051 Begrænsninger
• Begrænset intern RAM og programhukommelse
• 8-bit behandling begrænser beregningskapaciteten
• Lavere behandlingshastighed sammenlignet med moderne mikrokontrollere
• Ingen indbygget ADC eller DAC i basisversionerne
• Begrænsede tilbehør sammenlignet med avancerede MCU'er (f.eks. ARM, AVR)
• Kræver eksterne komponenter til komplekse applikationer
• Ikke ideelt til højtydende eller dataintensive systemer
• Forældet arkitektur sammenlignet med moderne 32-bit controllere
Konklusion
Med 8051-mikrocontrollerens Harvard-arkitektur, integrerede CPU, organiseret hukommelsesstruktur, programmerbare I/O-porte, timere, interruptsystem og seriel kommunikationsunderstøttelse tilbyder den en komplet og effektiv løsning til dedikerede kontrolapplikationer. Selvom moderne mikrocontrollere tilbyder højere ydeevne og mere avancerede perifere enheder, forbliver 8051 værdifuld på grund af sin enkelhed, lave pris, pålidelighed og stærke uddannelsesmæssige betydning.
Ofte stillede spørgsmål [FAQ]
Q1. Hvilke programmeringssprog bruges til 8051-mikrocontrolleren?
8051 programmeres ofte i indlejret C og assembler. Embedded C bruges bredt på grund af lettere fejlfinding og portabilitet, mens Assembly tilbyder præcis hardware-niveau kontrol.
Q2. Hvilke softwareværktøjer er bedst til at programmere 8051?
Populære værktøjer inkluderer Keil μVision, Proteus (til simulering) og SDCC (Small Device C Compiler). Keil er det mest anvendte faglige udviklingsmiljø.
Q3. Hvad er den maksimale clockfrekvens for 8051?
Den klassiske 8051 kører typisk op til 12 MHz, mens moderne forbedrede varianter kan køre med meget højere hastigheder afhængigt af producenten.
Q4. Kan 8051 interagere med moderne sensorer og moduler?
Ja, 8051 kan interagere med moderne sensorer ved hjælp af digital I/O, UART, SPI (via software) og I2C (bit-banging eller eksterne IC'er), selvom det kan kræve yderligere interfacekomponenter.
10,5 Q5. Hvordan får 8051 strøm, og hvad er dens driftsspænding?
Standard 8051 kører ved +5V. Dog understøtter nogle moderne afledte varianter lavere spændinger som 3,3V til lavstrømsapplikationer.
Q6. Hvilke almindelige 8051-familievarianter findes i dag?
Populære varianter inkluderer AT89C51, AT89S52 og andre forbedrede 8051-kompatible mikrocontrollere fra forskellige producenter, som tilbyder mere hukommelse og funktioner.
Q7. Hvordan adskiller 8051 sig fra moderne mikrocontrollere som ARM Cortex-M?
8051 er en 8-bit controller designet til simple kontrolopgaver, mens ARM Cortex-M-enheder er 32-bit processorer med højere hastighed, avancerede perifere enheder og større hukommelseskapacitet.