MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Podobne dokumenty
RAM. MIKROPROCESOR wielki inwalida" MIKROKONTROLER - przykł. AVR

Programowanie mikrokontrolerów (CISC)

Podstawy Techniki Mikroprocesorowej

Mikroprocesory i Mikrosterowniki

Mikroprocesory i mikrosterowniki

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

Mikrokontrolery AVR ATmega

1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13

CPU architektura i rejestry

MIKROKONTROLERY I MIKROPROCESORY

architektura komputerów w 1 1

Programowanie mikrokontrolera 8051

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

Lista rozkazów mikrokontrolera 8051

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

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

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Asembler - język maszynowy procesora

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

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

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

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Struktura i działanie jednostki centralnej

Podstawy Techniki Mikroprocesorowej

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

Architektura komputerów. Asembler procesorów rodziny x86

architektura komputerów w 1 1

Pracownia elektryczno-elektroniczna klasa IV

Architektura typu Single-Cycle

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura komputerów

Przerwania w architekturze mikrokontrolera X51

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

PROCESORY ARM TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH!

Procesory rodziny x86. Dariusz Chaberski

2. Architektura mikrokontrolerów PIC16F8x... 13

Techniki mikroprocesorowe i systemy wbudowane

Mikrokontrolery 8 bit - wprowadzenie

Programowanie niskopoziomowe

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

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

DSM51 operacje przesylania danych i operacje arytmetyczne strona 1

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Mikrokontrolery AVR ATmega

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

Wstęp. do języka C na procesor (kompilator RC51)

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Opis mikrokontrolera 8051 Lista rozkazowa Timery

8 bitowy rdzeń AVR. Dariusz Chaberski

Organizacja typowego mikroprocesora

Wstęp Zagadnienia ogólne... 11

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

AGH Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Politechnika Warszawska

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Metody Realizacji Języków Programowania

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Rozszerzalne kody operacji (przykład)

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

Systemy wbudowane. Przykłady kodu Assembler

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Sprzęt i architektura komputerów

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

Struktura programu w asemblerze mikrokontrolera 8051

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

ZAPOZNANIE SIĘ Z ZESTAWEM DYDAKTYCZNYM ZD537, OPROGRAMOWANIEM µvision 2 ORAZ OPERACJE NA PAMIĘCIACH

Architektura komputerów

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Mikrokontroler 80C51

Sprzęt i architektura komputerów

Mikroprocesory i Mikrosterowniki

Architektura komputerów

Mikroprocesory i mikrosterowniki

Mikroprocesory i Mikrosterowniki

Systemy mikroprocesorowe

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

MIKROPROCESORY architektura i programowanie

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Technika mikroprocesorowa I Wykład 2

Lista instrukcji mikroprocesora Programowanie w assemblerze

organizacja procesora 8086

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

ARCHITEKTURA PROCESORA,

Lista Rozkazów: Język komputera

LISTA ROZKAZÓW i TRYBY ADRESOWANIA

Wstęp Architektura... 13

Mikrokontrolery w systemach pomiarowo sterujących

Projektowanie. Projektowanie mikroprocesorów

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

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

Kurs Zaawansowany S7. Spis treści. Dzień 1

Transkrypt:

INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU: rodzina 51 AVR ARM 8 bit 8 bit 32 bit A akumulator B akumulator pomocniczy R0 R7 rejestry robocze (x 4) R0 R31 R0 R15 PSW rejestr wskaźników SREG CPSR (SPSR) PC licznik rozkazów PC PC = R15 SP wskaźnik stosu SP SO = R13 Piotr MALECKI 1/38

OPERACJE (rozkazy) PROCESORÓW CYFROWYCH TWORZĄ GRUPY: OPERACJE ARYTMETCZNO-LOGICZNE OPERACJE TRANSFERU DANYCH OPERACJE WARUNKOWE OPERACJE STERUJĄCE 8051 FAMILY ARITHMETIC and LOGIC INSTRUCTIONS Code Addressing flags cycles ADD A,Rr A,direct A,@Ri A.#data C,N,V 1 ADC A,Rr A,direct A,@Ri A,#data C,N,V 1 SUBB A,Rr A,direct A,@Ri A,#data C,H,V 1 INC A Rr direct @Ri DPTR 1 DEC A Rr direct @Ri 1 MUL AB C,V 4 DIV AB C,V 4 DA A C 1 ANL A,Rr A,direct A,@Ri A,#data direct,a direct,#data 1(2) ORL A,Rr A,direct A,@Ri A,#data direct,a direct,#data 1(2) XRL A,Rr A,direct A,@Ri A,#data direct,a direct,#data 1(2) CLR A CPL A SWAP A gdzie r = 0 : 7, i = 0,1 #data = 0 : 255 @ oznacza adresowanie pośrednie, Direct ozb=nacza adresowanie bezpośrednie Piotr MALECKI 2/38

INSTRUKCJE ARYTMETYCZNE RODZINY 8051 Piotr MALECKI 3/38

NOTACJA SYSTEMY LICZBOWE - REPREZENTACJA LICZB UJEMNYCH - ZMIENNOPRZECINKOWYCH INTERPRETACJA Piotr MALECKI 4/38

INSTRUKCJE LOGICZNE RODZINY 8051 Piotr MALECKI 5/38

Piotr MALECKI 6/38

INSTRUKCJE PRZESYŁANIA DANYCH RODZINY 8051 Piotr MALECKI 7/38

Piotr MALECKI 8/38

INSTRUKCJE MANIPULUJĄCE BITAMI RODZINY 8051 Piotr MALECKI 9/38

Piotr MALECKI 10/38

INSTRUKCJE STERUJĄCE RODZINY 8051 Piotr MALECKI 11/38

DYREKTYWY ASEMBLERA Dosyć uniwersalne, mogą występować w nieco zmienionych formach (np..org), ale zwykle w tych samych znaczeniach Piotr MALECKI 12/38

;Warm boot application example WARM EQU 30H ;First location of the four bytes in RAM. WARM1 EQU 55H ;First predetermined value. WARM2 EQU 0AAH ;Second predetermined value. WARM3 EQU 33H ;Third predetermined value. WARM4 EQU 0CCH ;Fourth predetermined value. WARMBT EQU 0 ;Warm boot status bit. ORG 0 START: JMP MAIN ;Bypass interrupt vectors. ORG 26H MAIN: MOV R0,#WARM ;Pointer for first byte. CJNE @R0,#WARM1,COLD ;Test first byte. INC R0 ;Pointer for second byte. CJNE @R0,#WARM2,COLD ;Test second byte. INC R0 ;Pointer for third byte. CJNE @R0,#WARM3,COLD ;Test third byte. INC R0 ;Pointer for fourth byte. CJNE @R0,#WARM4,COLD ;Test fourth byte. SETB WARMBT ;This is a warm start. JMP INIT ;Continue application. COLD: CLR WARMBT ;This is a cold boot. MOV R0,#WARM ;Pointer for first byte. MOV @R0,#WARM1 ;Load the four bytes for future test. INC R0 ; MOV @R0,#WARM2 ; INC R0 ; MOV @R0,#WARM3 ; INC R0 ; MOV @R0,#WARM4 ; INIT: ;Continue with the ;application. Przykład nieco trickowego programu informującego programistę (8051), czy program rozpoczął pracę po załączeniu zasilania mikrokontrolera ( warm start ), czy po wykonaniu reset ( cold start ) POMYSŁ PROGRAMU OPIERA SIĘ NA OBSERWACJI, ŻE PAMIĘĆ RAM (OGRANICZAMY SIĘ DO ARCHITEKTURY 805x) JEST INICJOWANA W ZAKRESIE SFR, NATOMIAST DLA POZOSTAŁEJ PRZESTRZENI ADRESOWEJ PRZYJMUJE, PO ZAŁĄCZENIU ZASILANIA, WARTOŚCI PRZYPADKOWE. INNE AKCJE RESET, NIE POWODUJĄCE PRZERWY ZASILANIA NIE ZMIENIAJĄ ZAWARTOŚCI RAM. END Piotr MALECKI 13/38

REJESTRY AVR 32 8-BITOWE REJESTRY ROBOCZE OSTATNIE 3 PARY TWORZĄ TRZY REJESTRY 16-BITOWE X, Y, Z Piotr MALECKI 14/38

Adres bezpośredni, pojedynczy rejestr Adres bezpośredni, dwa rejestry Bezpośrednie adresowanie przestrzeni I/O (rejestry konfiguracyjne układów peryferyjnych) Piotr MALECKI 15/38

Adres bezpośredni, immediate variable Adres pośredni z przesunięciem Piotr MALECKI 16/38

Pośrednie adresowanie danych Pośrednie adresowanie danych z pre-dekrementacją Piotr MALECKI 17/38

Pośrednie adresowanie danych z post-inkrementacją Adresowanie pamięci kodu ( word boundary )!!! Piotr MALECKI 18/38

Adresowanie pamięci kodu z post-inkrementacją np. w LPM Z+ Bezpośrednie adresowanie pamięci kodu Piotr MALECKI 19/38

Pośrednie adresowanie pamięci kodu w rozkazach IJMP i ICALL Adresowanie względne pamięci kodu w rozkazach RJMP i RCALL Piotr MALECKI 20/38

AVR ARITHMETIC and LOGIC INSTRUCTIONS Code arguments affected flags cycles ADD Rd,Rs Z,C,N,V,H,S 1 ADC Rd,Rs Z,C,N,V,H,S 1 ADIW RR,c63 Z,C,N,V,S 2 SUB Rd,Rs Z,C,H,N,V,S 1 SUB Rh,c255 Z,C,N,V,S,H 1 SBIW RR,c63 Z,C,N,V,S 2 SBC Rd,Rs Z,C,N,V,S,H 1 SBC Rd,c255 Z,C,N,V,S,H 1 AND Rd,Rs S,V,N,Z 1 ANDI Rh,c255 S,V,N,Z 1 OR Rd,Rs S,V,N,Z 1 ORI Rh,c255 S,V,N,Z 1 EOR Rd,Rs S,V,N,Z 1 COM Rd S,V,N,Z,C 1 NEG Rd H,S,V,N,Z,C 1 SBR Rh,c255 S,V,N,Z 1 CBR Rh,c255 S,V,N,Z 1 INC Rd S,V,N,Z 1 DEC Rd S,V,N,Z 1 TST Rd S,V,N,Z 1 CLR Rd S,V,N,Z 1 SER Rh 1 MUL Rd,Rs Z,C 2 MULS Rh,Rh Z,C 2 MULSU Rh,Rh Z,C 2 FMUL Rhd,Rhs Z,C 2 FMULS Rhd,Rhs Z,C 2 FMULSU Rhd,Rhs Z,C 2 Doskonałe dokumentacje ATMELa http://www.atmel.com/webdoc/avrassembler/ Zbiorcze listy instrukcji oraz szczegółowe opisy z przykładami Lub wiele innych źródeł http://www3.imperial.ac.uk/pls/portallive/docs/1/32785698.htm http://avr.8b.cz/asmhelp/html/instructions.html Where: d,s = 0 : 30, h = 16 : 30, hd, hs = 16:23 c63 = 0 : 63, c255 = 0 : 255 Piotr MALECKI 21/38

ZBIORCZE LISTY ROZKAZÓW MIKROKONTROLERÓW ARCHITEKTURY AVR PRZYKŁADOWE ODWOŁANIA DO OPISÓW WYBRANYCH INSTRUKCJI (sieć lub.pdf file) - ADC, FMUL (?), Piotr MALECKI 22/38

Piotr MALECKI 23/38

ZBIORCZE LISTY ROZKAZÓW MIKROKONTROLERÓW ARCHITEKTURY AVR PRZYKŁADOWE ODWOŁANIA DO OPISÓW WYBRANYCH INSTRUKCJI (sieć lub.pdf file) BRGE, BRBC (równoważne!) Piotr MALECKI 24/38

Piotr MALECKI 25/38

ZBIORCZE LISTY ROZKAZÓW MIKROKONTROLERÓW ARCHITEKTURY AVR PRZYKŁADOWE ODWOŁANIA DO OPISÓW WYBRANYCH INSTRUKCJI (sieć lub.pdf file) IN, OUT, PUSH, POP POP: (SP pre-incremented), PUSH: (post-decrement) Piotr MALECKI 26/38

Piotr MALECKI 27/38

UWAGA NA ADRESOWANIE PRZESTRZENI I/O IN / OUT LD / ST Piotr MALECKI 28/38

ZBIORCZE LISTY ROZKAZÓW MIKROKONTROLERÓW ARCHITEKTURY AVR PRZYKŁADOWE ODWOŁANIA DO OPISÓW WYBRANYCH INSTRUKCJI (sieć lub.pdf file) Piotr MALECKI 29/38

51 AKUMULATOR ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0 PSW PROGRAM STATUS WORD CY AC F0 RS1 RS0 OV F1 P 7 6 5 4 3 2 1 0 CY carry flag AC aux. Carry F0, F1 general purpose RS1, RS0 reg. bank select OV overflow flag P parity bit RODZINA AVR Piotr MALECKI 30/38

Piotr MALECKI 31/38

Piotr MALECKI 32/38

Piotr MALECKI 33/38

Piotr MALECKI 34/38

POLE WARUNKÓW W ROZKAZACH ARM Piotr MALECKI 35/38

Piotr MALECKI 36/38

ASEMBLERY I KOMPILATORY SKROŚNE (ASSEMBLERS & CROSSCOMPILERS) TWORZĄ WYNIKOWY ZBIÓR W FORMACIE.hex, A ROZMAITE PROGRAMATORY ŁADUJĄ TEN ZBIÓR DO PAMIĘCI KODU MIKROKONTROLERA JEST TO ZBIÓR ASCI. KAŻDA LINIA TEGO ZBIORU, O MAKSYMALNEJ DŁUGOŚCI 27 BAJTÓW MA STRUKTURĘ PODANĄ W TABELI: Piotr MALECKI 37/38

KAŻDA LINIA ZAKOŃCZONA JEST SUMĄ KONTROLNĄ POMNOŻONĄ PRZEZ (-1), BY WŁĄCZONA DO SUMY DAWAŁA WARTOŚĆ ZERO ZDARZA SIĘ, ŻE PROGRAMATORY PRODUCENTÓW MODYFIKUJĄ.hex FILE W PROCESIE DIALOGU ZE SPRZĘTOWYM MINI-LOADEREM ZASZYTYM W MIKROKONTROLERZE Piotr MALECKI 38/38