Intel 8051

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 9. tammikuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 9 muokkausta .

Intel 8051  on yksisiruinen Harvard -mikro-ohjain, jonka Intel tuotti ensimmäisen kerran vuonna 1980 käytettäväksi sulautetuissa järjestelmissä . Erittäin suosittu 1980-luvulla ja 1990-luvun alussa, mutta myöhemmin vanhentui ja korvattiin nykyaikaisilla laitteilla, myös 8051-yhteensopivalla ytimellä ja jotka ovat tuottaneet yli 20 riippumatonta valmistajaa, kuten Atmel , Maxim IC ( Dallas Semiconductorin tytäryhtiö ), NXP , Winbond , Silicon Laboratories , Texas Instruments, Cypress Semiconductor ja Nuvoton). Intel-mikro-ohjainperheen 8051 virallinen nimi on MCS 51 . Tästä sirusta on myös Neuvostoliiton klooni, KR1816BE51.

Intelin 8051-perheen ensimmäiset valmistettiin n-MOS- tekniikalla, mutta myöhemmät versiot, joissa oli "C" nimessä, kuten 80C51, käyttivät CMOS -tekniikkaa ja kuluttivat vähemmän virtaa kuin n-MOS:n edeltäjät (tämä helpotti niiden käyttöä). ). akkukäyttöisille laitteille).

Ominaisuudet

Yhteinen piirre nykyaikaisissa 8051-yhteensopivissa mikro-ohjaimissa on ollut parannettujen ja lisäpiirien upottaminen, kuten: automaattinen palautus syöttöjännitteen putoamisen yhteydessä; sisäänrakennetut kellogeneraattorit ; ohjelmamuistin ohjelmointi piirin sisällä; EEPROM -pohjaiset haihtumattoman datamuistin automaattiset latauslaitteet ; I²C  ; SPI (3-johtiminen sarjaväylästandardi); USB -isäntäliitäntä; PWM- generaattorit; analogiset vertailulaitteet ; ADC- ja DAC- muuntimet; reaaliaikainen kello; lisäajastimet ja laskurit; piirin sisäiset debuggerit, lisäkeskeytyslähteet; edistyneet virransäästötilat.

8051-yhteensopivissa mikro-ohjaimissa on tyypillisesti yksi tai kaksi UART :ta ( UART ), kaksi tai kolme ajastinta, 128 tai 256 tavua RAM-muistia (josta 16 tavua bittiosoitteellisia), 512 tavua - 128 kilotavua on-chip-ohjelmamuistia. , ja joskus EEPROMin käyttöä kohdataan . osoitetaan "erityistoimintorekisterien" kautta (SFR = erikoistoimintorekisteri). UART / UART voidaan konfiguroida käytettäväksi 9-bittisessä datatilassa, mikä mahdollistaa pisteestä monipisteeseen lähetin-vastaanottimen, joka perustuu RS-485- laitteistoprotokollaan.

Yksi alkuperäisen 8051-ytimen konejakso kestää 12 kellojaksoa, ja useimmat käskyt suoritetaan yhdessä tai kahdessa konejaksossa. 12 MHz:n kellotaajuudella 8051-ydin voi suorittaa miljoona operaatiota sekunnissa yhdessä jaksossa tai 500 tuhatta operaatiota sekunnissa kahdessa jaksossa. Parannettu 8051-yhteensopiva ydin, joka on nykyään yleinen, suorittaa konesyklin kuudella, neljällä, kahdella tai jopa yhdellä kellojaksolla ja mahdollistaa jopa 100 MHz:n taajuisten kellogeneraattoreiden käytön, mikä on kasvattanut määrää. operaatioita sekunnissa.
Vielä nopeammat 8051-ytimet, 1 jakso konejaksoa kohden, järjestetään käyttämällä FPGA :ta, kuten FPGA :ta (nopeus 130-150 MHz) tai ASIC :tä (nopeus useita satoja MHz), käyttämällä erityistä laiteohjelmistoa [2] . Kaikissa SILabsin valmistamissa 8051-yhteensopivissa laitteissa , joissakin Dallasissa , joissakin Atmelin ja Nuvotonin valmistamissa laitteissa on ydin, jossa on yksi kello konejaksoa kohden.

Erittäin hyödyllinen 8051-ytimen ominaisuus on loogisen datan käsittely, mikä mahdollisti binäärilogiikan käyttöönoton, joka toimii suoraan sisäisen RAM-muistin (128 suoraan osoitettavan bitin alue) ja rekisterien biteillä. Tälle ominaisuudelle oli kysyntää teollisuusautomaatio - sovelluksissa . Toinen arvokas ominaisuus oli 4 itsenäistä rekisterijoukkoa , jotka vähensivät merkittävästi keskeytysviivettä verrattuna perinteiseen aiemmin käytettyyn pinoon .

Aiheeseen liittyvät ohjaimet

8051-ohjaimen edeltäjä oli Intel 8048 , jota käytettiin alkuperäisen IBM PC:n näppäimistössä  – se muunsi näppäinpainallussignaalit tietovirraksi, joka välitettiin sarjalinjaa pitkin tietokoneen järjestelmäyksikköön. 8048-ohjainta ja siihen perustuvia ohjaimia käytetään edelleen näppäimistöissä.

8031 -ohjain on Intel 8051: n riisuttu versio: siinä ei ole muistia ohjelman tallentamiseen.

8052 - ohjain on laajennettu versio alkuperäisestä Intel 8051:stä: se on varustettu 256 tavulla sisäistä RAM-muistia (8051:n 128 tavun sijaan), 8 kt ROM-muistia (4 kt:n sijaan) ja kolmannella 16-bittisellä ajastimella. on lisätty siihen.

8058 - ohjain eroaa 8052-ohjaimesta lisääntyneessä 32 kt:n ROM-muistissa.

8032 - ohjain on samanlainen kuin 8052, mutta siinä ei ole sisäänrakennettua muistia ohjelmien tallennusta varten. 8052- ja 8032-ohjaimia pidetään vanhentuneina, koska lähes kaikki nykyaikaiset 8051-versiot on varustettu samoilla laajennuksilla kuin 8052:ssa.

Ohjelmointi

8051:lle on saatavilla useita C-ohjelmointikielen kääntäjiä , erityisesti Keil, joista useimmat tukevat kielilaajennuksia 8051:n ominaisuuksien hyödyntämiseksi paremmin. Ohjelmoija voi esimerkiksi määrittää, missä 8051:n kuudesta muistityypistä muuttujan tulee olla varastoida; kääntäjälle voidaan kertoa kuinka käyttää kytkettäviä rekisterilohkoja ja ohjeita yksittäisten rekisteribittien käsittelyyn.

Muita korkean tason kieliä, kuten Forth , BASIC , Pascal , PL/M ja Modula-2 , käytetään ohjelmoimaan 8051:tä , mutta niitä ei käytetä yhtä laajasti kuin C :tä ja assembleria .

Intel i8085 , i8048 ja i8051 vertailu sarja I / O - rutiinien toiminnan esimerkissä
Syöttöalirutiini
8085 8048 8051
PALVELUKSESSA 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 joukkuetta 7 joukkuetta 3 joukkuetta
14 tavua 9 tavua 6 tavua
56 osavaltiota 9 sykliä 4 sykliä
19 µs 22,5 µs 4 µs
tulosrutiini
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
PALVELUKSESSA
J.C.H.I. J.C.H.I.
LO: ANI EI MASKIA ANL SERPRT, #NOT MASK
JMP CNT JMP CNT
HI: ORI MASK HI: ORL SERPRT, #MASK
CNT:OUT PALVELIN CNT:
     
10 joukkuetta 8 joukkuetta 3 joukkuetta
20 tavua 13 tavua 6 tavua
72 osavaltiota 11 sykliä 4 sykliä
24 µs 27,5 µs 4 µs

Sovellus

Tietojenkäsittelyydintä käytetään edelleen laajalti erilaisissa mikro-ohjaimissa yleisiin ja erityisiin tarkoituksiin erilaisilla oheislaitteilla.

Kirjallisuus

Linkit

Muistiinpanot

  1. Bob Koehler. 8051 yksisiruisen mikrotietokoneen arkkitehtoniset tiedot ja toiminnallinen kuvaus . - Santa Clara: Intel Corporation, 1980. Arkistoitu 13. lokakuuta 2011 Wayback Machinessa Arkistoitu kopio (linkki ei ole käytettävissä) . Haettu 18. syyskuuta 2012. Arkistoitu alkuperäisestä 13. lokakuuta 2011. 
  2. Esimerkkejä löytyy osoitteesta e8051.com