Intel 8051 er en enkelt-chip Harvard mikrocontroller , der først blev produceret af Intel i 1980 til brug i indlejrede systemer . Ekstremt populær i 1980'erne og begyndelsen af 1990'erne, men blev senere forældet og afløst af mere moderne enheder, også med 8051 kompatible kerner, produceret af mere end 20 uafhængige producenter såsom Atmel , Maxim IC (et datterselskab af Dallas Semiconductor ), NXP , Winbond , Silicon Laboratories , Texas Instruments, Cypress Semiconductor og Nuvoton). Det officielle navn på 8051-familien af Intel-mikrocontrollere er MCS 51 . Der er også en sovjetisk klon af denne chip, KR1816BE51.
De første af Intels 8051-familie blev fremstillet ved hjælp af n-MOS- teknologi, men efterfølgende versioner, der indeholdt "C" i navnet, såsom 80C51, brugte CMOS -teknologi og forbrugte mindre strøm end n-MOS-forgængere (dette gjorde dem nemmere at bruge ) for batteridrevne enheder).
En fælles funktion i moderne 8051-kompatible mikrocontrollere har været indlejring af forbedrede og yderligere kredsløb, såsom: automatisk nulstilling ved fald i forsyningsspændingen; indbyggede urgeneratorer ; programmering i kredsløb af programhukommelse; EEPROM -baserede ikke-flygtige datahukommelse autoloadere ; I²C ; SPI (3-leder seriel bus standard); USB -værtsgrænseflade; PWM generatorer; analoge komparatorer ; ADC- og DAC- konvertere; realtidsur; yderligere timere og tællere; in-circuit debuggere, yderligere afbrydelseskilder; avancerede strømbesparende tilstande.
8051-kompatible mikrocontrollere har typisk en eller to UART'er ( UART'er ), to eller tre timere, 128 eller 256 bytes on-chip RAM (hvoraf 16 bytes er bitadresserbare), 512 bytes til 128 KB on-chip programhukommelse , og brugen af EEPROM er nogle gange stødt på . adresseret gennem "special function registers" (SFR = special function register). UART / UART kan konfigureres til brug i 9-bit datatilstand, som muliggør punkt-til-multipunkt-transceiver baseret på RS-485- hardwareprotokollen.
En maskincyklus af den originale 8051-kerne tager 12 clock-cyklusser, og de fleste instruktioner udføres i en eller to maskincyklusser. Med en clockhastighed på 12 MHz kan 8051-kernen udføre 1 million operationer per sekund i en cyklus eller 500 tusinde operationer per sekund i to cyklusser. Den forbedrede 8051-kompatible kerne, som nu er almindelig, fuldender en maskincyklus i seks, fire, to eller endda en clock-cyklus og tillader brugen af clock-generatorer med en frekvens på op til 100 MHz, hvilket har øget antallet af operationer i sekundet.
Endnu hurtigere 8051 kerner, med 1 cyklus pr. maskincyklus, organiseres ved hjælp af FPGA'er , såsom FPGA (hastighed i området 130-150 MHz) eller ASIC (hastighed i området flere hundrede MHz), ved hjælp af speciel firmware [2] . Alle 8051-kompatible enheder lavet af SILabs , nogle lavet af Dallas , nogle få lavet af Atmel og Nuvoton har en kerne med 1 ur pr. maskincyklus.
En yderst nyttig funktion ved 8051-kernen er behandlingen af booleske data, som tillod introduktionen af binær logik, der fungerer direkte på bits af den interne RAM (område med 128 direkte adresserbare bit) og registre. Denne funktion var efterspurgt i industrielle automatiseringsapplikationer . En anden værdifuld funktion var de 4 uafhængige registersæt , som reducerede interrupt latency betydeligt sammenlignet med den klassiske stak, der blev brugt tidligere.
Forgængeren for 8051-controlleren var Intel 8048 , som blev brugt i tastaturet på den originale IBM PC - den konverterede tastetryksignaler til en datastrøm, der blev transmitteret over en seriel linje til computerens systemenhed. 8048-controlleren, såvel som controllere baseret på den, bruges stadig i tastaturer.
8031 - controlleren er en strippet version af Intel 8051: den har ikke on-chip-hukommelse til at gemme programmet.
8052- controlleren er en udvidet version af den originale Intel 8051: den er udstyret med 256 bytes intern RAM (i stedet for 128 bytes af 8051), 8 KB ROM (i stedet for 4 KB), og en tredje 16-bit timer har blevet tilføjet til det.
8058- controlleren adskiller sig fra 8052 i en øget 32 KB ROM.
8032 - controlleren ligner 8052, men har ikke indbygget hukommelse til programlagring. 8052 og 8032 controllerne anses for at være forældede, da næsten alle moderne 8051 varianter er udstyret med de samme udvidelser, som 8052 har.
Adskillige compilere til programmeringssproget C er tilgængelige til 8051 , især Keil, hvoraf de fleste understøtter sprogudvidelser for bedre at udnytte funktionerne i 8051. For eksempel kan en programmør angive, i hvilken af 8051'erens seks hukommelsestyper en variabel skal være opbevaret; compileren kan få at vide, hvordan man bruger omskiftelige registerblokke og instruktioner til at manipulere individuelle registerbits.
Andre sprog på højt niveau som Forth , BASIC , Pascal , PL/M og Modula-2 bruges til at programmere 8051 , men de er ikke så udbredt som C og assembler .
Sammenligning af Intel i8085 , i8048 og i8051 på eksemplet med driften af serielle I/O-rutinerIndtast subrutine
|
output rutine
|
---|
Computerkernen er stadig meget brugt i forskellige mikrocontrollere til generelle og specielle formål med et andet sæt periferiudstyr.
Mikrocontrollere | ||||||||
---|---|---|---|---|---|---|---|---|
Arkitektur |
| |||||||
Producenter |
| |||||||
Komponenter | ||||||||
Periferi |
| |||||||
Grænseflader | ||||||||
OS | ||||||||
Programmering |
|