Privacy Policy Cookie Policy Terms and Conditions 8051-microcontroller - Wikipedia

8051-microcontroller

De 8051 microcontroller is een acht bit microcontroller. Hij is zo populair dat er wel twintig (en meer) verschillende types op de markt zijn, die allemaal opgebouwd worden rond dezelfde kern (core). Deze derivaten worden aangeboden door ondermeer volgende fabrikanten: Intel, Philips/Signetics, Siemens, Dallas en Atmel.

Inhoud

[bewerk] Opbouw

De opbouw van de 8051 bestaat uit een minimaal computersysteem. De volgende vier items zijn terug te vinden in elk computersysteem:

  • Bus: De bus wordt gebruikt om de CPU te laten communiceren met de overige componenten van het systeem. De 8051 bevat drie bussen: de adres, data en controle bus.
  • CPU: De CPU (Centraal Processor Unit) voert bewerkingen uit en neemt beslissingen gebaseerd op het computerprogramma. Bij de 8051 is intern een CPU aanwezig.
  • Geheugen: Het geheugen wordt gebruikt om de programma-instructies, programma-adressen en data in op te slaan. Het kan samengesteld zijn uit verschillende types: ROM, RAM, EPROM en/of EEPROM.
  • Input/Output toestellen: Deze toestellen worden gebruikt om met de buitenwereld te communiceren of om informatie extern te bewaren. Toetsenborden, beeldschermen en printers zijn hier een paar voorbeelden van.

[bewerk] Adresruimte

De 8051 is opgebouwd volgens het algemeen Princeton Architectuur principe. Deze architectuur verdeelt de geheugenruimte in drie verschillende gebieden. Deze zijn:

  • Code geheugen: De 8051 heeft 4096 Bytes intern code geheugen. Dit geheugen kan uitgebreid worden tot een totaal van 64Kbytes. Door middel van de EA (External Acces) pen kan men het inwendig code geheugen uitschakelen.
  • Pen is laag: De processor zal de instructies uit het extern geheugen halen (fetch instructie).
  • Pen is hoog: De fetch instructie gebeurt inwendig.
  • Intern data geheugen: Het intern data geheugen van 256 bytes kunnen we onderverdelen in een onderste helft van 128 bytes, dat gebruikt wordt door het programma om datavariabelen te stockeren, en een bovenste helft van 128 bytes dat gereserveerd is voor de Special Function Registers (SFR’s).
Special Function Registers
  • De SFR’s worden gebruikt om de waarden (in bytes), die de werking van de 8051 controleren, te bewaren. SFR’s waarvan het adres deelbaar is door 8, zijn bit-adresseerbaar.
Bit-adresseerbaar geheugen
  • Er zijn zestien bytes van het intern data geheugen bit-adresseerbaar.
  • Extern data geheugen: Indien men meer data geheugen nodig heeft, beschikt de 8051 over een bijkomend extern data geheugen van 64Kbytes.

[bewerk] Penaansluitingen

Weergave van de 8051 DIL behuizing
Groter
Weergave van de 8051 DIL behuizing

De standaard 8051 is verkrijgbaar in een 40-pins DIP behuizing. Er bestaan verschillende varianten van de 8051, die uitgevoerd zijn in verschillende behuizingen. De twee afbeeldingen tonen de 8051 in respectievelijk een DIL (Dual In Line)- en een PLCC (Plastic Chip Carrier)-behuizing. De DIL-behuizing is leverbaar in keramisch of kunststof uitvoering. Voor een UV-wisbare EPROM-versie moet men kiezen voor de duurdere keramische uitvoering aangezien dit de enigste is die een venster heeft om de chip te kunnen wissen met UV-licht.

Specificaties:

  • 32Bi-directionele I/O lijnen geconfigureerd in vier 8-bit poorten.
  • Een programmeerbaar full-dublex serieel kanaal.
  • 64Kbytes programma geheugenruimte.
  • 64Kbytes data geheugenruimte.
  • Twee interne timer/counters.
  • Twee interrupt lijnen.

De functionele en alternatieve penaansluitingen van de 8051 (zie afbeeldingen) bestaan uit volgende onderdelen:

  • Poorten 0, 1, 2 en 3:
Poort 0: is een quasi-bidirectionele 8-bits poort. Bij gebruik van van extern geheugen dient deze poort als een gemultiplexeerde adresbus (laagste orde) en een databus.
Poort 1: (I/O) is een quasi-bidirectionele 8-bits poort.
Poort 2: (I/O) is een quasi-bidirectionele 8-bits poort. Deze poort dient als adresbus (hoogste byte) bij het gebruik van extern geheugen.
Poort 3: (I/O) is een quasi-bidirectionele 8-bits poort met verscheidene specifieke functies:
P3.0 = RXD(serial port input)
P3.1 = TXD(serial port output)
P3.2 = INT0
P3.3 = INT1
P3.4 = T0(Timer 0 input)
P3.5 = T1(Timer 1 input)
P3.6 = WR’(Write strobe voor externe data)
P3.7 = RD’(Read strobe voor externe data)
  • VCC:+5V
  • Vss:0V
  • XTAL:Aansluiting voor een kristal of een externe klokgenerator.
  • RST:Reset pin. Bij een hoog niveau op deze pin zal de 8051 resetten.
  • EA/Vpp: De EA (External Access) optie dient voor de keuze tussen intern of extern programma geheugen.
L-niveau: externe ROM
H-niveau: interne ROM
De Vpp staat voor de programmatiespanning voor een 8751 (EPROM versie)
  • PSEN: Program Store Enable. Dit is het leessignaal voor extern programmageheugen.
  • ALE/PROG: ALE (Adres Latch Enable) is het controlesignaal voor de gemultiplexte adresbus (Poort 0). De PROG optie dient bij de 8751 voor de programmatie-impuls aan te leggen om de inwendige EPROM te programmeren.

[bewerk] De 8051 Assembleer taal (ASM51)

Een 8051 programma bestaat uit een opeenvolging van instructies onder de vorm van een hexadecimale code. Deze code moet dan in de controller worden geplaatst. Omdat een programma onder de vorm van een hexadecimale code zeer moeilijk te ontwikkelen is, schrijven we eerst het programma in een voor de mens leesbare vorm.We maken hierbij gebruik van ‘mnemonics’. Voorbeelden hiervan zijn ondermeer MOV en CALL. Deze mnemonics worden dan omgezet naar een hexadecimale code, de zogenaamde object code. Voor deze omzetting gebruiken we een zogenaamde assembler die door de verschillende fabrikanten wordt geleverd.

Een voordeel, bij het gebruik van een assembler programma, is de betere leesbaarheid door het gebruik van mnemonics in plaats van de hexadecimale code.

 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu