Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Architektury počítačů a paralelných systémů Atmega 32 Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

Podobné prezentace


Prezentace na téma: "Architektury počítačů a paralelných systémů Atmega 32 Zpracoval: Doc. Ing. Lačezar Ličev, CSc."— Transkript prezentace:

1 Architektury počítačů a paralelných systémů Atmega 32 Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

2 Vlastnosti mikrokontroleru ATmega32 8-bitový RISC mikrokontroler. 8-bitový RISC mikrokontroler. Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. Plně statická funkce. Interní kalibrovaný RC oscilátor. Plně statická funkce. Interní kalibrovaný RC oscilátor. Dvou-cyklová násobička na čipu. Dvou-cyklová násobička na čipu. 131 výkonných instrukcí, většinou jedno-cyklových. 131 výkonných instrukcí, většinou jedno-cyklových. 32 osmibitových registrů pro obecné použití. 32 osmibitových registrů pro obecné použití. 32kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce. 32kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce.

3 Vlastnosti mikrokontroleru ATmega32 1kB EEPROM paměť, zápisových/mazacích cyklů. 1kB EEPROM paměť, zápisových/mazacích cyklů. 2kB interní SRAM paměť. 2kB interní SRAM paměť. JTAG rozhraní s možností programování a ladění. JTAG rozhraní s možností programování a ladění. 8-kanálový 10-bitový A/D převodník, analogový komparátor. 8-kanálový 10-bitový A/D převodník, analogový komparátor. Bytově orientované sériové rozhraní (TWI). Bytově orientované sériové rozhraní (TWI). Dvě programovatelné USART komunikační rozhraní. Dvě programovatelné USART komunikační rozhraní. Master/slave SPI sériové rozhraní. Master/slave SPI sériové rozhraní. Dva 8-bitové a jeden 16-bitové čítače, s vlastní před- děličkou. Dva 8-bitové a jeden 16-bitové čítače, s vlastní před- děličkou.

4 Vlastnosti mikrokontroleru ATmega32 Dva 8-bitové PWM kanály. Dva 8-bitové PWM kanály. 4 PWM kanálů s programovatelným rozlišením 2-16 bitů. 4 PWM kanálů s programovatelným rozlišením 2-16 bitů. Programovatelný Watch-dog časovač s oscilátorem na čipu. Programovatelný Watch-dog časovač s oscilátorem na čipu. Čítač reálného času RTC s odděleným oscilátorem. Čítač reálného času RTC s odděleným oscilátorem. 6 režimů snížené spotřeby. 6 režimů snížené spotřeby. 32 programovatelných I/O vývodů. 32 programovatelných I/O vývodů. Napájecí napětí V. Napájecí napětí V.

5 ATmega32

6 Zapojení AVR-KITu

7 Podpora 1. Pro vývoj aplikací lze použít vývojová prostředí různých výrobců a také systém AVR Studio – volné dostupné na stránkách firmy Atmel. 2. Programování lze provádět volně dostupný softwarem.

8 Po rozbalení archívu „avr-kit.zip“ vznikne adresář s obsahem./avrkit.exe > Program pro programování AVR Kitu./avr-kit > Skupina projektů pro AVR Studio5./avrkit > Adresář s knihovnou avrkit./leds > Adresář s projektem pro LED diody./i2c > Adresář s projektem pro sběrnici i2c./demo > Adresář s demo projekty

9 Obsah adresáře - avrkit./avrkit.c > Zdrojový kód knihovny avrkit./avrkit.h > Hlavičkový soubor knihovny avrkit

10 Obsah adresáře - leds./leds.avrgccproj > Projekt AVR Studia./leds.c > Zdrojový kód programu leds./Debug > Adresář pro výstupní soubory./Release > Adresář pro výstupní soubory

11 Obsah adresáře - i2c./i2c.avrgccproj > Projekt AVR Studia./i2c.c > Zdrojový kód programu i2c./Debug > Adresář pro výstupní soubory./Release > Adresář pro výstupní soubory

12 Obsah adresáře - demo./demoleds.hex > Demo program pro LEDky./demo8x8.hex > Demo program pro led displej./demoi2c.hex > Demo program pro sbìrnici i2c

13 ATmega V/V porty (PA, PB, PC a PD) Konfigurace portů (A, B, C a D) pomoci registrů: DDRx - zápisem log. 1 na konkrétní bit tohoto registru určíme, že daný pin bude výstupní a pří log. 0 bude vstupní. DDRx - zápisem log. 1 na konkrétní bit tohoto registru určíme, že daný pin bude výstupní a pří log. 0 bude vstupní. PORTx - když je pin definovaný jako vstupní a v reg. PORTx je definována log.1 je tento pin udržován v klidovém stavu na hodnotu 1. Při log. 0 zapsané do reg. PORTx a když je pin definován jako výstupní určuje reg. PORTx log. hodnotu na konkrétním pinu. PORTx - když je pin definovaný jako vstupní a v reg. PORTx je definována log.1 je tento pin udržován v klidovém stavu na hodnotu 1. Při log. 0 zapsané do reg. PORTx a když je pin definován jako výstupní určuje reg. PORTx log. hodnotu na konkrétním pinu. PINx - Zapsáním log. 1 na pin tohoto registru nastaví log. 1 na konkrétním pinu nezávisle na registru DDRx. Pokud je port nastaven jako vstupní lze pomocí registru PINx zjistit aktuální stav na portu. PINx - Zapsáním log. 1 na pin tohoto registru nastaví log. 1 na konkrétním pinu nezávisle na registru DDRx. Pokud je port nastaven jako vstupní lze pomocí registru PINx zjistit aktuální stav na portu.

14 Postup při programování mikropočítače AVR-KITu Aktivace BOOTLoader - stlačením tlačítka PIND4, pak Aktivace BOOTLoader - stlačením tlačítka PIND4, pak stlačením a uvolnění tlačítka RESET - procesor se uvede do módu programování paměti FLASH - Sviti LED dioda připojenou na PIND2. Restart procesoru - stlačení a uvolnění tlačítka RESET. Restart procesoru - stlačení a uvolnění tlačítka RESET. Po ukončení programování program avrkit.exe zůstává aktivní a je připraven vypisovat data, které bude mikropočítač zapisovat na sériový port pomocí funkce printf. Nechcete-li tuto funkci programu avrkit.exe využívat je ji možné vypnou parametrem -n. Po ukončení programování program avrkit.exe zůstává aktivní a je připraven vypisovat data, které bude mikropočítač zapisovat na sériový port pomocí funkce printf. Nechcete-li tuto funkci programu avrkit.exe využívat je ji možné vypnou parametrem -n.

15 Programování AVR-KITu program avrkit.exe (archív avrkit.zip).  avrkit.exe -h -h show this help -h show this help -d serial port device (def: 'COM1') -d serial port device (def: 'COM1') -e erase AVR flash only -e erase AVR flash only -l list available COM ports -l list available COM ports -n no terminal mode after programming -n no terminal mode after programming -s show AVR flash only -s show AVR flash only -t terminal mode only -t terminal mode only -v verify AVR flash memory only -v verify AVR flash memory only -x show HEX file only -x show HEX file only  avrkit.exe -d COM3 demoleds.hex

16 Architektury počítačů a paralelných systémů Cvičení na: Atmel EVMS-mega128 Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

17 Vlastnosti vývojové desky Obsahuje RISC MCU Atmel ATmega128-16AI TQFP64 Obsahuje RISC MCU Atmel ATmega128-16AI TQFP64 Pro vytváření programového kódu - Atmel AVR Studio Pro vytváření programového kódu - Atmel AVR Studio Napájení: Napájení: Power konektor (např. z wall adapteru) Power konektor (např. z wall adapteru) USB (chráněno SMD tavnou vyměnitelnou pojistkou) USB (chráněno SMD tavnou vyměnitelnou pojistkou) Možnosti programování mikrokontroleru: Možnosti programování mikrokontroleru: ISP či JTAG programovací rozhraní (JTAG ladění kódu) ISP či JTAG programovací rozhraní (JTAG ladění kódu) USB komunikační rozhraní (bootloader-u MCU) USB komunikační rozhraní (bootloader-u MCU)

18 Vlastnosti vývojové desky Uživatelská rozhraní: 4 LED diody 4 LED diody 8 tlačítek 8 tlačítek Multiplexovaný sedmisegmentový LED display (4 digity) Multiplexovaný sedmisegmentový LED display (4 digity) LCD display (2x 16 znaků, podsvětlený, odnímatelný) LCD display (2x 16 znaků, podsvětlený, odnímatelný) Komunikační rozhraní: Komunikační rozhraní: RS-232 (canon 9 konektor) RS-232 (canon 9 konektor) USB (konektor typu B) USB (konektor typu B) SPI (pinová lišta) SPI (pinová lišta) I2C (pinová lišta) I2C (pinová lišta)

19 Vlastnosti vývojové desky Ostatní rozhraní: 7 univerzálních vstupů/výstupů (pinová lišta) 7 univerzálních vstupů/výstupů (pinová lišta) 2 ADC vstupy/výstupu ref. napětí (pinová lišta) 2 ADC vstupy/výstupu ref. napětí (pinová lišta) Rozhraní pro připojení externí paměti Rozhraní pro připojení externí paměti Piny umožňující napájení připojených modulů napětím +5V Piny umožňující napájení připojených modulů napětím +5V

20 Vlastnosti vývojové desky Deska dále obsahuje: 5V napěťový regulátor 5V napěťový regulátor Nastavitelnou napěťovou referenci pro interní AD Nastavitelnou napěťovou referenci pro interní AD Krystal MHz v patici - hlavní zdroj hod. signálu Krystal MHz v patici - hlavní zdroj hod. signálu Krystal kHz pro RTC Krystal kHz pro RTC Piezoměnič bez vlastního budiče (beeper) Piezoměnič bez vlastního budiče (beeper) Trimr pro nastavení kontrastu LCD displeje Trimr pro nastavení kontrastu LCD displeje Resetovací tlačítko Resetovací tlačítko Rozměry desky(v x š x d): 25.0mm x 146.4mm x 68.0mm Rozměry desky(v x š x d): 25.0mm x 146.4mm x 68.0mm

21 Vlastnosti mikrokontroleru ATmega128-16AI TQFP64 8-bitový RISC mikrokontroler. 8-bitový RISC mikrokontroler. Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. Plně statická funkce. Interní kalibrovaný RC oscilátor. Plně statická funkce. Interní kalibrovaný RC oscilátor. Dvou-cyklová násobička na čipu. Dvou-cyklová násobička na čipu. 133 výkonných instrukcí, většinou jedno-cyklových. 133 výkonných instrukcí, většinou jedno-cyklových. 32 osmibitových registrů pro obecné použití. 32 osmibitových registrů pro obecné použití. 128kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce. 128kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích, cyklů s volitelnou velikostí bootloader sekce.

22 Vlastnosti mikrokontroleru ATmega128-16AI TQFP64 4kB EEPROM paměť, zápisových/mazacích cyklů. 4kB EEPROM paměť, zápisových/mazacích cyklů. 4kB interní SRAM paměť. 4kB interní SRAM paměť. JTAG rozhraní s možností programování a ladění. JTAG rozhraní s možností programování a ladění. 8-kanálový 10-bitový A/D převodník, analogový komparátor. 8-kanálový 10-bitový A/D převodník, analogový komparátor. Bytově orientované sériové rozhraní (TWI). Bytově orientované sériové rozhraní (TWI). Dvě programovatelné USART komunikační rozhraní. Dvě programovatelné USART komunikační rozhraní. Master/slave SPI sériové rozhraní. Master/slave SPI sériové rozhraní. Dva 8-bitové a dva 16-bitové čítače, s vlastní před- děličkou. Dva 8-bitové a dva 16-bitové čítače, s vlastní před- děličkou.

23 Vlastnosti mikrokontroleru ATmega128-16AI TQFP64 Dva 8-bitové PWM kanály. Dva 8-bitové PWM kanály. 6 PWM kanálů s programovatelným rozlišením 2-16 bitů. 6 PWM kanálů s programovatelným rozlišením 2-16 bitů. Programovatelný Watch-dog časovač s oscilátorem na čipu. Programovatelný Watch-dog časovač s oscilátorem na čipu. Čítač reálného času RTC s odděleným oscilátorem. Čítač reálného času RTC s odděleným oscilátorem. 6 režimů snížené spotřeby. 6 režimů snížené spotřeby. 53 programovatelných I/O vývodů. 53 programovatelných I/O vývodů. Napájecí napětí V. Napájecí napětí V.

24 Podpora 1. Pro vývoj aplikací lze použít vývojová prostředí různých výrobců a také systém AVR Studio – volné dostupné na stránkách firmy Atmel. 2. Programování lze provádět volně dostupný softwarem.

25 Stručný popis 1. Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR firmy Atmel s označením Atmel EVMS-mega Maximálním výkon.

26 Atmel EVMS-mega128

27

28

29

30 Blokové schéma

31 Napájení

32 Jumper JP PWR

33 Sériové rozhraní RS-232 JP UART – 1

34 Význam vývodů konektoru RS 232 (UART)

35 Logická vazba mezí tlačítky a MCU

36 LED - display

37 Řídící signály a pozicí LED display

38 LCD display a vývody MCU

39 Vývody ISP a JTAG

40 Nahrávání programu do MCU Vlastnosti vývojové desky

41 Programování MCU

42 Hlavička - 1 ;******************************************** ; Program: counter 0 ; Version : v1.0 ; Hardware: atmega128-16ai TQFP64 ; Xtall: MHz ; Author: ;********************************************

43 Hlavička – 2.1 Evms-mega128 v 1.0 board congiguration ;****************************************************************** ;Jumpers: ;Power;depends on power supply used (REG or USB ;VREF;Don`t care (for example 2.5v) ;LEE; Don`t care ;UART1; Don`t care ; ;Connectors: ;

44 Hlavička – 2.2 Evms-mega128 v 1.0 board congiguration ;****************************************************************** ;Connectors: ;LCD display;Don`t care ;Ext. memory;Don`t care ;ADC;Don`t care ;SPI;Don`t care ;I2C;Don`t care ;Misc;Don`t care ;

45 Sekce include ;============ Includes ==========.NOLIST.include “m128def.inc”.LIST

46 Sekce konstant ;=========== Constants ==========.EQU BaudConst = 7 ; Baudova rychlost.EQU BuffLen = 8 ; Velikost bufferu

47 Sekce pojmenování registrů ;======= Register definitions =========.defZeroReg= r1.defFFReg= r2.defPDelReg= r16..

48 Sekce pamětí SRAM ;========= Data Segment ==========.DSEG.Var.BYTE 1;1 bytova prom. na adr. Var1.Buffer.BYTE 8;8 bytova prom. na adr. Buffer

49 Sekce EEPROM ;======== EEPROM segment =======.ESEG ConstArr.DB0x00, 0x00 ;definuje tabulku constant 0x00, 0x00 na adrese ConstArr

50 Sekce MAKER ;=========== MACROs ==========.MACRO INC_Z16 add adc

51 Programová sekce ;========= Program segment ======.CSEG.org0x0000;určení adresy.ldiTmpReg, 0;instrukce CharTab.db 0x10, 0x02;definuje tab.konstant

52 Assembler ARITHMETIC AND LOGIC INSTRUCTIONS: ARITHMETIC AND LOGIC INSTRUCTIONS: ADD Rd, Rr Add Two Registers Rd  Rd + Rr Z,C,N,V,H 1 ADD Rd, Rr Add Two Registers Rd  Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd  Rd + Rr + C Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd  Rd + Rr + C Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd  Rd - Rr Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd  Rd - Rr Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd  Rd - K Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd  Rd - K Z,C,N,V,H 1 … BRANCH INSTRUCTIONS : BRANCH INSTRUCTIONS : RJMP k Relative Jump PC  PC + k + 1 RJMP k Relative Jump PC  PC + k + 1 RCALL k Relative Subroutine Call PC  PC + k + 1 RCALL k Relative Subroutine Call PC  PC + k + 1 RET Subroutine Return PC  STACK … RET Subroutine Return PC  STACK …

53 Assembler DATA TRANSFER INSTRUCTIONS: DATA TRANSFER INSTRUCTIONS: LD Rd, Z Load Register Indirect Rd  (Z) LD Rd, Z Load Register Indirect Rd  (Z) ST Z, Rr Store Register Indirect (Z)  Rr ST Z, Rr Store Register Indirect (Z)  Rr MOV Rd, Rr Move between Registers Rd  Rr MOV Rd, Rr Move between Registers Rd  Rr … BIT AND BIT-TEST INSTRUCTIONS: BIT AND BIT-TEST INSTRUCTIONS: SBI P, b Set Bit in I/O Register I/O(P,b)  1 SBI P, b Set Bit in I/O Register I/O(P,b)  1 CBI P, b Clear Bit in I/O Register I/O(P,b)  0 CBI P, b Clear Bit in I/O Register I/O(P,b)  0 LSL Rd Logical Shift Left Rd(n+1)  Rd(n), Rd(0)  0 Z,C,N,V 1 LSL Rd Logical Shift Left Rd(n+1)  Rd(n), Rd(0)  0 Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n)  Rd(n+1), Rd(7)  0 Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n)  Rd(n+1), Rd(7)  0 Z,C,N,V 1 …

54 Výuková deska EVMS-mega128 v1.0 – Výukové příklady LEDs rotating light LEDs rotating light Buttons Beeper Beeper LED display LCD display LCD display UARTs 0

55 Architektury počítačů Cvičení na: EVM – ATmega8535 v 1.0 Zpracoval: Doc. Ing. Lačezar Ličev, CSc.

56 Vlastnosti vývojového modulu 1. Obsahuje RISC-ový mikrokontroler Atmel ATmega JC(JI). 2. Programování je možné provádět volně dostupným vývojovým softwarem. 3. Mikrokontroler se programuje přímo na základové desce progr. kabelem. 4. Modul obsahuje 4 sedmi-segmentové LED displeje, 8 LED diod a 8 tlačítek. 5. Modul dále obsahuje odpojitelné sériové rozhraní RS-232.

57 Vlastnosti vývojového modulu 6. Většina I/O vývodů MCU je přístupná, je možné připojit rozšiřující hardware. 7. Zdrojem hodinového signálu je krystal MHz umístěný v patici. 8. Pro vnitřní RTC obvod mikrokontroleru je na desce umistěný odpojitelný krystal kHz. 9. Mikrokontroler je možné resetovat tlačítkem RESET. 10. Rozměry (v x š x d): 27mm x 114mm x 74mm

58 Vlastnosti mikrokontroleru ATmega JI 1. 8-bitový RISC mikrokontroler. 2. Výkon - 16 MIPS / 16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. 3. Plně statická funkce. 4. Dvou-cyklová násobička na čipu výkonných instrukcí, většinou jedno- cyklových.

59 Vlastnosti mikrokontroleru ATmega JI osmibitových registrů pro obecně použití. 7. 8kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích cyklů B EEPROM paměť, zápisových/mazacích cyklů B interní SRAM paměť kanálový 10-bitový A/D převodník, analogový komparátor PWM výstupy.

60 Vlastnosti mikrokontroleru ATmega JI 12. Programovatelný USART. 13. Master/slave SPI sériové rozhraní. 14. Dva 8-bitové čítače, jeden 16-bitový. 15. Programovatelní Watch-dog časovač. 16. Čítač reálného času RTC. 17. Tři režimy snížení spotřeby: active, idle a power-down programovatelných I/O vývodů. 19. Napájecí napětí V

61 Použití základové desky 1. Výuka mikroprocesorové techniky. 2. Vestavěné řídící systémy (měření, řízení a regulace). 3. Komunikace. 4. Řízení motorů.

62 Podpora 1. Pro vývoj aplikací lze použít vývojová prostředí různých výrobců a také systém AVR Studio – volné dostupné na stránkách firmy Atmel. 2. Programování lze provádět volně dostupný softwarem.

63 Stručný popis 1. Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR firmy Atmel s označením ATmega Maximálním výkon 16MIPS.

64 Blokové schéma

65 Rozmístění konektorů a propojek

66 Napájení

67 Vývody rozšiřujících konektorů

68 Význam vývodů konektorů

69 Rozšiřující konektory CONx

70 Programovací rozhraní ISP

71 Používání LED-display

72 RS-232

73 Další použití 1. Používání 8 LED diod. 2. Používání tlačítek. 3. Používání 4 sedmi-segmentových LED displejů. 4. Používání sériového rozhraní RS-232.

74 Programování MCU

75 Hlavička ;******************************************** ; Program: Counter 0 ; Version : v1.0 ; Hardware: EVM-ATmega8535 v1.0 ; (Xtall MHz) ; Author: ;********************************************

76 Short description ;********************************************* ; Short description ; ; Program shows on LED diodes actual state of all buttons (button down = lighting LED).

77 Výpis používaných souborů - Includes ;========== Includes ===========.NOLIST.include"m8535def.inc".LIST

78 Constants

79 Register definitions ;======== Register definitions =========.DEFZeroReg= r1.DEFTmpReg= r16.DEFDispPos= r2.DEFPDelReg= r21

80 Data segment ;=========DATA segment =========.DSEG

81 EEPROM segment ;========== EEPROM segment =======.ESEG

82 MACRO segment ;=========== MACROs ===========

83 PROGRAM segment ;========= PROGRAM segment =======.CSEG

84 Interrupt vectors ;**************** Interrupt vectors *************.ORG 0x0000 rjmp RESET; Reset Handler rjmp EXT_INT0; External Interrupt … rjmp EXT_INT1; External Interrupt …..

85 Reset ;******************** Reset *******************.ORG0x0015.ORG0x0015 Reset: clrZeroReg ldiTmpReg, low(RAMEND) ;Initialize … ldiTmpReg, low(RAMEND) ;Initialize … outSPL, TmpReg outSPL, TmpReg..

86 Unused interrupt vectors ;************* Unused interrupt vectors ************** EXT_INT0:EXT_INT1:TIM2_COM:TIM2_OVF:TIM1_CAP:TIM1_COMA:.. SPM_RDY:reti

87 M A I N ;********************* M A I N ********************** Main:rcallTestButtons ;Call subroutine TestButtons comButtons ; Buttons <= not(Buttons) outPortC, Buttons ; PortC <= Buttons rjmpMain ; Jmp to Main

88 Podprogram - Delay ;************ Delay (PDelReg[ms]) **************** Delay1m: movPDelReg2, PDelReg Delay1m: movPDelReg2, PDelReg ; PDelReg2<=PDelReg ; PDelReg2<=PDelReg ; Repeat ; Repeat Delay1m2: dec PDelReg0 ; Dec(PDelReg0) brne Delay1m2 ; Until PDelReg0 = 0 brne Delay1m2 ; Until PDelReg0 = 0 dec PDelReg1 ; Dec(PDelReg1) dec PDelReg1 ; Dec(PDelReg1) brne Delay1m0 ; Until PDelReg2 = 0 brne Delay1m0 ; Until PDelReg2 = 0 ret ret

89 Assembler ARITHMETIC AND LOGIC INSTRUCTIONS: ARITHMETIC AND LOGIC INSTRUCTIONS: ADD Rd, Rr Add Two Registers Rd  Rd + Rr Z,C,N,V,H 1 ADD Rd, Rr Add Two Registers Rd  Rd + Rr Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd  Rd + Rr + C Z,C,N,V,H 1 ADC Rd, Rr Add with Carry Two Registers Rd  Rd + Rr + C Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd  Rd - Rr Z,C,N,V,H 1 SUB Rd, Rr Subtract Two Registers Rd  Rd - Rr Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd  Rd - K Z,C,N,V,H 1 SUBI Rd, K Subtract Constant from Register Rd  Rd - K Z,C,N,V,H 1 … BRANCH INSTRUCTIONS : BRANCH INSTRUCTIONS : RJMP k Relative Jump PC  PC + k + 1 RJMP k Relative Jump PC  PC + k + 1 RCALL k Relative Subroutine Call PC  PC + k + 1 RCALL k Relative Subroutine Call PC  PC + k + 1 RET Subroutine Return PC  STACK … RET Subroutine Return PC  STACK …

90 Assembler DATA TRANSFER INSTRUCTIONS: DATA TRANSFER INSTRUCTIONS: LD Rd, Z Load Register Indirect Rd  (Z) LD Rd, Z Load Register Indirect Rd  (Z) ST Z, Rr Store Register Indirect (Z)  Rr ST Z, Rr Store Register Indirect (Z)  Rr MOV Rd, Rr Move between Registers Rd  Rr MOV Rd, Rr Move between Registers Rd  Rr … BIT AND BIT-TEST INSTRUCTIONS: BIT AND BIT-TEST INSTRUCTIONS: SBI P, b Set Bit in I/O Register I/O(P,b)  1 SBI P, b Set Bit in I/O Register I/O(P,b)  1 CBI P, b Clear Bit in I/O Register I/O(P,b)  0 CBI P, b Clear Bit in I/O Register I/O(P,b)  0 LSL Rd Logical Shift Left Rd(n+1)  Rd(n), Rd(0)  0 Z,C,N,V 1 LSL Rd Logical Shift Left Rd(n+1)  Rd(n), Rd(0)  0 Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n)  Rd(n+1), Rd(7)  0 Z,C,N,V 1 LSR Rd Logical Shift Right Rd(n)  Rd(n+1), Rd(7)  0 Z,C,N,V 1 …


Stáhnout ppt "Architektury počítačů a paralelných systémů Atmega 32 Zpracoval: Doc. Ing. Lačezar Ličev, CSc."

Podobné prezentace


Reklamy Google