Privacy Policy Cookie Policy Terms and Conditions Intel 8051 - Wikipedia, wolna encyklopedia

Intel 8051

Z Wikipedii

Intel 8051 - mikrokontroler stworzony przez firmę Intel w 1980 roku, do dziś znajduje szerokie zastosowanie w niemal każdej dziedzinie elektroniki. Istnieje wiele mikrokontrolerów których architektura jest oparta na 8051, zazwyczaj są to układy rozbudowane lub znacznie ulepszone w stosunku do pierwowzoru, ich produkcją zajmują się m.in. Dallas, Philips i Atmel.

Mikrokontrolery rodziny 8051 wykonane są w zmodyfikowanej architekturze harwardzkiej. Należą do grupy mikrokontrolerów CISC.

Oprócz możliwości programowania mikrokontrolera w języku asembler rodziny 8051, istnieje możliwość programowania w językach wysokiego poziomu. Jednym z najpopularniejszych języków programowania mikrokontrolerów jest język C.

Spis treści

[edytuj] Specyfikacja mikrokontrolera 8051

  • ośmiobitowa jednostka arytmetyczno-logiczna (ALU)
  • cztery banki rejestrów roboczych (4 x R0..R7)
  • 4 kB pamięci wewnętrznej ROM (pamięć zewnętrzna ROM do 64 kB)
  • 128 B pamięci wewnętrznej RAM (pamięć zewnętrzna RAM do 64 kB)
  • zbiór rejestrów specjalnych SFR
  • układ generatora sygnału taktującego (czyli zegar procesora)
  • cztery ośmiobitowe równoległe porty P0..P3
  • jeden port szeregowy (obsługuje zarówno transmisję synchroniczną jak i asynchroniczną)
  • dwa liczniki/czasomierze działające w jednym z czterech trybów
  • jednobitowy procesor funkcji logicznych
  • system przerwań z układem priorytetów


==

[edytuj] Rejestry specjalne

Obszar pamięci o adresach od 0x80 do 0xFF nazywany jest obszarem rejestrów specjalnych (SFR - Special Function Registers). Rejestry te pozwalają na sterowanie różnymi funkcjami mikrokontrolera. Obszar ten nie jest ciągły (nie wszystkie adresy są zajęte) - umożliwia to ewentualne uzupełnienie obszaru o nowe funkcje.

[edytuj] Układ rejestrów w pamięci

* - adresowane bitowo

Adres Symbol Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0xF0* B
0xE0* ACC
0xD0* PSW CY AC F0 RS1 RS0 OV - P
0xC0* IP - - - PS PT1 PX1 PT0 PX0
0xB0* P3 /RD /WR T1 T0 /INT1 /INT0 TxD RxD
0xA8* IE EA - - ES ET1 EX1 ET0 EX0
0xA0* P2
0x99 SBUF
0x98* SCON SM0 SM1 SM2 REN TB8 RB8 TI RI
0x90* P1
0x8D TH1
0x8C TH0
0x8B TL1
0x8A TL0
0x89 TMOD GATE C/T M1 MO GATE C/T M1 M0
0x88* TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
0x87 PCON SMOD - - - GF1 GF0 PD IDL
0x83 DPH
0x82 DPL
0x81 SP
0x80* P0

[edytuj] Ważniejsze rejestry specjalne

  • ACC - akumulator, jeden z najczęściej wykorzystywanych rejestrów, gdyż obsługuje większość operacji arytmetycznych, logicznych, skoków warunkowych i wiele innych
  • B - dodatkowy akumulator, wykorzystywany w trakcie operacji mnożenia (MUL) i dzielenia (DIV)
  • PSW - rejestr stanu programu (Program Status Word), jest to zbór rożnych flag (wskaźników):
    • CY - przeniesienia (Carry), oznaczana również jako C, przekroczenie zakresu w operacjach arytmetycznych NKB
    • AC - przeniesienie pomocnicze (Auxiliary Carry), przekroczenie zakresu dla BCD
    • F0 - flaga ogólnego zastosowania (Flag 0)
    • RS1 - starszy bit numeru banku
    • RS0 - młodszy bit numeru banku
    • OV - przepełnienie (Overflow), przekroczenie zakresu w U2
    • PSW.1 - (1 bit PSW) flaga, którą może zdefiniować użytkownik
    • P - parzystość (Parity), flaga stanu akumulatora
  • Porty P0-P3 - wykorzystywane są do komunikacji ze światem zewnętrznym (wszelkimi urządzeniami peryferyjnymi), niektóre mają jeszcze dodatkowe funkcje
    • P0 i P2 - mogą zostać wykorzystanie jako wyprowadzenia szyny systemowej mikrokontrolera
    • P1 - portu ogólnego zastosowania
    • P3 - port posiada wyspecjalizowane linie (w SRF przedstawiane jako bity)
      • RD - odczyt pamięci danych
      • WR - zapis pamięci danych
      • T0,T1 - wejścia timerów zewnętrznych (zliczanie impulsów trybie pracy timerów jako liczniki)
      • INT0,INT1 - wejścia zewnętrznych przerwań
      • TxD, RxD - wysyłanie (Transmit) i odbieranie (Receive) danych (Data) przy transmisji szeregowej
  • Sterowanie przerwań
    • IE - zezwolenia dla przerwań (Interrupt Enable)
      • EA - ogólne zezwolenie dla przerwań
      • ES - zezwolenie dla przerwań od transmisji szeregowej
      • ET0, ET1 - zezwolenie dla przerwań od timerów
      • EX0, EX1 - zezwolenie dla przerwań zewnętrznych
    • IP - priorytety przerwań (Interrupt Priority)
      • PS - priorytet dla przerwań od transmisji szeregowej
      • PT0, PT1 - priorytet dla przerwań od timerów
      • PX0, PX1 - priorytet dla przerwań zewnętrznych
    • TCON - tylko młodsze 4 bity
      • IF0, IF1 - flagi przerwań zewnętrznych (zgłoszenie zewnętrznego przerwania)
      • IT0, IT1 - sposób zewnętrznego przerwania (0 - poziom niski, 1 - opadające zbocze)
  • Sterowanie timerów
    • TMOD - młodsze 4 bity odpowiadają timerowi 0, starsze - timerowi 1
      • GATE - bramkowanie, zliczanie impulsów kiedy GATE=0
      • C/T - tryb pracy timera (0 - timer wewnętrzny, 1 - licznik impulsów zewnętrznych)
      • M0, M1 - ustalają trybu pracy licznika
M0 M1 Tryb
0 0 0
0 1 1 licznik 16 bitowy
1 0 2 licznik 8 bitowy
1 1 3
    • TCON - starsze 4 bity
      • TF0, TF1 - flaga przepełnienia timera
      • TR0, TR1 - flaga pracy timera (0 - stop, 1 - zliczanie)
  • DPTR - 16 bitowy wskaźnik adresu danych
    • DPH - starszy bajt wskaźnika
    • DPL - młodszy bajt wskaźnika
  • SP - wskaźnik stosu (Stack Pointer)

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne


Mikrokontrolery
Intel Motorola (Freescale Semiconductor)
8-bitowe: MCS-48 | MCS-51 | 8xC251

16-bitowe: 80186/80188 | MCS-96 | MXS296
32-bitowe: i386EX | i960

8-bitowe: 68HC05 | 68HC08 | 68HC11

16-bitowe: 68HC12 | 68HC16 | DSP56k
32-bitowe: MPC500 | MPC 860 | MPC 8240/MPC 8250 | MPC 8540/MPC 8560 | 683XX

ZiLOG Atmel
Z8 | Z86E02 Atmel AT89 | Atmel AT90 - AVR | Atmel AT91SAM - ARM | MARC 4
Microchip Technology Texas Instruments
PIC MSP430 | TMS370
Philips Renesas Tech. Corp.
LPC2000 | LPC900 | LPC700 H8 | SuperH | M16C | M32R
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