8051 mikrovaldiklis išlieka vienu iš plačiausiai pripažintų ir pagrindinių įterptųjų valdiklių skaitmeninėje elektronikoje. Šiame straipsnyje bus aptarta 8051 mikrovaldiklio kontaktų informacija, vidinė architektūra, blokinės schemos paaiškinimas, specifikacijos, programos, palyginimas su 8085 mikroprocesoriais ir daug daugiau.

8051 mikrovaldiklis pagrindinis
8051 mikrovaldiklis yra 8 bitų įterptosios sistemos valdiklis, kurį iš pradžių sukūrė "Intel", kuris integruoja procesorių, atmintį, įvesties / išvesties prievadus, laikmačius ir ryšio sąsajas į vieną lustą. Jis skirtas valdyti elektroninius prietaisus vykdant užprogramuotas instrukcijas ir tiesiogiai sąveikaujant su aparatūros komponentais. Skirtingai nuo bendrosios paskirties kompiuterinio procesoriaus, 8051 sukurtas specialiai specialioms valdymo užduotims, tokioms kaip jutiklių skaitymas, ekranų valdymas, variklių valdymas, ryšio signalų valdymas ir laiko operacijų atlikimas. Jo paskirtis yra tarnauti kaip įterptųjų sistemų "smegenys", įgalinančios automatizuotą valdymą ir sprendimų priėmimą kompaktiškuose, ekonomiškuose elektroniniuose dizainuose.
8051 mikrovaldiklio kontaktų informacija

| Smeigtuko Nr. | PIN pavadinimas | Tipas | Aprašymas |
|---|---|---|---|
| 1 – 8 | P1.0 – P1.7 | Įvesties / išvesties prievadas (1 prievadas) | Bendrosios paskirties 8 bitų dvikryptis įvesties / išvesties prievadas. Nėra alternatyvių funkcijų pagrindiniame 8051. |
| 9 | RST | Atstatyti | Aktyvi aukšto atstatymo įvestis. Didelis impulsas iš naujo nustato mikrovaldiklį. |
| 10 – 17 | P3.0 – P3.7 | Įvesties / išvesties prievadas (3 prievadas) | Dviejų funkcijų prievadas. Apima RXD, TXD, INT0, INT1, T0, T1, WR, RD. |
| 18 | XTAL2 | Laikrodis | Išėjimas iš vidinio osciliatoriaus stiprintuvo. |
| 19 | XTAL1 | Laikrodis | Įvestis į vidinį osciliatorių ir laikrodžio generatorių. |
| 20 | GND | Galia | Žemės atskaitos taškas (0 V). |
| 21 – 28 | P2.0 – P2.7 | I/O / Adreso magistralė | Bendrasis įvesties / išvesties arba aukštos eilės adreso magistralė (A8–A15), kai naudojama išorinė atmintis. |
| 29 | PSEN | Valdymas | Programų saugyklos įgalinimas. Naudojamas išorinei programos atminčiai nuskaityti. |
| 30 | ALE / PROG | Valdymas | Įgalinti adreso skląstį. Atskiria adresą / duomenis išorinėje atminties sąsajoje. |
| 31 | EA/VPP | Valdymas | Išorinės prieigos įgalinimas. Pasirenka vidinę arba išorinę programos atmintį. |
| 32 – 39 | P0.0 – P0.7 | I/O / Adresas/Duomenų magistralė | Sutankinta žemos eilės adreso ir (arba) duomenų magistralė (AD0–AD7) arba bendrosios paskirties įvestis/išvestis. |
| 40 | VCC | Galia | +5V maitinimo įvestis. |
8051 mikrovaldiklio architektūra

Žemiau pateikiami pagrindiniai 8051 architektūriniai blokai ir kaip kiekvienas iš jų veikia.
Centrinis procesorius (CPU)
CPU yra 8051 mikrovaldiklio šerdis ir yra atsakingas už instrukcijų vykdymą, aritmetinių ir loginių operacijų atlikimą bei visos vidinės veiklos koordinavimą. Tai apima aritmetinį loginį vienetą (ALU), akumuliatorių, B registrą, programos būsenos žodį (PSW), programos skaitiklį (PC), duomenų rodyklę (DPTR) ir rietuvės rodyklę (SP). Procesorius apdoroja 8 bitų duomenis ir kontroliuoja instrukcijų dekodavimą, laiką ir duomenų srautą tarp atminties ir periferinių įrenginių. Kiekviena mikrovaldiklio atliekama operacija valdoma per šį centrinį procesorių.
Programos atmintis (kodo atmintis)
Programos atmintyje saugomos instrukcijos, kurias vykdo mikrovaldiklis. Klasikiniame 8051 paprastai yra 4 KB vidinio ROM, kuris išsaugo saugomas instrukcijas net ir atjungus maitinimą. Architektūra taip pat leidžia išplėsti iki 64 KB išorinės programos atminties. Kadangi 8051 atitinka Harvardo architektūrą, programos atmintis yra atskirta nuo duomenų atminties, užtikrinant organizuotą instrukcijų vykdymą ir didesnį efektyvumą.
Duomenų atmintis (RAM)
Duomenų atmintis naudojama laikinam saugojimui vykdant programą. Standartas 8051 apima 128 baitus vidinės RAM, kuri yra padalinta į registrų bankus, bitų adresuojamą atmintį, bendrosios paskirties RAM ir rietuvės vietą. Ši atmintis saugo kintamuosius, tarpinius rezultatus ir veiklos duomenis, kol programa veikia. Išorinę duomenų atmintį taip pat galima išplėsti iki 64 KB, jei to reikia didesnėms programoms.
Įvesties / išvesties (I/O) prievadai
8051 turi keturis 8 bitų lygiagrečius įvesties / išvesties prievadus: 0 prievadą, 1 prievadą, 2 prievadą ir 3 prievadą. Šie prievadai leidžia mikrovaldikliui tiesiogiai susieti su išoriniais įrenginiais, tokiais kaip jutikliai, ekranai, jungikliai ir varikliai. Kai kurie prievadai taip pat turi alternatyvias funkcijas. Pavyzdžiui, 0 ir 2 prievadai gali būti naudojami kaip adresų ir duomenų magistralės išorinei atminčiai pasiekti, o 3 prievadas teikia specialias funkcijas, tokias kaip nuoseklusis ryšys ir išoriniai pertraukimai. Dėl šios lanksčios prievado konstrukcijos 8051 tinka įvairioms techninės įrangos sąsajų programoms.
Laikmačiai / skaitikliai
8051 turi du 16 bitų laikmačius / skaitiklius: laikmatis 0 ir laikmatis 1. Šie laikmačiai naudojami laiko vėlavimams generuoti, laiko intervalams matuoti, išoriniams įvykiams skaičiuoti ir nuosekliojo ryšio perdavimo spartai generuoti. Jie pagerina sistemos efektyvumą, tvarkydami laiko operacijas aparatinėje įrangoje, todėl procesorius gali vienu metu atlikti kitas užduotis.
Pertraukimo valdymo sistema
Pertraukimo sistema leidžia 8051 laikinai pristabdyti dabartinę užduotį, kad reaguotų į aukštesnio prioriteto įvykius. Mikrovaldiklis palaiko penkis pertraukimo šaltinius, įskaitant du išorinius pertraukimus, du laikmačio pertraukimus ir vieną nuosekliojo ryšio pertraukimą. Kai įvyksta pertrauka, procesorius automatiškai pereina prie iš anksto nustatytos paslaugos rutinos ir baigęs atnaujina pagrindinę programą. Ši funkcija pagerina reagavimą į programas realiuoju laiku.
Nuosekliojo ryšio sąsaja
8051 turi įmontuotą visiškai dvipusį UART (universalų asinchroninį imtuvą / siųstuvą), skirtą nuosekliam duomenų perdavimui. Tai leidžia mikrovaldikliui perduoti ir priimti duomenis per tam skirtus TXD ir RXD kaiščius. Ši funkcija plačiai naudojama ryšiui su kompiuteriais, ryšio moduliais ir kitais mikrovaldikliais.
Osciliatorius ir laikrodžio grandinė
Osciliatoriaus grandinė teikia laikrodžio signalą, reikalingą instrukcijoms vykdyti ir periferiniam darbui. 8051 naudoja išorines kristalų jungtis per XTAL1 ir XTAL2 kaiščius, kad generuotų stabilius laikrodžio impulsus. Šie laikrodžio impulsai sinchronizuoja visas vidines operacijas ir nustato instrukcijų vykdymo greitį.
Vidinė magistralės sistema
Vidinė magistralės sistema sujungia procesorių, atmintį ir periferinius įrenginius mikrovaldiklyje. Jame yra 8 bitų duomenų magistralė, 16 bitų adreso magistralė ir valdymo signalai. Duomenų magistralė perduoda duomenis, adresų magistralė parenka atminties vietas, o valdymo linijos valdo skaitymo/rašymo operacijas. Ši organizuota magistralės struktūra užtikrina sklandų ryšį tarp vidinių komponentų.
Kaip susieti LED su 8051 mikrovaldikliu
Žemiau esančioje diagramoje parodyta pagrindinė LED sąsajos grandinė su 8051 mikrovaldikliu. Vienas iš bendrosios paskirties įvesties / išvesties kaiščių (P1.0) naudojamas šviesos diodui valdyti per 220 Ω srovę ribojantį rezistorių. Rezistorius apsaugo šviesos diodą nuo per didelės srovės ir apsaugo nuo šviesos diodo ir mikrovaldiklio kaiščio pažeidimo. Kai išvesties kaištis P1.0 nustatytas HIGH (1 logika), srovė teka iš mikrovaldiklio per rezistorių ir šviesos diodą į žemę, todėl šviesos diodas šviečia. Kai kaištis nustatytas LOW (logika 0), srovės srautas sustoja ir šviesos diodas išsijungia. Tai rodo paprastą skaitmeninį išvesties valdymą naudojant 8051.

Grandinėje taip pat yra būtini pagalbiniai komponentai, užtikrinantys tinkamą mikrovaldiklio veikimą. Atstatymo grandinė, susidedanti iš kondensatoriaus (10 μF) ir rezistoriaus, užtikrina, kad 8051 tinkamai įsijungtų įjungus. Kristalinis osciliatorius (11,0592 MHz) su dviem 33pF kondensatoriais suteikia laikrodžio signalą, reikalingą instrukcijoms vykdyti. Prie 0 prievado prijungti traukiamieji rezistoriai užtikrina stabilų loginį lygį, kai naudojami kaip I/O linijos. Kartu šie komponentai sudaro pilną ir funkcionalią LED sąsajos sąranką, naudojant 8051 mikrovaldiklius.
8051 mikrovaldiklio specifikacijos
| Kategorija | Specifikacija | Išsami informacija |
|---|---|---|
| Procesoriaus architektūra | 8 bitų procesorius | Apdoroja 8 bitų duomenis; apima akumuliatorių (A) ir B registrą |
| Programos atmintis | Vidinis ROM | 8 KB Flash (tipiniai patobulinti 8051 variantai); išplečiama iki 64 KB išorinės atminties |
| Duomenų atmintis | Vidinė RAM | Iš viso 256 baitai (128 baitų bendroji RAM + 128 baitų SFR sritis) |
| Bendroji RAM (00H–7FH) | 128 baitai | Apima 4 registrų bankus (R0–R7), bitų adresuojamą sritį ir bendrosios paskirties RAM |
| Specialiųjų funkcijų registrai (80H–FFH) | 128 baitai | Valdo laikmačius, nuoseklųjį prievadą, įvesties / išvesties prievadus, pertraukimus ir sistemos funkcijas |
| Registruoti bankus | 4 Bankai | Kiekviename banke yra 8 bendrosios paskirties registrai (R0–R7) |
| Rietuvės rodyklė (SP) | 8 bitų | Taškai į rietuvės vietą RAM |
| Programų skaitiklis (PC) | 16 bitų | Turi kitos instrukcijos adresą |
| Duomenų rodyklė (DPTR) | 16 bitų | Naudojamas išorinės atminties adresavimui (DPH ir DPL) |
| Įvesties / išvesties prievadai | 32 I/O kaiščiai | Suskirstyta į 4 prievadus: P0, P1, P2, P3 (po 8 bitus) |
| Laikmačiai / skaitikliai | 2 × 16 bitų | Laikmatis 0 ir laikmatis 1 delsos generavimui ir įvykių skaičiavimui |
| Pertraukimai | 5 Pertraukimo šaltiniai | 2 išoriniai (INT0, INT1) + 3 vidiniai (laikmatis0, laikmatis1, nuoseklusis) |
| Nuoseklusis ryšys | Dvipusis UART | Atskiros Tx (perdavimo) ir Rx (priėmimo) eilutės |
| Osciliatorius | Lusto osciliatoriaus grandinė | Laikrodžio generavimui reikalingas išorinis kristalas |
| Adresas Autobusas | 16 bitų | Palaiko iki 64 KB išorinės atminties |
| Duomenų magistralė | 8 bitų | Perduoda duomenis viduje ir išorėje |
| Kontrolės registrai | Keli | Apima PCON, SCON, TMOD, TCON, IE, IP ir kitus |
| Darbo režimas | Harvardo architektūra | Atskiros programos ir duomenų atminties vietos |
8051 mikrovaldiklio taikymas
• Pramoninės automatikos sistemos – 8051 mikrovaldiklis naudojamas varikliams, relėms ir jutikliams valdyti automatizuotose gamybos linijose ir mašinų valdymo sistemose.
• Buitinė technika – valdo laiką, temperatūros reguliavimą ir vartotojo įvesties apdorojimą tokiuose įrenginiuose kaip skalbimo mašinos ir mikrobangų krosnelės.
• Įterptosios valdymo sistemos – 8051 mikrovaldiklis yra pagrindinis valdiklis specialiose įterptosiose programose, kurioms reikalingas stabilus ir nuspėjamas veikimas.
• Robotikos projektai – nuskaito jutiklių duomenis ir valdo pavaras, todėl tinka mažiems robotų ir automatikos projektams.
• Buitinė elektronika – 8051 mikrovaldiklis dažniausiai integruojamas į elektroninius žaislus, nuotolinio valdymo pultus ir skaitmeninius laikrodžius, skirtus signalų valdymui ir loginiam apdorojimui.
• Ryšių sistemos – palaiko nuoseklųjį ryšį, skirtą sąveikai su kompiuteriais, ryšio moduliais ir kitais mikrovaldikliais.
• Medicinos prietaisai – 8051 mikrovaldiklis naudojamas paprastoje stebėjimo ir mažos galios diagnostikos įrangoje.
• Automobilių programos – atlieka pagrindines valdymo funkcijas, tokias kaip ekrano valdymas ir jutiklių stebėjimas transporto priemonėse.
• Apsaugos sistemos – 8051 mikrovaldiklis naudojamas signalizacijos sistemose, klaviatūros užraktuose ir prieigos kontrolės įrenginiuose.
• Švietimo ir mokymo projektai – jis plačiai naudojamas akademinėse laboratorijose mokant mikrovaldiklių programavimo ir įterptinių sistemų projektavimo pagrindų.
8051 mikrovaldiklis vs 8085 mikroprocesorius
| Funkcija | 8051 mikrovaldiklis | 8085 mikroprocesorius |
|---|---|---|
| Tipas | Mikrovaldiklis | Mikroprocesorius |
| Architektūra | Harvardo architektūra (atskiras kodas ir duomenų atmintis) | Von Neumann architektūra (bendra kodo ir duomenų atmintis) |
| Duomenų plotis | 8 bitų | 8 bitų |
| Procesorius | Integruotas 8 bitų procesorius su lusto periferiniais įrenginiais | Tik 8 bitų procesorius (nėra įmontuotų periferinių įrenginių) |
| Programos atmintis | Paprastai 4 KB–8 KB vidinis ROM (išplečiamas iki 64 KB išorinis) | Nėra vidinio ROM (reikalinga išorinė atmintis) |
| Duomenų atmintis | 128–256 baitų vidinė RAM (išplečiama) | Nėra vidinės RAM (reikalinga išorinė RAM) |
| Įvesties / išvesties prievadai | 32 įmontuotos įvesties / išvesties linijos (4 prievadai) | Nėra integruotų įvesties / išvesties prievadų (reikalingi išoriniai sąsajos lustai) |
| Laikmačiai / skaitikliai | 2 × 16 bitų laikmačiai | Nėra vidinių laikmačių (reikalingi išoriniai laikmačiai) |
| Pertraukimai | 5 pertraukimo šaltiniai | 5 pertraukimo įėjimai (TRAP, RST 7.5, 6.5, 5.5, INTR) |
| Nuoseklusis ryšys | Integruotas dvipusis UART | Nėra įmontuoto nuosekliojo prievado |
| Osciliatorius | Lusto osciliatoriaus grandinė | Reikalingas išorinis laikrodžio generatorius |
| Krūva | Vidinis RAM kaminas | Išorinėje RAM valdoma rietuvė |
| Adresas Autobusas | 16 bitų (palaiko iki 64 KB išorinės atminties) | 16 bitų (palaiko iki 64 KB atminties) |
| Duomenų magistralė | 8 bitų | 8 bitų |
| Periferinė integracija | Labai integruotas (laikmačiai, nuoseklusis, I/O, pertraukimai) | Minimali integracija (tik procesorius) |
| Reikalingi išoriniai komponentai | Mažiau išorinių komponentų | Reikalingi keli išorinio palaikymo IC |
| Energijos suvartojimas | Žemas | Didesnis lyginant su mikrovaldiklių sistemomis |
| Dėmesys programai | Įterptinės sistemos ir valdymo programos | Bendrosios paskirties skaičiavimas ir sistemų kūrimas |
| Sudėtingumas | Paprastas, kompaktiškas sistemos dizainas | Sudėtingesnis sistemos projektavimas |
| Kaina | Mažesnės bendros sistemos išlaidos | Didesnė sistemos kaina dėl išorinių komponentų |
| Tipiški naudojimo atvejai | Buitinė technika, robotika, automatika, įterptieji įrenginiai | Ankstyvosios kompiuterinės sistemos, mokymo rinkiniai, procesorių sistemos |
| Įvedimo metai | 1980 m. (Intel) | 1976 m. (pagal Intel) |
8051 privalumai ir apribojimai
8051 Privalumai
• Paprasta ir lengvai suprantama architektūra
• Integruoti CPU, RAM, ROM, laikmačiai ir I/O prievadai viename luste
• Maža kaina ir plačiai prieinama
• Mažos energijos sąnaudos
• Integruotas nuosekliojo ryšio palaikymas
• Keli pertraukimo šaltiniai realiojo laiko programoms
• Išplečiama išorinė atmintis (iki 64KB)
• Didelė kūrimo įrankių ir mokymosi išteklių ekosistema
• Stabilus ir patikimas įterptųjų valdymo užduočių atlikimui
8051 apribojimai
• Ribota vidinė RAM ir programos atmintis
• 8 bitų apdorojimas riboja skaičiavimo galimybes
• Mažesnis apdorojimo greitis, palyginti su šiuolaikiniais mikrovaldikliais
• Pagrindinėse versijose nėra įmontuoto ADC ar DAC
• Riboti periferiniai įrenginiai, palyginti su pažangiais MCU (pvz., ARM, AVR)
• Sudėtingoms programoms reikalingi išoriniai komponentai
• Neidealiai tinka didelio našumo ar daug duomenų reikalaujančioms sistemoms
• Pasenusi architektūra, palyginti su šiuolaikiniais 32 bitų valdikliais
Išvada
Su 8051 mikrovaldiklio Harvardo architektūra, integruotu procesoriumi, organizuota atminties struktūra, programuojamais įvesties / išvesties prievadais, laikmačiais, pertraukimo sistema ir nuosekliojo ryšio palaikymu, jis yra išsamus ir efektyvus sprendimas specialioms valdymo programoms. Nors šiuolaikiniai mikrovaldikliai siūlo didesnį našumą ir pažangesnius periferinius įrenginius, 8051 išlieka vertingas dėl savo paprastumo, mažos kainos, patikimumo ir didelės edukacinės reikšmės.
Dažnai užduodami klausimai [DUK]
1 klausimas. Kokios programavimo kalbos naudojamos 8051 mikrovaldikliui?
8051 paprastai programuojamas Embedded C ir Assembly kalba. Įterptasis C yra plačiai naudojamas dėl lengvesnio derinimo ir nešiojamumo, o surinkimas siūlo tikslų aparatūros lygio valdymą.
2 klausimas. Kokie programinės įrangos įrankiai geriausiai tinka programuoti 8051?
Populiarūs įrankiai yra Keil μVision, Proteus (modeliavimui) ir SDCC (Small Device C Compiler). Keil yra plačiausiai naudojama profesinio tobulėjimo aplinka.
3 klausimas. Koks yra maksimalus 8051 laikrodžio dažnis?
Klasikinis 8051 paprastai veikia iki 12 MHz, o šiuolaikiniai patobulinti variantai gali veikti daug didesniu greičiu, priklausomai nuo gamintojo.
4 klausimas. Ar 8051 gali sąveikauti su šiuolaikiniais jutikliais ir moduliais?
Taip, 8051 gali sąveikauti su šiuolaikiniais jutikliais, naudojant skaitmeninius I/O, UART, SPI (per programinę įrangą) ir I2C (bit-banging arba išorinius IC), nors tam gali prireikti papildomų sąsajos komponentų.
5 klausimas. Kaip maitinamas 8051 ir kokia jo darbinė įtampa?
Standartas 8051 veikia esant +5 V. Tačiau kai kurie šiuolaikiniai dariniai palaiko mažesnę įtampą, pvz., 3,3 V mažos galios programoms.
6 klausimas. Kokie yra įprasti 8051 šeimos variantai šiandien?
Populiarūs variantai yra AT89C51, AT89S52 ir kiti patobulinti su 8051 suderinami skirtingų gamintojų mikrovaldikliai, siūlantys daugiau atminties ir funkcijų.
7 klausimas. Kuo 8051 skiriasi nuo šiuolaikinių mikrovaldiklių, tokių kaip ARM Cortex-M?
8051 yra 8 bitų valdiklis, skirtas paprastoms valdymo užduotims atlikti, o ARM Cortex-M įrenginiai yra 32 bitų procesoriai su didesniu greičiu, pažangiais periferiniais įrenginiais ir didesne atminties talpa.