Intel 8051

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 9. januar 2022; checks kræver 9 redigeringer .

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).

Funktioner

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.

Relaterede controllere

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.

Programmering

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-rutiner
Indtast subrutine
8085 8048 8051
I BRUG MOV C, SERPIN CLR RI
ANI MASK CLR C JNB RI, $
JZLO JNT0 LO MOV A, SBUF
CMC CPL C
LO: LXI HL, SERBUF LO: MOV R0, #SERBUF
MOV A,M MOV A, @R0
RR RRC A
MOV M,A MOV@R0,A
     
     
     
8 hold 7 hold 3 hold
14 bytes 9 bytes 6 bytes
56 stater 9 cyklusser 4 cyklusser
19 µs 22,5 µs 4 µs
output rutine
8085 8048 8051
LXI HL,SERBUF MOV R0,#SERBUF CLR TI
MOV A,M MOV A,@R0 MOV SBUF
RR RRC A JNB TI, $
MOV M, A MOV@R0, A
I BRUG
J.C.H.I. J.C.H.I.
LO: ANI IKKE MASK ANL SERPRT, #IKKE MASK
JMP CNT JMP CNT
HI: ORI MASK HI: ORL SERPRT, #MASK
CNT:OUT SERVER CNT:
     
10 hold 8 hold 3 hold
20 bytes 13 bytes 6 bytes
72 stater 11 cyklusser 4 cyklusser
24 µs 27,5 µs 4 µs

Ansøgning

Computerkernen er stadig meget brugt i forskellige mikrocontrollere til generelle og specielle formål med et andet sæt periferiudstyr.

Litteratur

Links

Noter

  1. Bob Koehler. 8051 Single-Chip mikrocomputer arkitektoniske specifikationer og funktionel beskrivelse . - Santa Clara: Intel Corporation, 1980. Arkiveret 13. oktober 2011 på Wayback Machine Arkiveret kopi (link utilgængeligt) . Hentet 18. september 2012. Arkiveret fra originalen 13. oktober 2011. 
  2. Eksempler kan ses på e8051.com