Intel 8051 - Google

Intel 8051

Z Wikipedii

Skocz do: nawigacji, szukaj

Intel 8051 – mikrokontroler stworzony przez firmę Intel w 1980 roku. Zapoczątkował rodzinę mikrokontrolerów MCS-51 (od ang. MicroComputer System) będących udoskonalonymi lub wyspecjalizowanymi mikrokontrolerami o tej samej, ośmiobitowej architekturze i kompatybilnej z pierwowzorem liście rozkazów. Mikrokontrolery należące do rodziny MCS-51 do dziś znajdują szerokie zastosowanie w niemal każdej dziedzinie elektroniki. Produkowane są m.in. przez firmy Dallas Semiconductor, Philips i Atmel.

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

Oprócz możliwości programowania mikrokontrolera w asemblerze rodziny MCS-51, istnieje również możliwość programowania w kompilowanych językach wysokiego poziomu – najczęściej wykorzystywany do tego celu jest język C.

Spis treści

[edytuj] Specyfikacja mikrokontrolera 8051

  • oÅ›miobitowa jednostka arytmetyczno-logiczna (ALU)
  • cztery przełączane 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 (adresy podzielne przez 8)

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 rejestr, wykorzystywany w trakcie operacji mnożenia (MUL) i dzielenia (DIV)
  • PSW – rejestr stanu programu (Program Status Word), jest to zbiór różnych flag (wskaźników):
    • PSW.1=F1 – poczÄ…wszy od 8052, flaga którÄ… może zdefiniować użytkownik
    • PSW.2=OV (Overflow) – przepeÅ‚nienie, przekroczenie zakresu liczb w kodzie uzupeÅ‚nienia do 2 (U2)
    • PSW.3=RS0 (Register Bank Switch) mÅ‚odszy bit numeru banku
    • PSW.4=RS1 (Register Bank Switch) starszy bit numeru banku
    • PSW.5=F0 – flaga ogólnego zastosowania
    • PSW.6=AC (Auxiliary Carry) – przeniesienie z mÅ‚odszej do starszej tetrady (istotne w rozkazach arytmetycznych BCD)
    • PSW.7=CY (Carry) – przeniesienie z najstarszego bitu (oznacza np. przekroczenie zakresu przy sumowaniu NKB)
  • 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
      • IE0, IE1 – flagi przerwaÅ„ zewnÄ™trznych (zgÅ‚oszenie zewnÄ™trznego przerwania)
      • IT0, IT1 – sposób zewnÄ™trznego przerwania (0 – poziom niski, 1 – opadajÄ…ce zbocze)
  • 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] Timery 8051

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 licznik 13-bitowy
0 1 1 licznik 16-bitowy
1 0 2 licznik 8-bitowy z autoprzeładowaniem
1 1 3 T0 i T1 jako osobne liczniki 8-bitowe

W trybie 3 działa de facto tylko TLx (młodsze 8 bitów licznika), w momencie wygenerowania sygnału przepełnienia, do TLx ładowana jest wartość THx który w tym trybie pełni funkcje rejestru stałej.

  • TCON – starsze 4 bity
    • TF0, TF1 – flaga przepeÅ‚nienia timera
    • TR0, TR1 – flaga pracy timera (0 – stop, 1 – zliczanie)

Timery generują sygnał TFx przy przekroczeniu maksymalnej wartości – odpowiednio 2^13, 2^16, 2^8. jako, ze są to liczniki zliczające w przód, oraz ich inkrementacja następuję co jeden cykl zegarowy w celu kontrolowania odmierzanego przez nie czasu Tx jako wartość początkowa do TH | TL należy wpisać wartość

Tx = (maksimum zakresu w danym trybie-X)*12 *Tsoc

gdzie: maksimum zakresu w trybie 16 bit = 65 536, 8-bitowym = 256, a Tosc = 1/Częstotliwość układu taktującego W trybie 2 należy ta samą wartość wpisać zarówno do rejestrów TH i TL

[edytuj] Inne mikrokontrolery rodziny MCS-51

Oryginalny układ 8051 firmy Intel jest przestarzały i od dawna nieużywany w nowych konstrukcjach. Jednakże na rynku istnieje wiele udoskonalonych wersji tego mikrokontrolera – od prostych klonów kompatybilnych elektrycznie (pin-to-pin) z pierwowzorem, aż po rozbudowane układy, w których rdzeń 8051 stanowi jedynie małą część systemu. Zmiany w stosunku do oryginalnego układu 8051 obejmują przede wszystkim:

  • znacznie zmniejszony pobór mocy, szczególnie w tzw. trybach uÅ›pienia
  • zwiÄ™kszonÄ… czÄ™stotliwość taktowania
  • miniaturyzacjÄ™ obudów, zwiÄ™kszenie lub zmniejszenie (w wersjach uproszczonych) liczby wyprowadzeÅ„
  • udoskonalonÄ… interpretacjÄ™ sygnałów wejÅ›cia-wyjÅ›cia oraz sygnaÅ‚u reset (umożliwiajÄ…cÄ… bardziej elastyczne wykorzystanie portów i zwiÄ™kszajÄ…cÄ… odporność na zakłócenia)
  • powiÄ™kszonÄ… pamięć kodu, może to być zarówno pamięć staÅ‚a (ROM), jak i programowalna jednorazowo lub wielokrotnie (EPROM, EEPROM, FLASH)
  • dodatkowe elementy sÅ‚użące do zapisywania zawartoÅ›ci tej pamiÄ™ci w specjalnych programatorach lub w docelowym ukÅ‚adzie (In System Programming – ISP)
  • zwiÄ™kszonÄ… pamięć RAM
  • dodatkowe rejestry specjalne SFR, zwiÄ…zane m.in. z nowymi ukÅ‚adami czasowo – licznikowymi, dodatkowymi wskaźnikami adresów, dodatkowymi portami wejÅ›cia / wyjÅ›cia, w tym np. interfejsami szeregowymi, wejÅ›ciami przerwaÅ„, przetwornikami analogowo – cyfrowymi, zegarami czasu rzeczywistego, ukÅ‚adami szyfrujÄ…cymi itp.

Swój sukces rodzina MCS-51 zawdzięcza m.in. wyjątkowej łatwości rozbudowy, nie wymagającej jakiejkolwiek modyfikacji listy rozkazów. Wiąże się to ze sposobem uwzględniania dodatkowych elementów w przestrzeni adresowej mikrokontrolera – jest w niej wiele niewykorzystanych adresów, ułatwiających dostęp do nowych elementów za pośrednictwem dodatkowych rejestrów specjalnych (SFR).

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne


4000 GB w zsypie
Serwer, z którego nielegalnie można było pobrać 4000 gigabajtów nielegalnych gier, filmów, muzyki i programów zabezpieczyli policjanci z KWP. Administratorowi i właścicielowi serwera grozi do pięciu lat więzienia.
Społecznościowy antywirus?
Czy możliwe jest wykorzystanie potencjału społeczności internetowych, lub użytkowników sieci do ochrony komputera przed zagrożeniami płynącymi z sieci? Producent oprogramowania antywirusowego, Panda Security, właśnie takie rozwiązania planuje wprowadzić w swoich najnowszych produktach.
Mozilla aktualizuje Thunderbird'a
W ostatnią środę Mozilla udostępniła na swoich serwerach najnowszą wersję programu pocztowego Thunderbird 2.0.0.16, wzbogaconą o dziewięć zasadniczych poprawek.
Internetowy tablet z Firefoksem
Michael Arrington planuje stworzyć stylowy tablet, który służyć ma wyłącznie do surfowania w internecie.
Wielofunkcyjna stacja dokujÄ…ca
Stacje dokujące i huby USB to urządzenia przygotowane z myślą o osobach, którym ciągle brakuje gniazd przyłączeniowych.
Linki: Strona g³ówna