MCS51 - wykład 2.

Slides:



Advertisements
Podobne prezentacje
Watchdog Paweł Trojanowski
Advertisements

Taktowanie mikroprocesorów Jednostka sterująca mikroprocesora jest układem sekwencyjnym synchronicznym, czyli wymagającym sygnału taktującego (zegarowego).
Tryby adresowania Prawie każda operacja wykonywana przez mikroprocesor wykonywana jest na pewnych argumentach (lub argumencie). Sposoby wskazywania argumentów.
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy.
6. Układy kształtujące funkcje odcinkami prostoliniowymi
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
1 RISC – nasze założenia Podstawowe cechy: Wszystkie operacje są realizowane na rejestrach, Tylko operacje typu load i store wymagają dostępu do pamięci,
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Mapa pamięci mikrokontrolera
Podstawowe informacje dotyczące programowania systemów wbudowanych
Wykład 5 Przerwania w systemie SAB80C537 dr inż. Andrzej Przybył
Wykład 4 Przetwornik Analogowo-Cyfrowy
Magistrale.
Podstawowe składniki funkcjonalne procesora i ich rola.
Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx
Mikrokontrolery - - podstawowe architektury
ARCHITEKTURA KOMPUTERÓW definicja komputera PROCESOR PAMIĘĆ OPERACYJNA URZĄDZENIA ZEWNĘTRZNE.
Niedookreślony układ równań
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Wykład 1 z programowania mikrokontrolerów
1-Wire® Standard 1-Wire®, zwany też czasami siecią MicroLAN, oznacza technologię zaprojektowaną i rozwijaną przez firmę Dallas Semiconductor polegającą.
Zarządzanie transakcjami Wykład S. Kozielski. Zarządzanie transakcjami Transakcja – jedna lub więcej operacji na bazie danych stanowiących pewną logiczną
Mikroprocesory i mikrokontrolery
Mikroprocesory i mikrokontrolery. Mikroprocesor – mikrokontroler jednoukładowy Realizuje proste operacje arytmetyczne i logiczne zgodnie z programem działania.
Procesory jednoukładowe
ogólne pojęcia struktury
Programowalny układ we-wy szeregowego 8251
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Mikrokontrolery PIC.
MCS51 - wykład 5.
Mikroprocesor Z80 przerwania.
ogólne pojęcia struktury
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
MCS51 - wykład 6.
Architektura komputerów
Mikrokontrolery PIC.
Interfejs Technologie informacyjne – laboratorium Irmina Kwiatkowska
MCS51 - wykład 4.
Rodzina AVR wykład 3.
ARCHTEKTURA KOMPUTERA
Płyta główna. Magistrale I/O
Proces projektowania i uruchamiania sterowników mikroprocesorowych
Sekwencyjne bloki funkcjonalne
Zasada działania komputera
Architektura komputerów
Architektura systemów komputerowych (jesień 2013)
Rodzina AVR wykład 6.
Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: na przykład: tuskocz:adda,r0 ;dodanie do akumulatora.
Architektura PC.
Podstawy informatyki 2013/2014
Komunikacja mikrokontrolerów ze światem zewnętrznym
Wykład 3 Praca systemu komputerowego
Asembler MCS51. Budowa programu w asemblerze W ogólnym przypadku linia programu w asemblerze ma następującą budowę: na przykład: tuskocz:adda,r0 ;dodanie.
Wykład nr 4: Mikrokontrolery - wprowadzenie Piotr Bilski
Procesor, pamięć, przerwania, WE/WY, …
Struktura wewnętrzna mikrokontrolera zamkniętego
Pamięć RAM Pamięć RAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
ATXMEGA128A4U 128 kB pamięci Flash Zasilanie 1.6V-3.6V Maksymalne taktowanie 32 MHz 34 Programowalne WE-WY System zdarzeń (Event System) 4 kanały DMA.
Układy i systemy mikroprocesorowe
Architektura systemów komputerowych (jesień 2015) Wykład 5 Budowa i działanie komputera dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki.
POLITECHNIKA POZNAŃSKA
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
Płyta główna. Magistrale I/O
Mikrokontrolery System przerwań
Zapis prezentacji:

MCS51 - wykład 2

Wykład 2 2/17 Funkcjonowanie MCS51 Generator taktu Cykle maszynowe i rozkazowe Wbudowane porty równoległe Zerowanie układu

MCS51 - układ taktowania 3/17 Standardowy zakres częstotliwości: 1,2 - 12MHz. Mikrokontrolery - rozszerzenia MCS51 mogą być taktowane 0Hz - >> 12MHz zewnętrzny generator XTAL2 XTAL1 GND bufor TTL HMOS CHMOS XTAL2 XTAL1 GND rozwiązanie klasyczne XTAL2 XTAL1 GND bufor CMOS zewnętrzny generator wbudowany oscylator XTAL2 XTAL1 GND Φ1 : 6MHz Φ2 : 6MHz 12MHz 1 cykl maszynowy

M, N, O - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2] MCS51 - cykle maszynowe 4/17 wykonanie 2 rozkazów 1-bajtowych zużywających po 1 cyklu maszynowym, np. MOV A,@R1, DEC R2. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE P0 P2 PCL M PC+1L N PC+1L N PC+2L O PC+2L O PCH PC+1H PC+1H PC+2H PC+2H 1 cykl maszynowy = 1 cykl rozkazowy 1 cykl maszynowy = 1 cykl rozkazowy M, N, O - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2]

MCS51 - cykle maszynowe 5/17 wykonanie 2 rozkazów 2-bajtowych zużywających po 1 cyklu maszynowym, np. MOV R3,#5; ADD A,B. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE P0 P2 PCL M PC+1L N PC+2L O PC+3L P PC+4L Q PCH PC+1H PC+2H PC+3H PC+4H 1 cykl maszynowy = 1 cykl rozkazowy 1 cykl maszynowy = 1 cykl rozkazowy MN, OP, Q - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2], P=ROM[PC+3], Q=ROM[PC+4]

M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1] MCS51 - cykle maszynowe 6/17 wykonanie 1 rozkazu 1-bajtowego zużywającego 2 cykle maszynowe np. RET, INC DPTR. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE P0 P2 PCL M PC+1L N PC+1L N PC+1L N PC+1L N PCH PC+1H PC+1H PC+1H PC+1H 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1]

MN, O - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+3] MCS51 - cykle maszynowe 7/17 wykonanie 1 rozkazu 2-bajtowego zużywającego 2 cykle maszynowe, np. PUSH B, SJMP skok. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE PCL PCH M PC+1L PC+1H N PC+2L PC+2H O P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy MN, O - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+3]

MCS51 - cykle maszynowe 8/17 wykonanie 1 rozkazu 3-bajtowego zużywającego 2 cykle maszynowe, np. LCALL 23AAh, MOV DPTR,#1. zał. odczyt z zewn. pamięci programu Φ1 Φ2 PSEN ALE PCL PCH M PC+1L PC+1H N PC+2L PC+2H O PC+3L PC+3H P P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy MNO, P - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2] P=ROM[PC+3]

M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1] MCS51 - cykle maszynowe 9/17 wykonanie 1 rozkazu realizującego odczyt z zewnętrznej RAM, np. MOVX A,@DPTR / MOVX A,@R0 Φ1 Φ2 PSEN ALE RD PCL PCH M PC+1L PC+1H N ADRL ADRH / P2 DIN P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1]

M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1] MCS51 - cykle maszynowe 10/17 wykonanie 1 rozkazu realizującego zapis do zewnętrznej RAM, np. MOVX @DPTR,A / MOVX @R1,A. Φ1 Φ2 PSEN ALE WR PCL PCH M PC+1L PC+1H N ADRL ADRH / P2 DOUT P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1]

Struktura bitu portu P0 - dwukierunkowego MCS51 - port P0 11/17 Struktura bitu portu P0 - dwukierunkowego D Q C Q Vcc P0.X zewn. magistrala/rejestr wyj. adresów lub danych odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu 1

Struktura bitu portu P2 - quasi-dwukierunkowego MCS51 - port P2 12/17 Struktura bitu portu P2 - quasi-dwukierunkowego D Q C Q Vcc P2.X zewn. magistrala/rejestr wyj. adresów odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu 1

Struktura bitu portu P1 - quasi-dwukierunkowego MCS51 - port P1 13/17 Struktura bitu portu P1 - quasi-dwukierunkowego D Q C Q Vcc P1.X odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu

MCS51 - port P3 14/17 Struktura bitu portu P3 - quasi-dwukierunkowego z funkcjami alternatywnymi wyj. funkcja alternatywna odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu wej. funkcja alternatywna D Q C Q Vcc P3.X ! aby funkcja alternatywna danego bitu portu była aktywna, odpowiedni bit w rejestrze PX tego portu musi być ustawiony na „1”

MCS51 - port P3 15/17 Alternatywne funkcje bitów portu P3: P3.0 - RxD - wejście portu szeregowego; P3.1 - TxD - wyjście portu szeregowego; P3.2 - INT0 - wejście przerwania zewnętrznego; P3.3 - INT1 - wejście przerwania zewnętrznego; P3.4 - T0 - zewnętrzne wejście timera 0; P3.5 - T1 - zewnętrzne wejście timera 1; P3.6 - WR - impuls zapisu do pamięci zewnętrznej; P3.7 - RD - impuls odczytu z pamięci zewnętrznej. W 80X52 także P1.0 i P1.1 mają funkcje alternatywne: P1.0 - T2 - zewnętrzne wejście timera 2; P1.1 - T2EX - wejście bramkujące timera 2.

MCS51 - porty Px 16/17 Struktura portów powoduje, że niektóre rozkazy są typu read-modify-write, tzn. czytają rejestr portu, modyfikują go w ALU i odsyłają z powrotem. Są to rozkazy: ANL Px,arg ORL Px,arg XRL Px,arg JBC Px.bit,adrrel DJNZ Px,adrrel CPL Px.bit CLR Px.bit SET Px.bit MOV Px.bit,C INC Px DEC Px Rozkazy czytające bezpośrednio końcówki portów: ANL arg,Px ORL arg,Px XRL arg,Px JB Px.bit,adrrel JNB Px.bit,adrrel CJNE A,Px,adrrel ADD A,Px ADDC A,Px SUBB A,Px MOV arg,Px XCH A,Px PUSH Px

MCS51 - zerowanie 17/17 Aby reset był skuteczny, należy utrzymać wysoki poziom napięcia na wejściu RESET przez minimum 24 okresy pracy oscylatora (co odpowiada 2 c.m.). Zawartość wewnętrznej RAM nie jest zmieniana w trakcie operacji zerowania. Rejestry SFR przyjmują wartości: PC = 0000h A = 00h TMOD = 00h DPTR = 0000h B = 00h TCON = 00h PSW = 00h P0 = 0FFh TH0 = 00h SP = 07h P1 = 0FFh TL0 = 00h PCON = 00h P2 = 0FFh TH1 = 00h SCON = 00h P3 = 0FFh TL1 = 00h SBUF = ?? IP = 00h IE = 00h Vcc RESET GND Vcc Vcc RESET GND