Technika mikroprocesorowa

Wielkość: px
Rozpocząć pokaz od strony:

Download "Technika mikroprocesorowa"

Transkrypt

1 Technika mikroprocesorowa Leksykon kieszonkowy Mirosław Kozioł Instytut Metrologii, Elektroniki i Informatyki

2 2016 Instytut Metrologii, Elektroniki i Informatyki, Uniwersytet Zielonogórski Niniejsze opracowanie przeznaczone jest do użytku osobistego i niekomercyjnego. W przypadku studentów Wydziału Informatyki, Elektrotechniki, i Automatyki Uniwersytetu Zielonogórskiego dopuszcza się wykonanie wydruku jednej kopi materiałów w celach dydaktycznych. Kopiowanie, wprowadzanie zmian, przesyłanie i wykorzystywanie niniejszej publikacji w całości lub fragmentach przez inne osoby bez pisemnej zgody Autora jest zabronione. 2 Instytut Metrologii, Elektroniki i Informatyki

3 Spis treści Systemy liczbowe... 5 System dziesiętny... 5 Przedrostki wielokrotności i podwielokrotności dziesiętnych... 6 System dwójkowy... 6 Konwersja liczby dwójkowej na zapis dziesiętny... 6 Konwersja liczby dziesiętnej na zapis dwójkowy... 7 Przedrostki wielokrotności dwójkowych... 7 System szesnastkowy... 7 Konwersja liczb szesnastkowej na zapis dziesiętny... 8 Konwersja liczb dziesiętnej na zapis szesnastkowy... 8 Konwersja liczb dwójkowych na zapis szesnastkowy... 8 Konwersja liczb szesnastkowych na zapis dwójkowy... 9 Bramki logiczne Tablica kodów ASCII Mapa pamięci mikrokontrolerów rodziny MCS Mapa wewnętrznej pamięci danych Obszar rejestrów specjalnych Rejestry adresowane bitowo Rejestry mikrokontrolerów rodziny MCS PSW słowo stanu programu TCON sterowanie liczników T0 i T1, konfiguracja przerwań INT0 i INT TMOD tryb pracy liczników T0 i T T2CON sterowanie licznika T SCON sterowanie pracą portu szeregowego IE rejestr maski przerwań IP rejestr priorytetów przerwań Lista rozkazów mikrokontrolerów rodziny MCS Instytut Metrologii, Elektroniki i Informatyki 3

4 Dyrektywy asemblera ASEM Asemblacja kodu Symbole Liczby Wyrażenia Etykiety Definicja segmentu BSEG, CSEG, DSEG, ISEG, XSEG Kontrolowanie adresów w segmentach ORG Definicje symboli EQU, SET BIT, CODE, DATA, IDATA, XDATA Inicjalizacja pamięci kodu DB DW Rezerwacja pamięci danych DBIT DS Inne dyrektywy END Rozszerzenia języka C w kompilatorze SDCC Dostępne typy danych Alokacja zmiennej w określonym obszarze pamięci Alokacja zmiennej pod określonym adresem Dostęp do układów mapowanych w obszarze zewnętrznej pamięci danych Funkcje obsługi przerwań Instytut Metrologii, Elektroniki i Informatyki

5 Systemy liczbowe System liczbowy to zbiór reguł do jednolitego zapisu i nazewnictwa liczb. Do zapisywania liczb używa się skończonego zbioru znaków, zwanych cyframi, które można łączyć w dowolnie długie ciągi, otrzymując nieskończoną liczbę kombinacji. Systemy liczbowe można podzielić na pozycyjne i addytywne. Pozycyjny system liczbowy to sposób zapisywania liczb za pomocą skończonego zbioru znaków, w którym wartość liczbowa cyfry zależy od jej umiejscowienia (pozycji) względem sąsiednich znaków. System pozycyjny charakteryzuje liczba zwana podstawą systemu pozycyjnego, która jednocześnie określa liczbę używanych cyfr. Każda pozycja ma swoją wagę równą podstawie podniesionej do potęgi o wartości numeru pozycji. Wartość liczby uzyskujemy po zsumowaniu poszczególnych iloczynów wag i cyfr pozycji. = gdzie: podstawa systemu, liczba cyfr w ciągu, liczba n-cyfrowa zapisana w systemie o podstawie, numer pozycji cyfry w ciągu liczbowym, cyfry należące do zbioru {0, 1,, 1}, waga. UWAGA: W tej części opracowania liczby w poszczególnych systemach są oznaczane za pomocą indeksu dolnego w postaci pierwszej litery angielskiej nazwy danego systemu liczbowego, tj. D dziesiętny (ang. decimal), B dwójkowy (ang. binary), H szesnastkowy (ang. hexadecimal). System dziesiętny System dziesiętny to system pozycyjny, w którym podstawę stanowi liczba 10. Zbiór cyfr w tym systemie stanowi dziesięć cyfr arabskich: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Liczba naturalna w systemie dziesiętnym ma postać:, gdzie przyjmuje wartość 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, np. 287D. Instytut Metrologii, Elektroniki i Informatyki 5

6 Przedrostki wielokrotności i podwielokrotności dziesiętnych Przedrostek Oznaczenie Wartość jotta Y = zetta Z = eksa E = peta P = tera T = giga G 10 9 = mega M 10 6 = kilo k 10 3 = hekto h 10 2 = 100 deka da 10 1 = 10 decy d 10-1 = 0,1 centy c 10-2 = 0,01 mili m 10-3 = 0,001 mikro µ 10-6 = 0, nano n 10-9 = 0, piko p = 0, femto f = 0, atto a = 0, zepto z = 0, jokto y = 0, System dwójkowy System dwójkowy to system pozycyjny, w którym podstawę stanowi liczba 2. Zbiór cyfr w tym systemie stanowią dwie cyfry arabskie: 0 oraz 1. Liczba naturalna w systemie dwójkowym ma postać:, gdzie przyjmuje wartość 0 lub 1, np. 1001B. Konwersja liczby dwójkowej na zapis dziesiętny Konwersję liczby dwójkowej na zapis dziesiętny można dokonać posługując się zależnością gdzie: liczba cyfr w ciągu, = 2 6 Instytut Metrologii, Elektroniki i Informatyki

7 numer pozycji cyfry w ciągu liczbowym, cyfry należące do zbioru {0, 1}. Przykład: 1001 = = = Konwersja liczby dziesiętnej na zapis dwójkowy Aby dokonać zamiany liczby dziesiętnej na zapis dwójkowy, należy wykonać cykliczne dzielenie z resztą. Dzielną jest liczba dziesiętna, natomiast dzielnikiem jest podstawa systemu dwójkowego, czyli 2. Wynik uzyskany z pierwszego dzielenia ponownie jest dzielony przez 2, i tak aż do uzyskania 0. Liczba dwójkowa powstaje na bazie reszt zapisanych w odwrotnej kolejności. Przykład: Przedrostki wielokrotności dwójkowych 1 25:2=12 =1 12:2=6 =0 6:2=3 =0 3:2=1 =1 1:2=0 =1 25 =11001 Przedrostek Oznaczenie Wartość jobi Yi 2 80 = (2 10 ) 8 = zebi Zi 2 70 = (2 10 ) 7 = exbi Ei 2 60 = (2 10 ) 6 = pebi Pi 2 50 = (2 10 ) 5 = tebi Ti 2 40 = (2 10 ) 4 = gibi Gi 2 30 = (2 10 ) 3 = mebi Mi 2 20 = (2 10 ) 2 = kibi Ki 2 10 = (2 10 ) 1 = System szesnastkowy System szesnastkowy to system pozycyjny, w którym podstawę stanowi liczba 16. Zbiór cyfr w tym systemie stanowi szesnaście znaków. Pierwsze dziesięć to arabskie cyfry: 0, 1, 2, 3, 4, 5, 6, 1 Zgodnie z normą europejską EN Instytut Metrologii, Elektroniki i Informatyki 7

8 7, 8, 9, pozostałe sześć to pierwsze litery alfabetu łacińskiego: A, B, C, D, E, F, oznaczające kolejno dziesiętne: 10, 11, 12, 13, 14, 15. Liczba naturalna w systemie szesnastkowym ma postać:, gdzie przyjmuje wartość 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, np. 2F8H. Konwersja liczb szesnastkowej na zapis dziesiętny Konwersję liczby szesnastkowej na zapis dziesiętny można dokonać posługując się zależnością = 16 gdzie: liczba cyfr w ciągu, numer pozycji cyfry w ciągu liczbowym, cyfry należące do zbioru {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Przykład: 2F8 =2 F 8 =2 16 +F = = =760 Konwersja liczb dziesiętnej na zapis szesnastkowy Aby dokonać zamiany liczby dziesiętnej na zapis szesnastkowy, należy wykonać cykliczne dzielenie z resztą. Dzielną jest liczba dziesiętna, natomiast dzielnikiem jest podstawa systemu szesnastkowego, czyli 16. Wynik uzyskany z pierwszego dzielenia ponownie jest dzielony przez 16, i tak aż do uzyskania 0. Liczba szesnastkowa powstaje na bazie reszt zapisanych w odwrotnej kolejności. Wartości powyżej 9 koduje się za pomocą odpowiednich znaków. Przykład: 1221:16=76 =5 76:16=4 =12(C) 4:16=0 = =4C5 Konwersja liczb dwójkowych na zapis szesnastkowy System szesnastkowy jest najczęściej wykorzystywany do krótszego zapisu liczb zapisanych w systemie dwójkowych. 8 Instytut Metrologii, Elektroniki i Informatyki

9 Konwersję liczby dwójkowej na postać szesnastkową należy rozpocząć od pogrupowania ciągu po cztery cyfry. Grupowanie rozpoczynamy od prawej strony i kontynuujemy aż do uzyskania końca liczby. Jeżeli ostatnie cyfry w pogrupowanej liczbie mają mniej niż cztery znaki, należy uzupełnić puste pozycje zerami. Następnie, posługując się tabelą, należy wszystkie pogrupowane znaki zamienić na odpowiadające im cyfry w zapisie szesnastkowym Przykład: Cyfra szesnastkowa Liczba dwójkowa Cyfra szesnastkowa A B C D E F 1111 Liczba dwójkowa D = D = 2D H Konwersja liczb szesnastkowych na zapis dwójkowy Przy konwersji liczby szesnastkowej na zapis dwójkowy wystarczy na podstawie powyższej tabeli zmienić cyfry zapisu szesnastkowego na czterocyfrowe ciągi binarne i połączyć je w jedną liczbę. Przykład: F8A2 H = D = D Instytut Metrologii, Elektroniki i Informatyki 9

10 Bramki logiczne Nazwa Symbol ANSI Symbol IEC Tabela prawdy AND A B Y = A B NAND A B Y = A B OR A B Y = A + B NOR A B Y = A + B XOR A B Y = A B XNOR A B Y = A B Inwerter A Y = A Instytut Metrologii, Elektroniki i Informatyki

11 Nazwa Symbol ANSI Symbol EN Tabela prawdy Bufor A Y = A Instytut Metrologii, Elektroniki i Informatyki 11

12 Tablica kodów ASCII Kod DEC HEX BIN Znak Null (NUL) Start of Heading (SOH) Start of Text (SOT) End of Text (EOT) End of Transmission (EOT) Enquiry (ENQ) Acknowledge (ACK) Bell (BEL) Backspace (BS) Horizontal Tab (HT) 10 0A Line Feed (LF) 11 0B Vertical Tab (VT) 12 0C Form Feed (FF) 13 0D Carriage Return (CR) 14 0E Shift Out (SO) 15 0F Shift In (SI) Data Link Escape (DLE) Device Control (DC1) Device Control (DC2) Device Control (DC3) Device Control (DC4) Negative Acknowledge (NAK) Synchronous Idle (SYN) End of Transmission Block (ETB) Cancel (CAN) End od Medium (EM) 26 1A Substitute (SUB) 27 1B Escape (ESC) 28 1C File Separator (FS) 29 1D Group Separator (GS) 30 1E Record Separator (RS) 31 1F Unit Separator (US) 12 Instytut Metrologii, Elektroniki i Informatyki

13 Kod Kod Znak DEC HEX BIN DEC HEX BIN Znak Spacja E ! F G # H $ I % 74 4A J & 75 4B K C L ( 77 4D M ) 78 4E N 42 2A * 79 4F O 43 2B P 44 2C , Q 45 2D R 46 2E S 47 2F / T U V W X Y A Z B [ C \ D ] E ^ 58 3A : 95 5F _ 59 3B ; C < a 61 3D = b 62 3E > c 63 3F ? d e A f B g C h D i Instytut Metrologii, Elektroniki i Informatyki 13

14 Kod Kod Znak DEC HEX BIN DEC HEX BIN Znak 106 6A j u 107 6B k v 108 6C l w 109 6D m x 110 6E n y 111 6F o 122 7A z p 123 7B { q 124 7C r 125 7D } s 126 7E ~ t 127 7F Delete 14 Instytut Metrologii, Elektroniki i Informatyki

15 Mapa pamięci mikrokontrolerów rodziny MCS-51 Mapa wewnętrznej pamięci danych Instytut Metrologii, Elektroniki i Informatyki 15

16 Obszar rejestrów specjalnych F8h F9h FAh FBh FCh FDh FEh FFh B F0h 00h F1h F2h F3h F4h F5h F6h F7h E8h E9h EAh EBh ECh EDh EFh EFh ACC E0h 00h E1h E2h E3h E4h E5h E6h E7h D8h D9h DAh DBh DCh DDh DEh DFh PSW D0h 00h D1h D1h D1h D1h D1h D1h D1h T2CON C8h 00h C9h RCAP2L CAh 00h RCAP2H CBh 00h TL2 TH2 CCh 00h CDh 00h CEh CFh C0h IP B8h XXh P3 B0h FFh IE A8h XXh P2 A0h FFh 98h SCON P1 00h 90h FFh 88h TCON P0 00h 80h FFh 4 3 C1h C2h C3h C4h C5h C6h C7h B9h BAh BBh BCh BDh BEh BFh B1h B2h B3h B4h B5h B6h B7h A9h AAh ABh ACh ADh AEh AFh A1h A2h A3h A4h A5h A6h A7h SBUF 99h XXh 89h 81h TMOD SP 00h 07h 2 9Ah 9Bh 9Ch 9Dh 9Eh 9Fh 91h 92h 93h 94h 95h 96h 97h TL0 8Ah 00h 82h DPL 00h TL1 8Bh 00h 83h DPH 00h TH0 8Ch 00h TH1 8Dh 00h 8Eh 84h 85h 86h 8Fh PCON 87h XXh 1 16 Instytut Metrologii, Elektroniki i Informatyki

17 Rejestry adresowane bitowo F7h 0 F6h 0 F5h 0 F4h 0 F3h 0 F2h 0 F1h 0 F0h 0 F8h B F0h 00h E7h 0 E6h 0 E5h 0 E4h 0 E3h 0 E2h 0 E1h 0 E0h 0 E8h ACC E0h 00h CY AC F0 RS1 RS0 OV P D7h 0 CFh 0 D6h 0 CEh 0 D5h 0 CDh 0 D4h 0 CCh 0 D3h 0 CBh 0 D2h 0 CAh 0 D1h 0 C9h 0 D0h 0 TF2 EXF2 RCLK TCLK EXEN2 TR2 CT2 CPRL2 C8h 0 D8h PSW D0h 00h T2CON C8h 00h BFh X BEh X B7h 1 B6h 1 PT2 PS PT1 PX1 PT0 PX0 BDh 0 B5h 1 BCh 0 B4h 1 BBh 0 B3h 1 BAh 0 B2h 1 B9h 0 B1h 1 B8h 0 RD WR T1 T0 INT1 INT0 TXD RXD AFh 0 AEh X ADh 0 ACh 0 ABh 0 AAh 0 A9h 0 B0h 1 EA ET2 ES ET1 EX1 ET0 EX0 A8h 0 A7h 1 A6h 1 A5h 1 A4h 1 A3h 1 A2h 1 A1h 1 A0h 1 SM0 SM1 SM2 REN TB8 RB8 TI RI 9Fh 0 97h 1 96h 1 95h 1 94h 1 93h 1 92h 1 8Fh 0 9Eh 0 8Eh 0 9Dh 0 8Dh 0 9Ch 0 8Ch 0 9Bh 0 8Bh 0 9Ah 0 8Ah 0 99h 0 T2EX 91h 1 89h 0 98h 0 90h 1 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 87h 1 86h 1 85h 1 84h 1 83h 1 82h 1 81h 1 80h 1 T2 88h 0 C0h IP B8h XXh P3 B0h FFh IE A8h XXh P2 A0h FFh SCON 98h P1 00h 90h FFh TCON 88h P0 00h 80h FFh 4 3 Instytut Metrologii, Elektroniki i Informatyki 17

18 Rejestry mikrokontrolerów rodziny MCS-51 PSW słowo stanu programu MSb LSb CY AC F0 RS1 RS0 OV P DFh DEh DDh DCh DBh DAh D9h D8h PSW.7 CY Znacznik przeniesienia Modyfikowany sprzętowo podczas wykonywania operacji arytmetycznych. Sygnalizuje przeniesienie lub pożyczkę z bitu 7. Pełni funkcję akumulatora procesora boolowskiego. PSW.6 AC Znacznik przeniesienia pomocniczego Modyfikowany sprzętowo podczas wykonywania rozkazów arytmetycznych. Sygnalizuje przeniesienie lub pożyczkę z bitu 3 Wykorzystywany przy korekcji dziesiętnej wyniku dodawania liczb w kodzie BCD. PSW.5 F0 Znacznik programowy ogólnego przeznaczenia PSW.4 RS1 Wybór banku rejestrów (bit 1) Zmieniany programowo. Wskazuje PSW.3 RS0 Wybór banku rejestrów (bit 0) używany aktualnie zbiór rejestrów roboczych. PSW.2 OV Znacznik przepełnienia (nadmiaru) Modyfikowany sprzętowo podczas wykonywania rozkazów arytmetycznych. Wskazuje przekroczenie zakresu liczb ze znakiem w kodzie uzupełnienia do 2 (U2). PSW.1 Znacznik ogólnego przeznaczenia PSW.0 P Znacznik parzystości Modyfikowany sprzętowo w każdym cyklu maszynowym. Wskazuje parzystą (P=0) lub nieparzystą (P=1) liczbę jedynek w akumulatorze. RS1 RS0 Bank Adresy rejestrów h 07h h 0Fh h 17h h 1Fh 18 Instytut Metrologii, Elektroniki i Informatyki

19 TCON sterowanie liczników T0 i T1, konfiguracja przerwań INT0 i INT1 MSb LSb TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8Fh 8Eh 8Dh 8Ch 8Bh 8Ah 89h 88h TCON.7 TF1 Znacznik przepełnienia licznika T1. Ustawiany sprzętowo przy wystąpieniu przepełnienia licznika. Zerowany sprzętowo tylko w przypadku obsługi przerwania od tego licznika. TCON.6 TR1 Bit sterujący pracą licznika T1: 0 licznik zatrzymany, 1 licznik pracuje. TCON.5 TF0 Znacznik przepełnienia licznika T0. Ustawiany sprzętowo przy wystąpieniu przepełnienia licznika. Zerowany sprzętowo tylko w przypadku obsługi przerwania od tego licznika. TCON.4 TR0 Bit sterujący pracą licznika T0: 0 licznik zatrzymany, 1 licznik pracuje. TCON.3 IE1 Znacznik zgłoszenia przerwania na INT1. Zerowany sprzętowo po obsłużeniu przerwania. TCON.2 IT1 Bit sterujący sposobem zgłoszenia przerwania na wejściu INT1: 0 przerwanie zgłaszane niskim poziomem, 1 przerwanie zgłaszane wystąpieniem zbocza opadającego. TCON.1 IE0 Znacznik zgłoszenia przerwania na INT0. Zerowany sprzętowo po obsłużeniu przerwania. TCON.0 IT0 Bit sterujący sposobem zgłoszenia przerwania na wejściu INT0: 0 przerwanie zgłaszane niskim poziomem, 1 przerwanie zgłaszane wystąpieniem zbocza opadającego. Instytut Metrologii, Elektroniki i Informatyki 19

20 TMOD tryb pracy liczników T0 i T1 MSb LSb GATE C/T M1 M0 GATE C/T M1 M0 Licznik T1 Licznik T0 TCON.7 GATE Uaktywnienie bramkowania licznika T1 sygnałem z wejścia INT1. 0 licznik pracuje, gdy TR1=1, 1 licznik pracuje, gdy TR1=1 i INT1=1. TCON.6 C/T Wybór funkcji licznika T1: 0 licznik pracuje jako czasomierz taktowany wewnętrznym sygnałem zegarowym, 1 licznik pracuje jako licznik zdarzeń zewnętrznych taktowany sygnałem z wejścia T1. TCON.5 M1 Wybór trybu pracy licznika T1 (bit 1). TCON.4 M0 Wybór trybu pracy licznika T1 (bit 0). TCON.3 GATE Uaktywnienie bramkowania licznika T0 sygnałem z wejścia INT0. 0 licznik pracuje, gdy TR0=1, 1 licznik pracuje, gdy TR0=1 i INT0=1. TCON.2 C/T Wybór funkcji licznika T0: 0 licznik pracuje jako czasomierz taktowany wewnętrznym sygnałem zegarowym, 1 licznik pracuje jako licznik zdarzeń zewnętrznych taktowany sygnałem z wejścia T0. TCON.1 M1 Wybór trybu pracy licznika T0 (bit 1). TCON.0 M0 Wybór trybu pracy licznika T0 (bit 0). M1 M0 Opis 0 0 Tryb 0: THi pracuje jako 8-bitowy licznik taktowany przez 5-bitowy dzielnik Tli dając w sumie licznik 13-bitowy. 0 1 Tryb 1: THi.TLi pracuje jako 16-bitowy licznik. 1 0 Tryb 2: TLi pracuje jako 8-bitowy licznik z automatycznym przeładowaniem wartości początkowej z THi. 1 1 Tryb 3: Licznik T0 dwa niezależne 8-bitowe liczniki: TL0 sterowany za pomocą bitów sterujących licznika T0 TH0 sterowany za pomocą bitów sterujących licznika T1 Licznik T1 zatrzymany. 20 Instytut Metrologii, Elektroniki i Informatyki

21 Schemat blokowy licznika T0 lub T1 pracującego w trybie 0 (na rysunku i = 0 lub 1 w zależności od numeru rozpatrywanego licznika) fxtal Ti TRi 12 C/T=0 C/T=1 TLi THi 5 bitów 8 bitów TFi Zgłoszenie przerwania INTi GATE Schemat blokowy licznika T0 lub T1 pracującego w trybie 1 (na rysunku i = 0 lub 1 w zależności od numeru rozpatrywanego licznika) fxtal Ti TRi 12 C/T=0 C/T=1 TLi THi 8 bitów 8 bitów TFi Zgłoszenie przerwania INTi GATE Schemat blokowy licznika T0 lub T1 pracującego w trybie 2 (na rysunku i = 0 lub 1 w zależności od numeru rozpatrywanego licznika) Instytut Metrologii, Elektroniki i Informatyki 21

22 Schemat blokowy licznika T0 pracującego w trybie 3 TR1 fxtal T0 TR0 12 C/T=0 C/T=1 TH0 8 bitów TL0 8 bitów TF1 Zgłoszenie przerwania TF0 Zgłoszenie przerwania INT0 GATE 22 Instytut Metrologii, Elektroniki i Informatyki

23 T2CON sterowanie licznika T2 MSb LSb TF2 TXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 CFh CEh CDh CCh CBh CAh C9h C8h T2CON.7 TF2 Znacznik przepełnienia licznika T2; ustawiany sprzętowo przy przepełnieniu licznika, zerowanie musi być realizowane programowo. T2CON.6 TXF2 Znacznik określający wystąpienie przeładowania nową wartością lub zapamiętania rejestrów roboczych TL2 i TH2 licznika T2 spowodowanego wystąpieniem zbocza opadającego na wejściu T2EX przy ustawionym bicie EXEN2. W przypadku aktywnego przerwania od licznika T2 powoduje przejście do wektora przerwania związanego z tym licznikiem. Znacznik ten musi być zerowany programowo. T2CON.5 RCLK Bit sterujący taktowaniem odbiornika portu szeregowego (dotyczy tylko trybu 1 i 3 pracy portu szeregowego): 0 odbiornik portu szeregowego taktowany sygnałem przepełnienia licznika T1, 1 odbiornik portu szeregowego taktowany przepełnieniem licznika T2. T2CON.4 TCLK Bit sterujący taktowaniem nadajnika portu szeregowego (dotyczy tylko trybu 1 i 3 pracy portu szeregowego): 0 odbiornik portu szeregowego taktowany sygnałem przepełnienia licznika T1, 1 portu szeregowego taktowany przepełnieniem licznika T2. T2CON.3 EXEN2 Ustawienie tego bitu powoduje, że przy każdorazowym wystąpieniu zbocza opadającego na wejściu T2EX następuje przeładowanie nową wartością lub zapamiętanie rejestrów roboczych licznika T2 (w zależności od stanu bitu CP/RL2) pod warunkiem, że licznik T2 nie jest używany do generowania prędkości transmisji portu szeregowego. Zerowy stan tego bitu nakazuje ignorowanie zdarzeń występujących na wejściu T2EX. T2CON.2 TR2 Bit sterujący pracą licznika T2: 0 licznik zatrzymany, 1 licznik pracuje. T2CON.1 C/T2 Wybór funkcji dla licznika T2: 0 czasomierz taktowany wewnętrznym sygnałem zegarowym, 1 licznik zdarzeń zewnętrznych. T2CON.0 CP/RL2 Określa jeden z dwóch trybów pracy licznika T2: 0 w przypadku wystąpienia przepełnienia licznika T2 lub zbocza Instytut Metrologii, Elektroniki i Informatyki 23

24 opadającego na wejściu T2EX (jeśli również EXEN2=1) rejestry robocze TL2 i TH2 są przeładowywane odpowiednio zawartością rejestrów RCAP2L i RCAP2H, 1 zawartość rejestrów TL2 i TH2 jest przepisywana odpowiednio do rejestrów RCAP2L i RCAP2H przy każdorazowym wystąpieniu zbocza opadającego na wejściu T2EX (jeśli również EXEN2=1). Kiedy co najmniej jeden z bitów RCLK lub TCLK jest ustawiony, stan tego bitu jest ignorowany, a licznik T2 jest automatycznie przeładowywany nową wartością pobieraną z rejestrów RCAP2L i RCAP2H przy każdorazowym wystąpieniu jego przepełnienia. Schemat blokowy licznika T2 pracującego w trybie przepisania zawartości rejestrów roboczych Schemat blokowy licznika T2 pracującego w trybie zapamiętania zawartości rejestrów roboczych 24 Instytut Metrologii, Elektroniki i Informatyki

25 SCON sterowanie pracą portu szeregowego MSb LSb SM0 SM1 SM2 REN TB8 RB8 TI RI 9Fh 9Eh 9Dh 9Ch 9Bh 9Ah 99h 98h SCON.7 SM0 Wybór trybu pracy portu szeregowego (bit 0). SCON.6 SM1 Wybór trybu pracy portu szeregowego (bit 1). SCON.5 SM2 Bit sterujący aktywacją komunikacji wieloprocesorowej. SCON.4 REN Bit sterujący aktywacją odbiornika: 0 odbiornik portu szeregowego nie działa, 1 odbiornik portu szeregowego pracuje umożliwiając odbiór przesyłanych informacji. SCON.3 TB8 Dziewiąty bit wysłanego znaku. SCON.2 RB8 Dziewiąty bit odebranego znaku. SCON.1 TI Znacznik wysłania pojedynczego znaku danych; ustawiany sprzętowo po przesłaniu wszystkich bitów przesyłanego znaku informacji. Musi być zerowany programowo. SCON.0 RI Znacznik odebrania pojedynczego znaku danych; ustawiany sprzętowo po odebraniu wszystkich bitów znaku informacji. Musi być zerowany programowo. Tryb SM0 SM1 Opis Transmisja szeregowa synchroniczna half duplex Znaki 8-bitowe Prędkość transmisji fxtal/ Transmisja szeregowa asynchroniczna full duplex Znaki 8-bitowe Prędkość transmisji określana programowo Transmisja szeregowa asynchroniczna full duplex Znaki 9-bitowe Prędkość transmisji fxtal/32 lub fxtal/ Transmisja szeregowa asynchroniczna full duplex Znaki 9-bitowe Prędkość transmisji określana programowo Instytut Metrologii, Elektroniki i Informatyki 25

26 Programowe określenie prędkości transmisji przez licznik T1 wymaga: ustawienia trybu pracy 1, wpisania wartości początkowej do rejestrów TH1 obliczonej wg zależności: TH1=256 2()* +,-./ 384 BR gdzie: SMOD najstarszy bit rejestru PCON, +,-./ częstotliwość dołączonego do mikrokontrolera rezonatora kwarcowego, BR pożądana prędkość transmisji, włączenia licznika do pracy. Programowe określenie prędkości transmisji przez licznik T2 wymaga: ustawienia bitu RCLK i TCLK w rejestrze T2CON, wpisania wartości początkowej do rejestrów RCAP2L i RCAP2H obliczonej wg zależności: RCAP2= ,-./ 32 BR gdzie: +,-./ częstotliwość dołączonego do mikrokontrolera rezonatora kwarcowego, BR pożądana prędkość transmisji, włączenia licznika do pracy. 26 Instytut Metrologii, Elektroniki i Informatyki

27 IE rejestr maski przerwań MSb LSb EA ET2 ES ET1 EX1 ET0 EX0 AFh AEh ADh ACh ABh AAh A9h A8h IE.7 EA Bita maski systemu przerwań. 0 wszystkie przerwania zablokowane 1 odblokowane te przerwania, których bit maski jest jedynką IE.6 IE.5 ET2 Bit maski przerwania od licznika-czasomierza T2. IE.4 ES Bit maski przerwania od portu szeregowego. IE.3 ET1 Bit maski przerwania od licznika-czasomierza T1. IE.2 EX1 Bit maski przerwania od wejścia zewnętrznego INT1. IE.1 ET0 Bit maski przerwania od licznika-czasomierza T0. IE.0 EX0 Bit maski przerwania od wejścia zewnętrznego INT0. Adresy wektorów przerwań Znaczniki zgłoszenia przerwań Źródło przerwania Adres Priorytet Zewnętrzne INT0 0003H Najwyższy Licznik-czasomierz T0 000BH Zewnętrzne INT1 0013H Licznik-czasomierz T1 001BH Port szeregowy 0023H Licznik-czasomierz T2 002BH Najniższy MSb TCON LSb TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 MSb T2CON LSb TF2 TXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 MSb SCON LSb SM0 SM1 SM2 REN TB8 RB8 TI RI Bity TF2, TI oraz RI muszą być zerowane programowo w funkcji obsługi przerwania. Instytut Metrologii, Elektroniki i Informatyki 27

28 IP rejestr priorytetów przerwań MSb LSb PT2 PS PT1 PX1 PT0 PX0 BFh BEh BDh BCh BBh BAh B9h B8h IP.7 IP.6 IP.5 PT2 Bit priorytetu przerwania od licznika-czasomierza T2. IP.4 PS Bit priorytetu przerwania od portu szeregowego. IP.3 PT1 Bit priorytetu przerwania od licznika-czasomierza T1. IP.2 PX1 Bit priorytetu przerwania od wejścia zewnętrznego INT1. IP.1 PT0 Bit priorytetu przerwania od licznika-czasomierza T0. IP.0 PX0 Bit priorytetu przerwania od wejścia zewnętrznego INT0. 28 Instytut Metrologii, Elektroniki i Informatyki

29 Lista rozkazów mikrokontrolerów rodziny MCS-51 Rn Jeden z rejestrów R0 R7 aktualnie wybranego banku rejestrów. addr8 8-bitowy adres w wewnętrznej pamięci danych adresowanej 8-bitowy adres umieszczony w jednym z dwóch rejestrów R0 lub R1 aktualnie wybranego banku rejestrów. #data8 8-bitowa stała kodowana wewnątrz instrukcji. #data1 16-bitowa stała kodowana wewnątrz instrukcji. 6 addr16 16-bitowy adres używany w instrukcjach LJMP i LCALL (praktycznie zastępowany przez etykietę). addr11 11-bitowy adres używany w instrukcjach AJMP oraz ACALL (praktycznie zastępowany przez etykietę). rel 8-bitowe przesuniecie traktowane jako liczba ze znakiem w kodzie U2 i używane w instrukcji SJMP oraz wszystkich instrukcjach skoków warunkowych (praktycznie zastępowane przez etykietę). bit Adres bitu z wewnętrznej pamięci danych adresowanego bitowo lub obszaru SFR. (x) W opisie operacji oznacza zawartość komórki w wewnętrznej pamięci danych o adresie bezpośrednim x. ((x)) W opisie operacji oznacza zawartość komórki w wewnętrznej pamięci danych o adresie zapisanym w rejestrze x. (y)xdata W opisie operacji oznacza zawartość komórki w zewnętrznej pamięci danych o adresie y. (z)code W opisie operacji oznacza zawartość komórki w pamięci kodu o adresie z. Xy..z W opisie operacji oznacza bity od y do z rejestru X. Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje arytmetyczne ADD A,Rn (A) (A) + (Rn) 1 1 ADD A,adres8 (A) (A) + (addr8) 2 1 ADD A,@Ri (A) (A) + ((Ri)) 1 1 ADD A,#data8 (A) (A) + data8 2 1 ADDC A,Rn (A) (A) + (CY) + (Rn) 1 1 ADDC A,adres8 (A) (A) + (CY) + (addr8) 2 1 ADDC A,@Ri (A) (A) + (CY) + ((Ri)) 1 1 ADDC A,#data8 (A) (A) + (CY) + data8 2 1 SUBB A,Rn (A) (A) (Rn) 1 1 Instytut Metrologii, Elektroniki i Informatyki 29

30 Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje arytmetyczne, c.d. SUBB A,adres8 (A) (A) (addr8) 2 1 SUBB A,@Ri (A) (A) ((Ri)) 1 1 SUBB A,#data8 (A) (A) data8 2 1 INC A (A) (A) INC Rn (Rn) (Rn + 1) 1 1 INC addr8 (addr8) (addr8) ((Ri)) ((Ri)) DEC A (A) (A) DEC Rn (Rn) (Rn) DEC addr8 (addr8) (addr8) ((Ri)) ((Ri)) INC DPTR (DPTR) (DPTR) MUL AB (BA) (A) (B); 1 4 A młodszy bajt wyniku, B starszy bajt DIV AB Całość wyniku: (A) int (A/B) 1 4 Reszta wyniku: (B) mod (A/B) DA A Jeśli (A)3..0 > 9 lub (AC) = 1 to 1 1 (A)3..0 (A) Jeśli (A)7..4 > 9 lub (CY) = 1 to (A)7..4 (A) Instrukcje logiczne ANL A,Rn (A) (A) and (Rn) 1 1 ANL A,@Ri (A) (A) and ( (Ri)) 1 1 ANL A,addr8 (A) (A) and (addr8) 2 1 ANL A,#data8 (A) (A) and data8 2 1 ANL addr8,a (addr8) (addr8) and (A) 2 1 ANL addr8,#data8 (addr8) (addr8) and data8 3 2 ORL A,Rn (A) (A) or (Rn) 1 1 ORL A,addr8 (A) (A) or (addr8) 2 1 ORL A,@Ri (A) (A) or ((Ri)) 1 1 ORL A,#data8 (A) (A) or data8 2 1 ORL addr8,a (addr8) (addr8) or (A Instytut Metrologii, Elektroniki i Informatyki

31 Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje logiczne, c.d. ORL addr8,#data8 (addr8) (addr8) or data8 3 2 XRL A,Rn (A) (A) xor (Rn) 1 1 XRL A,addr8 (A) (A) xor (addr8) 2 1 XRL A,@Ri (A) (A) xor ((Ri)) 1 1 XRL A,#data8 (A) (A) xor data8 2 1 XRL addr8,a (adres8) (adres8) xor (A) 2 1 XRL addr8,#data8 (addr8) (addr8) xor data8 3 2 CLR A (A) CPL A (A) not (A) 1 1 RL A 1 1 A7 RLC A 1 1 RR A 1 1 RRC A 1 1 SWAP A (A)7..4 (A) Instrukcje przesłania danych MOV A,Rn (A) (Rn) 1 1 MOV A,addr8 (A) (addr8) MOV A,@Ri (A) ((Ri)) 1 1 MOV A,#data8 (A) data8 2 1 MOV Rn,A (Rn) (A) 1 1 MOV Rn,addr8 (Rn) (addr8) 2 2 MOV Rn,#data8 (Rn) data8 2 1 MOV addr8,a (addr8) (A) 2 1 MOV addr8,rn (addr8) (Rn) 2 2 MOV addr8,addr8 (addr8) (addr8) 3 2 MOV addr8,@ri (addr8) ((Ri)) 2 2 A0 A7 A0 CY A7 A0 A7 A0 CY 2 Instrukcja MOV A,ACC nie jest dopuszczalna. Instytut Metrologii, Elektroniki i Informatyki 31

32 Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje przesłania danych, c.d. MOV addr8,#data8 (addr8) data8 3 2 ((Ri)) (A) 1 1 ((Ri)) (addr8) 2 2 ((Ri)) data8 2 1 MOV DPTR,#data16 (DPTR) data MOVC A,@A+DPTR (A) ((A) + (DPTR))CODE 1 2 MOVC A,@A+PC (A) ((A) + (PC))CODE 1 2 MOVX A,@Ri (A) (256 (P2) + (Ri))XDATA 1 2 MOVX A,@DPTR (A) (DPTR)XDATA 1 2 (256 (P2) + (Ri))XDATA (A) 1 2 (DPTR)XDATA (A) 1 2 PUSH addr8 (SP) (SP) (SP) (addr8) POP addr8 (addr8) (SP) 2 2 (SP) (SP) 1 XCH A,Rn (A) (Rn) 1 1 XCH A,addr8 (A) (addr8) 2 1 XCH A,@Ri (A) ((Ri)) 1 1 XCHD A,@Ri (A)3..0 ((Ri)) Instrukcje operujące na pojedynczych bitach CLR C (CY) CLR bit (bit) SETB C (CY) SETB bit (bit) CPL C (CY) not (CY) 1 1 CPL bit (bit) not (bit) 2 1 ANL C,bit (CY) (CY) and (bit) 2 2 ANL C,/bit (CY) (CY) and not (bit) 2 2 ORL C,bit (CY) (CY) or (bit) 2 2 ORL C,/bit (CY) (CY) or not (bit) 2 2 MOV C,bit (CY) (bit) 2 1 MOV bit,c (bit) (CY) Instytut Metrologii, Elektroniki i Informatyki

33 Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje skoków bezwarunkowych ACALL addr11 (PC) (PC) (SP) (SP) + 1 ((SP)) (PC)7..0 (SP) (SP) + 1 ((SP)) PC15..8 (PC)10..0 addr11 (PC) pozostaje bez zmian LCALL addr16 (PC) (PC) (SP) (SP) + 1 ((SP)) (PC)7..0 (SP) (SP) + 1 ((SP)) (PC)15..8 (PC) addr16 RET (PC)15..8 ((SP)) 1 2 (SP) (SP) 1 (PC)7..0 ((SP)) (SP) (SP) 1 RETI (PC)15..8 ((SP)) 1 2 (SP) (SP) 1 (PC)7..0 ((SP)) (SP) (SP) 1 AJMP addr11 (PC)10..0 addr (PC) pozostaje bez zmian LJMP addr16 (PC) addr SJMP rel (PC) (PC) + 2 (PC) (PC) + rel 2 2 (PC) (A) + (DPTR) 1 2 Instrukcje skoków warunkowych JZ rel (PC) (PC) Jeśli (A) = 0 to (PC) (PC) + rel JNZ rel (PC) (PC) + 2 Jeśli (A) <> 0 to (PC) (PC) + rel 2 2 Instytut Metrologii, Elektroniki i Informatyki 33

34 Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje skoków warunkowych,.c.d. JC rel (PC) (PC) Jeśli (CY) = 1 to (PC) (PC) + rel JNC rel (PC) (PC) Jeśli (CY) = 0 to (PC) (PC) + rel JB bit,rel (PC) (PC) Jeśli (bit) = 1 to (PC) (PC) + rel JNB bit,rel (PC) (PC) Jeśli (bit) = 0 to (PC) (PC) + rel JBC bit,rel (PC) (PC) + 3 Jeśli (bit) = 1 to (PC) (PC) + rel oraz (bit) CJNE A,addr8,rel (PC) (PC) Jeśli (A) (addr8) to (PC) (PC) + rel Dodatkowo: Jeśli (A) < (addr8) to (CY) 1 Jeśli (A) (addr8) to (CY) 0 CJNE A,#data8,rel (PC) (PC) Jeśli (A) data8 to (PC) (PC) + rel Dodatkowo: Jeśli (A) < data8 to (CY) 1 Jeśli (A) data8 to (CY) 0 CJNE Rn,#data8,rel (PC) (PC) + 3 Jeśli (Rn) data8 to (PC) (PC) + rel Dodatkowo: Jeśli (Rn) < data8 to (CY) 1 Jeśli (Rn) data8 to (CY) (PC) (PC) + 3 Jeśli ((Ri)) data8 to (PC) (PC) + rel Dodatkowo: Jeśli ((Ri)) < data8 to (CY) 1 Jeśli ((Ri)) data8 to (CY) Instytut Metrologii, Elektroniki i Informatyki

35 Mnemonik Operandy Wykonywana operacja Bajty Cykle Instrukcje skoków warunkowych,.c.d. DJNZ Rn,rel (PC) (PC) (Rn) (Rn) 1 Jeśli (Rn) 0 to (PC) (PC) + rel DJNZ addr8,rel (PC) (PC) (addr8) (addr8) 1 Jeśli (addr8) 0 to (PC) (PC) + rel Pozostałe instrukcje NOP (PC) (PC) Instytut Metrologii, Elektroniki i Informatyki 35

36 Dyrektywy asemblera ASEM-51 Dyrektywa Format Opis Definicja segmentu CSEG CSEG AT adres Definicja segmentu absolutnego w pamięci kodu BSEG BSEG AT adres Definicja segmentu absolutnego w pamięci danych adresowanej bitowo DSEG DSEG AT adres Definicja segmentu absolutnego w wewnętrznej pamięci danych adresowanej bezpośrednio ISEG ISEG AT adres Definicja segmentu absolutnego w wewnętrznej pamięci danych adresowanej pośrednio XSEG XSEG AT adres Definicja segmentu absolutnego w zewnętrznej pamięci danych Kontrolowanie adresów w segmentach ORG ORG wyrażenie Zmiana adresu w bieżącym segmencie Definicje symboli EQU symbol EQU wyrażenie Trwałe przypisanie wartości symbolowi SET symbol SET wyrażenie Czasowe przypisanie wartości symbolowi BIT symbol BIT adres_bit Przypisanie symbolowi adresu bitu z obszaru pamięci adresowanej bitowo CODE symbol CODE adres_code Przypisanie symbolowi adresu bitu z obszaru pamięci kodu DATA symbol DATA adres_data Przypisanie symbolowi adresu bitu z obszaru pamięci danych adresowanej bezpośrednio IDATA symbol IDATA adres_idata Przypisanie symbolowi adresu bitu z obszaru pamięci danych adresowanej pośrednio XDATA symbol XDATA adres_xdata Przypisanie symbolowi adresu bitu z obszaru zewnętrznej pamięci danych Inicjalizacja pamięci kodu DB etykieta: DB wyrażenie, Inicjalizacja pamięci kodu wartościami jednobajtowymi DW etykieta: DW wyrażenie, Inicjalizacja pamięci kodu wartościami jednobajtowymi 36 Instytut Metrologii, Elektroniki i Informatyki

37 Rezerwacja pamięci danych DBIT etykieta: DBIT wyrażenie Rezerwacja w pamięci danych adresowanej bitowo określoną wyrażeniem liczbę bitów DS etykieta: DS wyrażenie Rezerwacja w pamięci danych określoną wyrażeniem liczbę bajtów Inne END END Wskazuje koniec programu Asemblacja kodu Program asemblujący analizując kod programu tworzy segmenty przyporządkowując je do jednego z pięciu obszarów pamięci występujących w mikrokontrolerach rodziny MCS-51: pamięci adresowanej bitowo (BIT), wewnętrznej pamięci danych adresowanej bezpośrednio (DATA), wewnętrznej pamięci danych adresowanej pośrednio (IDATA), zewnętrznej pamięci danych (XDATA) lub pamięci kodu (CODE). W ramach każdego segmentu istnieje licznik położenia, który wskazuje, pod jaki adres zostanie w danym segmencie wpisana wartość określona w procesie analizy kody programu. Przed rozpoczęciem analizy kodu znajdującego się w danym pliku liczniki te są zerowane. Po każdym zapisie do segmentu wartość licznika położenia jest zwiększana o liczbę zapisanych bajtów danych (w przypadku segmentu BIT o liczbę zapisanych bitów danych). Symbole Symbole to definiowane przez użytkownika nazwy do reprezentacji: wartości, adresów lub nazw rejestrów. Symbole mogą składać się maksymalnie z 31 znaków należących do poniższej listy: A-Z, a-z, 0-9, _,? Nazwa symbolu może rozpoczynać się od dowolnego z tych znaków, za wyjątkiem cyfr 0-9. Specjalne symbole zdefiniowane w programie ASEM-51: AR0,,AR7 adresy rejestrów R0 do R7, $ wartość licznika położenia aktualnie aktywnego segmentu, czyli adres pod który zostanie dokonany wpis po analizie kolejnej linii kodu programu. Liczby Liczby mogą być określane jako wartości: szesnastkowe, dziesiętne, ósemkowe lub dwójkowe. Podstawa liczby jest określana przez ostatni znak w zapisie liczby. Liczba, która jest zapisana bez specyfikatora podstawy, jest interpretowana jako liczba dziesiętna. Pierwszym znakiem Instytut Metrologii, Elektroniki i Informatyki 37

38 liczby musi być zawsze cyfra z zakresu 0 do 9. Dlatego liczby szesnastkowe, których zapis wartości zaczyna się od litery muszą być poprzedzone cyfrą 0. Dopuszczalne Podstawa Przyrostek znaki Przykłady Dwójkowa B lub b 0 i b 10011B Ósemkowa O, o, Q lub q q 34Q 345o 44O Dziesiętna D lub d D 2092d Szesnastkowa B lub b 0-9, A-F, a-f 1234H 0AH 1F0H 0F0H 1a24h 34fcH Program ASEM-51 dopuszcza użycie znaków ASCII jako wartości numerycznych. Wyrażenie takie może składać się maksymalnie z dwóch znaków objętych pojedynczym apostrofem ( ). A ;jest przeliczane na wartość 0041H AB ;jest przeliczane na wartość 4142H a ;jest przeliczane na wartość 0061H ab ;jest przeliczane na wartość 6162H ;ciąg pusty jest przeliczany na wartość 0000H abc ;generuje BŁĄD Wyrażenia Wyrażenia arytmetyczne składają się z: operandów, operatorów i nawiasów. Operandami mogą być: liczby, symbole zdefiniowane przez użytkownika oraz symbole specjalne. Wszystkie operandy są traktowane jako wartości 16-bitowe bez znaku. Operator Opis operacji Przykład Działanie/Wynik Operatory jednoargumentowe + +x x Uzupełnienie do dwóch x 0000H-x NOT Uzupełnienie do jednego NOT x FFFFH-x HIGH Starszy bajt HIGH 12F8H 12H LOW Młodszy bajt LOW 12F8H F8H Operatory dwuargumentowe + Dodawanie Odejmowanie * Mnożenie / Dzielenie MOD SHL Reszta z dzielenia Przesunięcie logiczne w lewo 38 Instytut Metrologii, Elektroniki i Informatyki

39 Operator Opis operacji Przykład Działanie/Wynik Operatory dwuargumentowe, c.d. SHR Przesunięcie logiczne w prawo AND Iloczyn logiczny OR Suma logiczna XOR Alternatywa wykluczająca EQ lub = Przyrównanie NE lub <> Różne LT lub < Mniejsze LE lub <= Mniejsze lub równe GT lub > Większe GE lub >= Większe lub równe Etykiety Operatory Priorytet () Najwyższy Operatory jednoargumentowe + NOT HIGH LOW * / MOD SHL SHR Operatory dwuargumentowe + EQ = NE <> LT < LE <= GT > GE >= AND OR XOR Najniższy Etykieta definiuje adres w obszarze aktualnie aktywnego segmentu. Z formalnego punktu widzenia etykieta jest symbolem zakończonym znakiem dwukropka (:). Zatem wszystkie zasady dotyczące tworzenia nazw symbolicznych mają zastosowanie przy tworzeniu etykiet. Znak dwukropka (:) musi wystąpić bezpośrednio po nazwie symbolicznej etykiety, aby można było rozpoznać, że jest to etykieta. Etykieta musi być pierwszym polem tekstowym w linii. Może być ona poprzedzona znakami tabulacji i/lub spacji. W danej linii kodu programu może być zdefiniowana tylko jedna etykieta. Przy definiowaniu etykiety automatycznie przypisywana jest jej bieżącą wartość licznika położenia w danym segmencie. Etykieta jest również używana w instrukcjach skoków, do wskazania adresu. Instrukcja występująca za etykieta jest tą instrukcją, która będzie wykonywana po skoku pod adres programu wskazany etykietą. Instytut Metrologii, Elektroniki i Informatyki 39

40 W programie można nie tylko wykonywać skoki pod określone etykiety, lecz także wywoływać podprogramy określone etykietą. W takim przypadku wykonywany jest kod znajdujący się za etykieta, aż do napotkania instrukcji RET. Definicja segmentu BSEG, CSEG, DSEG, ISEG, XSEG Dokonują wyboru bieżącego segmentu oraz określają adres, od którego będzie występował dany segment w pamięci z nim skojarzonej. Format: BSEG AT adres CSEG AT adres DSEG AT adres ISEG AT adres XSEG AT adres adres jest bezwzględnym adresem, od którego będzie rozpoczynał się segment. adres nie może zawierać odniesień w przód i musi być liczbą lub wyrażeniem, które po obliczeniu daje konkretną wartość. BSEG dotyczy pamięci danych adresowanej bitowo. CSEG dotyczy pamięci kodu. DSEG dotyczy wewnętrznej pamięci danych adresowanej bezpośrednio. ISEG dotyczy wewnętrznej pamięci danych adresowanej pośrednio. XSEG dotyczy zewnętrznej pamięci danych. Przykłady: ; Segment danych w obszarze pamięci adresowanej bitowo ; od adresu 20H BSEG AT 20H ; Deklaracje w ramach niniejszego segmentu DEC_FLAGA: DBIT 1 ;bit o adresie absolutnym 20H INC_FLAGA: DBIT 1 ;bit o adresie absolutnym 21H ; Segment kodu od adresu 100H CSEG AT 100H ; Deklaracje w ramach niniejszego segmentu KODY_CYFR: DB 0FH ;bajt o adresie absolutnym 100H DB 2AH ;bajt o adresie absolutnym 101H DB 13H ;bajt o adresie absolutnym 102H 40 Instytut Metrologii, Elektroniki i Informatyki

41 ; Segment danych w wewnętrznej pamięci danych adresowanej ; bezpośrednio od adresu 30H DSEG AT 30H ; Deklaracje w ramach niniejszego segmentu TEMP_A: DS 2 ;2 bajty o adresie absolutnym 30H TEMP_B: DS 4 ;4 bajty o adresie absolutnym 32H Kontrolowanie adresów w segmentach ORG Zmienia wartości licznika położenia w obecnie aktywnym segmencie. Format: ORG wyrażenie wyrażenie określa nową wartość licznika położenia w bieżącym segmencie. Przykłady: CSEG AT 2000H ;Segment w pamięci kodu SJMP START ORG 200BH ;Zmiana adresu w bieżącym segmencie (kodu) MOV TMOD,#20H Definicje symboli Dyrektywy definiujące symbole umożliwiają tworzenie symboli, które mogą być używane do reprezentacji rejestrów, liczb lub adresów. EQU, SET Przyporządkowują wartości numeryczne lub symbole rejestrów do wyspecyfikowanych nazw symbolicznych. Symbole zdefiniowane za pomocą dyrektywy EQU nie mogą być wcześniej zdefiniowane, a także nie mogą być później redefiniowane. Dyrektywa SET umożliwia późniejszą redefinicję symbolu. Format: symbol EQU wyrażenie symbol EQU rejestr symbol SET wyrażenie symbol SET rejestr symbol jest nazwą symboliczną do zdefiniowania. Instytut Metrologii, Elektroniki i Informatyki 41

42 wyrażenie jest wyrażeniem numerycznym, które nie zawiera odniesień przód lub jest prostym wyrażeniem relokowalnym. rejestr jest jedną nazw rejestrów, np. A, R0, R1, R2, R3, R4, R5, R6 lub R7. Przykłady: GRANICA EQU 1200 ROZMIAR EQU GRANICA A LICZNIK1 EQU R5 LICZNIK2 SET R1 BIT, CODE, DATA, IDATA, XDATA Przyporządkowują danemu symbolowi adresu w określonym typie pamięci. Format: symbol BIT adres_bit symbol CODE adres_code symbol DATA adres_data symbol IDATA adres_idata symbol XDATA adres_xdata symbol jest definiowanym symbolem. Może być używany w każdym miejscu, gdzie wymagany jest adres w pamięci o typie wyspecyfikowanym przez dyrektywę. adres_bit musi być adresem bitu z wewnętrznej pamięci danych adresowanej bitowo lub adresem bitu rejestru SFR adresowanego bitowo. adres_code musi być adresem w pamięci kodu z zakresu 0000H.. FFFFH. adres_data musi być adresem rejestru SFR z zakresu adresów 80H.. FFH lub adresem z wewnętrznej pamięci danych z zakresu 0.. 7FH. adres_idata musi być adresem w wewnętrznej pamięci danych adresowanej pośrednio z zakresu 00H.. FFH. adres_xdata jest adresem w zewnętrznej pamięci danych z zakresu 0000H.. FFFFH. Przykłady: ; Deklaracja symbolu reprezentującego adres bitu RI BIT 098H ; Deklaracja symboli reprezentujących adresy w obszarze ; wewnętrznej pamięci danych adresowanej bezpośrednio P0 DATA 080H TMOD DATA 089H 42 Instytut Metrologii, Elektroniki i Informatyki

43 ; Deklaracja symboli reprezentujących adresy w pamięci kodu RESTART CODE 00H INTVEC_0 CODE RESTART + 3 INTVEC_1 CODE RESTART + 0BH INTVEC_2 CODE RESTART + 1BH Inicjalizacja pamięci kodu DB Inicjalizacja pamięci wartościami, z których każda ma rozmiar jednego bajta. Inicjacja rozpoczyna się od bieżącego adresu w segmencie kodu. Format: etykieta: DB wyrażenie, wyrażenie... etykieta jest symbolem, który określa początkowy adres inicjowanej pamięci. wyrażenie musi być wartością o rozmiarze bajta. Każde wyrażenie może być liczbą, symbolem, ciągiem znaków lub wyrażeniem, które po obliczeniu daje wartość jednobajtową. Przykłady: TABLE: DB 0,1,8,'A','0' REQUEST: DB 'WCISNIJ DOWOLNY KLAWISZ', 0 KODY_LED: DB 23H ;kod zera DB 0FH ;Kolejna wartość umieszczona za poprzednią DW Inicjalizacja pamięci wartościami, z których każda ma rozmiar dwóch bajtów. Inicjacja rozpoczyna się od bieżącego adresu w segmencie kodu. Format: etykieta: DW wyrażenie, wyrażenie... etykieta jest symbolem, który określa początkowy adres inicjowanej pamięci. wyrażenie musi być wartością o rozmiarze dwóch bajtów. Każde wyrażenie może być symbolem, ciągiem znaków lub wyrażeniem. Przykłady: TABLE: DW 1234, 233AH, 'QR' Instytut Metrologii, Elektroniki i Informatyki 43

44 Rezerwacja pamięci danych DBIT Rezerwacja przestrzeni w segmencie danych adresowanym bitowo o rozmiarze będącym wielokrotnością jednego bita. Rezerwacja rozpoczyna się od bieżącego adresu w tym segmencie. Format: etykieta: DBIT wyrażenie etykieta jest symbolem, który określa adres rezerwowanej pamięci. wyrażenie określa liczbę rezerwowanych jednostek, każda o rozmiarze jednego bita. Przykłady: ; Rezerwacja fragmentu pamięci o rozmiarze jednego bita ON_FLAG: DBIT 1 ; Rezerwacja fragmentu pamięci o rozmiarze trzech bitów MUX: DBIT 3 DS Rezerwacja przestrzeni w segmencie danych o rozmiarze będącym wielokrotnością jednego bajta. Rezerwacja rozpoczyna się od bieżącego adresu w tym segmencie. Format: etykieta: DS wyrażenie etykieta jest symbolem, który określa adres rezerwowanej pamięci. wyrażenie określa liczbę rezerwowanych jednostek, każda o rozmiarze jednego bajta. Przykłady: ; Rezerwacja fragmentu pamięci o rozmiarze jednego bajta DIGIT: DS 1 ; Rezerwacja fragmentu pamięci o rozmiarze trzech bajtów TIME: DS 3 Inne dyrektywy END Określa koniec kodu programu. Za tą dyrektywą dopuszczalne są tylko komentarze i puste linie. Format: 44 Instytut Metrologii, Elektroniki i Informatyki

45 END Instytut Metrologii, Elektroniki i Informatyki 45

46 Rozszerzenia języka C w kompilatorze SDCC Dostępne typy danych Typ danej Liczba Liczba bitów bajtów Zakres wartości bit 1 min max char unsigned char short int unsigned short int int unsigned int long int unsigned long int float 32 4 ±1,175494E-38 ±3,402823E+38 Alokacja zmiennej w określonym obszarze pamięci Obszar pamięci Słowo kluczowe Zakres adresów Wewnętrzna pamięć danych adresowana bezpośrednio data 00h..7Fh Wewnętrzna pamięć danych adresowana pośrednio idata 00h..FFh Wewnętrzna pamięć danych adresowana bitowo bit 20h..2Fh Zewnętrzna pamięć danych xdata 0000h..FFFFh Strona zewnętrznej pamięci danych pdata Ciągły obszar adresów o rozmiarze 256 bajtów Pamięć programu code 0000h..FFFFh Przykłady: Deklaracja 8-bitowej zmiennej bez znaku w obszarze wewnętrznej pamięci danych adresowanej bezpośrednio. data unsigned char x; Deklaracja tablicy o 16-bitowych komórkach bez znaku w obszarze zewnętrznej pamięci danych. xdata unsigned int tab[10]; 46 Instytut Metrologii, Elektroniki i Informatyki

47 Deklaracja tablicy z kodami znaków dla 7-segmentowego wyświetlacza LED w pamięci kodu. UWAGA: Tablica ta będzie tylko do odczytu. code unsigned char kodyled[3]={0x07,0x6a,32}; Alokacja zmiennej pod określonym adresem Podczas deklaracji zmiennej możliwe jest określenie adresu absolutnego, pod jakim będzie ona alokowana. Do tego celu wykorzystuje się słowo kluczowe at. Dodatkowo przy takiej deklaracji zmiennej konieczne jest jawne określenie obszaru pamięci, w jakiej ma być alokowana deklarowana zmienna. obszar_pamięci at (adres) typ_zmiennej nazwa_zmiennej; obszar_pamięci słowo kluczowe określające obszar pamięci, w którym będzie przydzielana pamięć dla deklarowanej zmiennej; adres adres, pod jakim będzie występowała zmienna w przyjętym obszarze pamięci; typ_zmiennej jeden z dostępnych typów danych; nazwa_zmiennej nazwa, reprezentująca zmienną. Przykłady: Deklaracja 8-bitowej zmiennej bez znaku alokowanej w obszarze wewnętrznej pamięci danych adresowanej pośrednio pod adresem 0x80. idata at (0x80) unsigned char x; Deklaracja 16-bitowej zmiennej ze znakiem alokowanej w obszarze zewnętrznej pamięci danych pod adresem 0xF800. xdata at (0xF800) int y; Dostęp do układów mapowanych w obszarze zewnętrznej pamięci danych Realizując dostęp do układów mapowanych w obszarze zewnętrznej pamięci danych wykorzystuje się zmienne alokowane pod odpowiednim adresem. volatile xdata at (adres) unsigned char nazwa_zmiennej; adres adres, pod jakim występuje układ lub jego rejestr w obszarze zewnętrznej pamięci danych; nazwa nazwa, reprezentująca układ lub jego rejestr. Instytut Metrologii, Elektroniki i Informatyki 47

48 Słowo kluczowe volatile informuje kompilator, że dostęp do danej zmiennej nie powinien być poddawany optymalizacjom. Kompilator nie może więc zakładać, że w jakimś fragmencie kodu, w którym istnieją odwołania do tej zmiennej, jej wartość nie uległa zmianie i przez to usuwać te odwołania. Przykład: volatile xdata at (0xF800) unsigned char rejestr_led; Funkcje obsługi przerwań Funkcja, która ma realizować obsługę danego przerwania powinna być oznaczona słowem kluczowym interrupt umieszczonym tuż za nawiasem zamykającym definiującym parametry wejściowe funkcji. Dodatkowo należy określić numer przerwania, który funkcja ta ma obsługiwać poprzez zapis odpowiedniej wartości bezpośrednio za słowem kluczowym interrupt. Numery wektorów przerwań Przykład: Źródło przerwania Adres Numer Zewnętrzne INT0 0003H 0 Licznik-czasomierz T0 000BH 1 Zewnętrzne INT1 0013H 2 Licznik-czasomierz T1 001BH 3 Port szeregowy 0023H 4 Licznik-czasomierz T2 002BH 5 Deklaracja funkcji obsługi przerwania od licznika-czasomierza T0. unsigned int licznik; void Timer0 (void) interrupt (1) { if (++licznik == 4000) // gdy zmienna licznik jest równy 4000 { licznik = 0; // zerowanie zmiennej licznik... // wykonaj inne ewentualne zadania } } 48 Instytut Metrologii, Elektroniki i Informatyki

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW MIKROKONTROLER 85 - wiadomości podstawowe. Schemat blokowy mikrokontrolera 85 Obszar rejestrów specjalnych

Bardziej szczegółowo

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

Bardziej szczegółowo

Programowanie mikrokontrolerów (CISC)

Programowanie mikrokontrolerów (CISC) Repertuar instrukcji Operacje arytmetyczne Operacje logiczne Operacje logiczne na bitach Przesyłanie danych Operacje sterujące (skoki) NOTACJA: Rr rejestry R0... R7 direct - wewnętrzny RAM oraz SFR @Ri

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów

Bardziej szczegółowo

1. Dyrektywy asemblerowe

1. Dyrektywy asemblerowe 1. Dyrektywy asemblerowe Asembler A51 ma kilka dyrektyw, które pozwalają na definiowanie symboli, wartości, rezerwację i inicjalizację pamięci oraz sterowanie umiejscowieniem kodu programu. Dyrektywy nie

Bardziej szczegółowo

Lista rozkazów mikrokontrolera 8051

Lista rozkazów mikrokontrolera 8051 Lista rozkazów mikrokontrolera 8051 Spis treści: Architektura mikrokontrolera Rozkazy Architektura mikrokontrolera Mikrokontroler 8051 posiada trzy typy pamięci: układ zawiera pamięć wewnętrzną (On-Chip

Bardziej szczegółowo

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2018 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Przerwania laboratorium: 04 autor: mgr inż. Michał Lankosz dr hab. Zbisław Tabor,

Bardziej szczegółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Asembler - język maszynowy procesora

Asembler - język maszynowy procesora UWAGA! Treść niniejszego dokumentu powstała na podstawie cyklu artykułów pt. Mikrokontrolery? To takie proste zamieszczonych w czasopiśmie Elektronika dla Wszystkich. Asembler - język maszynowy procesora

Bardziej szczegółowo

Programowanie mikrokontrolera 8051

Programowanie mikrokontrolera 8051 Programowanie mikrokontrolera 8051 Podane poniżej informacje mogą pomóc w nauce programowania mikrokontrolerów z rodziny 8051. Opisane są tu pewne specyficzne cechy tych procesorów a także podane przykłady

Bardziej szczegółowo

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak TMiK Podstawy Techniki Mikroprocesorowej Materiały pomocnicze do wykładu Lidia Łukasiak 1 Treść przedmiotu Wprowadzenie System mikroprocesorowy Mikroprocesor - jednostka centralna Rodzaje pamięci Mikrokontrolery

Bardziej szczegółowo

Systemy liczbowe używane w technice komputerowej

Systemy liczbowe używane w technice komputerowej Systemy liczbowe używane w technice komputerowej Systemem liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach.

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51 Ćwiczenie 30 Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51 Cel ćwiczenia Poznanie architektury oraz zasad programowania mikrokontrolerów rodziny 51, aby zapewnić

Bardziej szczegółowo

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1 Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd) 1.Wprowadzenie do komunikacji szeregowej RS232 Systemy bazujące na procesorach C51 mogą komunikować się za pomocą

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portu szeregowego laboratorium: 05 autor: mgr inż. Michal Lankosz dr hab.

Bardziej szczegółowo

Przerwania w architekturze mikrokontrolera X51

Przerwania w architekturze mikrokontrolera X51 Przerwania w architekturze mikrokontrolera X51 (przykład przerwanie zegarowe) Ryszard J. Barczyński, 2009 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Marcin Stępniak Informacje. Kod NKB Naturalny kod binarny (NKB) jest oparty na zapisie liczby naturalnej w dwójkowym systemie

Bardziej szczegółowo

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

DZIESIĘTNY SYSTEM LICZBOWY

DZIESIĘTNY SYSTEM LICZBOWY DZIESIĘTNY SYSTEM LICZBOWY Do zapisu dowolnej liczby system wykorzystuje dziesięć symboli (cyfr): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Dowolną liczbę w systemie dziesiętnym możemy przedstawić jako następująca

Bardziej szczegółowo

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna Technika Mikroprocesorowa Laboratorium 4 Obsługa liczników i przerwań Cel ćwiczenia: Celem ćwiczenia jest nabycie umiejętności obsługi układów czasowo-licznikowych oraz obsługi przerwań. Nabyte umiejętności

Bardziej szczegółowo

Dyrektywy asemblerowe

Dyrektywy asemblerowe Dyrektywy asemblerowe Asembler A51 ma kilka dyrektyw, które pozwalają na definiowanie symboli, wartości, rezerwację i inicjalizację pamięci oraz sterowanie umiejscowieniem kodu programu. Dyrektywy nie

Bardziej szczegółowo

Wstęp do assemblera MA51

Wstęp do assemblera MA51 Wstęp do assemblera MA51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Assembler Assembler to język programowania

Bardziej szczegółowo

Zerowanie mikroprocesora

Zerowanie mikroprocesora Zerowanie mikroprocesora Zerowanie (RESET) procesora jest potrzebne dla ustalenia początkowych warunków pracy po włączeniu zasilania: adres początku programu stan systemu przerwań zawartość niektórych

Bardziej szczegółowo

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Ryszard J. Barczyński, 2009 2013 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED Ćwiczenie 2 Siedmiosegmentowy wyświetlacz LED 2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się studentów ze sposobem obsługi wielopozycyjnego 7-segmentowego wyświetlacza LED multipleksowanego programowo

Bardziej szczegółowo

Struktura programu w asemblerze mikrokontrolera 8051

Struktura programu w asemblerze mikrokontrolera 8051 Struktura programu w asemblerze mikrokontrolera 8051 Program w asemblerze, dający ten sam kod wynikowy, może być napisany na wiele sposobów. Źle napisany program po pewnym czasie (a być może już w czasie

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN): 1. SYSTEMY LICZBOWE UŻYWANE W TECHNICE KOMPUTEROWEJ System liczenia - sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Do zapisu

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 5 Cel ćwiczenia: Ćwiczenie ma na celu zaznajomienie z metodami odliczania czasu z wykorzystaniem układów czasowo - licznikowych oraz poznanie zasad zgłaszania przerwań i sposobów ich wykorzystywania

Bardziej szczegółowo

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. 13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,

Bardziej szczegółowo

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052) Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z możliwościami zastosowania mikrokontrolerów

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

Bardziej szczegółowo

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051 Technika Cyfrowa 2 Wykład 4: Programowanie mikrokomputera 81 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.wroc.pl IIAR, pok. 227 C-3 4-1 IV PROGRAMOWANIE MIKROKOMPUTERA 81 1 REJESTRY Oprócz DPTR wszystkie

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

Bardziej szczegółowo

System Liczbowe. Szesnastkowy ( heksadecymalny)

System Liczbowe. Szesnastkowy ( heksadecymalny) SYSTEMY LICZBOWE 1 System Liczbowe Dwójkowy ( binarny) Szesnastkowy ( heksadecymalny) Ósemkowy ( oktalny) Dziesiętny ( decymalny) 2 System dziesiętny Symbol Wartość w systemie Liczba 6 6 *10 0 sześć 65

Bardziej szczegółowo

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika: PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej

Bardziej szczegółowo

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat

Bardziej szczegółowo

1. System pozycyjny zapisu liczb

1. System pozycyjny zapisu liczb W.K.: Kody i liczby 1. System pozycyjny zapisu liczb Oznaczenia: R - podstawa pozycyjnego systemu liczenia (liczba naturalna) L - wartość liczby a i - cyfra ; a i {0,1,.., R-1} Zapis liczby (łańcuch cyfr):

Bardziej szczegółowo

PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA

PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA PODSTAWOWE ELEMENTY ASEMBLERA Składnia języka Postać wiersza programu Dyrektywy i pseudoinstrukcje Deklaracja zmiennych Zmienne łańcuchowe

Bardziej szczegółowo

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec) Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01 PRACA KROKOWA MIKROKONTROLERA Cel ćwiczenia: Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji symulatora. Operacje na plikach,

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Politechnika Warszawska

Politechnika Warszawska Politechnika Warszawska Wydział Elektryczny Laboratorium Podstaw Techniki Mikroprocesorowej Skrypt do ćwiczenia M.38 Zbieranie pomiarów w czasie rzeczywistym - asembler 1.Wstęp W ćwiczeniach od M.38 do

Bardziej szczegółowo

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51.

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51. Ćwiczenie nr 4 Cel ćwiczenia: Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51. Wiadomości wstępne: Klawiatura sekwencyjna zawiera tylko sześć klawiszy.

Bardziej szczegółowo

Opis mikrokontrolera 8051 Lista rozkazowa Timery

Opis mikrokontrolera 8051 Lista rozkazowa Timery Opis mikrokontrolera 805 Lista rozkazowa Timery Warszawa, 005-0-0 IMiO PW, LPTM, Lista rozkazowa 805 -- Oznaczenia i skróty: A - akumulator C - wskanik przeniesienia DPTR - wskanik danych, rejestr 6-bitowy

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 4

Technika mikroprocesorowa I Wykład 4 Technika mikroprocesorowa I Wykład 4 Układ czasowo licznikowy 8253 INTEL [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf] Wyprowadzenia układu [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

Kompilator języka C na procesor 8051 RC51 implementacja Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

Bardziej szczegółowo

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z budową i programowaniem implementacji

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Systemy zapisu liczb.

Systemy zapisu liczb. Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:

Bardziej szczegółowo

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok

Bardziej szczegółowo

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834 Praktyka Techniki Mikroprocesorowej Elżbieta Ślubowska Mikrokontroler ADuC834 Materiały pomocnicze do II części zajęć laboratoryjnych. Warszawa 2006 1.Spis treści 1. SPIS TREŚCI...2 2. OPIS STANOWISKA....4

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Serial PORT Timers T0, T1 Interrupt Controler DPTR Register Program Counter Program Memory Port P0 Port P1 PSW ALU B Register SFR accumulator STRUCTURE OF 8051 architektura komputerów

Bardziej szczegółowo

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 Standardy reprezentacji wartości całkowitoliczbowych

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Mikrokontrolery. Wrocław 2003

Mikrokontrolery. Wrocław 2003 Mikrokontrolery Wojciech Kordecki Zakład Pomiarowej i Medycznej Aparatury Elektronicznej Wydział Podstawowych Problemów Techniki Politechnika Wrocławska Wrocław 2003 1 Wstęp Materiały do wykładu i listy

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

LABORATORIUM nr 1. Temat: Wstęp do mikrokontrolerów rodziny MCS-51

LABORATORIUM nr 1. Temat: Wstęp do mikrokontrolerów rodziny MCS-51 Laboratorium nr 1 Wstęp do mikrokontrolerów rodziny MCS51 LABORATORIUM nr 1 Temat: Wstęp do mikrokontrolerów rodziny MCS-51 1. ARCHITEKTURA MCS-51 UWAGA: Niniejszy rozdział stanowi jedynie krótkie wprowadzenie

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 2 Cel ćwiczenia: zapoznanie się z nowymi metodami adresowania portów, urządzeń do nich podpiętych (adresowanie pośrednie, bezpośrednie, rejestrowe) oraz poznanie struktury wewnętrznej pamięci

Bardziej szczegółowo

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów Operacje na stosie Stos jest obszarem pamięci o dostępie LIFO (Last Input First Output). Adresowany jest niejawnie przez rejestr segmentowy SS oraz wskaźnik wierzchołka stosu SP. Używany jest do przechowywania

Bardziej szczegółowo

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000 SYSTEMY LICZBOWE I. PODZIAŁ SYSTEMÓW LICZBOWYCH: systemy liczbowe: pozycyjne (wartośd cyfry zależy od tego jaką pozycję zajmuje ona w liczbie): niepozycyjne (addytywne) (wartośd liczby jest sumą wartości

Bardziej szczegółowo

Arytmetyka komputerów

Arytmetyka komputerów Arytmetyka komputerów wer. 4 z drobnymi modyfikacjami! Wojciech Myszka 2017-10-26 20:59:28 +0200 Liczby binarne Liczby dwójkowe nie są wcale nowym wynalazkiem: Pierwsze wzmianki pochodzą z Indii, z 5 2

Bardziej szczegółowo

Stan wysoki (H) i stan niski (L)

Stan wysoki (H) i stan niski (L) PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa Systemy wbudowane Mikrokontroler 8051 Budowa dr inż. Maciej Piechowiak Wprowadzenie rdzeń CPU z jednostką artymetyczno-logiczną (ALU) do obliczeń na liczbach 8-bitowych, uniwersalne dwukierunkowe porty

Bardziej szczegółowo

Ćwiczenie 1. (sd 2) 0x0000 0x0003 0x000B 0x0013 0x001B 0x0023

Ćwiczenie 1. (sd 2) 0x0000 0x0003 0x000B 0x0013 0x001B 0x0023 Temat: Asembler i język C wprowadzenie w efektywne programowanie niskopoziomowe. 1.Zagadnienia architektury Ogólnie schemat blokowy mikrokontrolera 80C51 przedstawiono na rysunku 1. Ćwiczenie 1. (sd 2)

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Podstawy języka C++ Marek Pudełko

Podstawy języka C++ Marek Pudełko Podstawy języka C++ Marek Pudełko Elementy języka C++ identyfikatory, słowa kluczowe, stałe i teksty, operatory, separatory, odstępy, komentarze. 2 Komentarz Komentarz to opis działania danego fragmentu

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List)

Język programowania: Lista instrukcji (IL Instruction List) Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne

Bardziej szczegółowo

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie: Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)

Bardziej szczegółowo

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Liczniki i timery laboratorium: 03 autor: mgr inż. Michał Lankosz dr hab. Zbisław

Bardziej szczegółowo

Mikrokontroler Intel 8051. dr inż. Wiesław Madej

Mikrokontroler Intel 8051. dr inż. Wiesław Madej Mikrokontroler Intel 8051 dr inż. Wiesław Madej Mikrokontroler Intel 8051 Wprowadzony na rynek w 1980 roku Następca rodziny 8048 Intel zakooczył produkcję w marcu 2006 Obecnie produkowany przez różne firmy

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Pojęcie liczebności Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Naturalna zdolność człowieka do postrzegania

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej

Bardziej szczegółowo

6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego

6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego 162 Podstawy techniki mikroprocesorowej 6. PRZYKŁADY ZASTOSOWAŃ MIKROKONTROLERA 6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego Sterowanie silnikiem prądu stałego oparte

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051. Ćw 5 Obsługa portu szeregowego UART w mikrokontrolerach 8051 Opracowanie: mgr inż Michał Lankosz 1 Wprowadzenie Celem ćwiczenia jest poznanie działania układu transmisji szeregowej UART 2 Niezbędne wiadomości

Bardziej szczegółowo

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej 1. Pozycyjne systemy liczbowe 2. Zasady zapisu liczb w pozycyjnych systemach liczbowych 3. Podstawowe działania na liczbach binarnych 4. Liczby

Bardziej szczegółowo

SYSTEMY LICZBOWE 275,538 =

SYSTEMY LICZBOWE 275,538 = SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej

Bardziej szczegółowo

Mikrooperacje. Mikrooperacje arytmetyczne

Mikrooperacje. Mikrooperacje arytmetyczne Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej

Bardziej szczegółowo