Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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. • Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. • Plně statická funkce. Interní kalibrovaný RC oscilátor. • Dvou-cyklová násobička na čipu. • 131 výkonných instrukcí, většinou jedno-cyklových. • 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.
3
Vlastnosti mikrokontroleru ATmega32
• 1kB EEPROM paměť, zápisových/mazacích cyklů. • 2kB interní SRAM paměť. • JTAG rozhraní s možností programování a ladění. • 8-kanálový 10-bitový A/D převodník, analogový komparátor. • Bytově orientované sériové rozhraní (TWI). • Dvě programovatelné USART komunikační rozhraní. • Master/slave SPI sériové rozhraní. • 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. • 4 PWM kanálů s programovatelným rozlišením 2-16 bitů. • Programovatelný Watch-dog časovač s oscilátorem na čipu. • Čítač reálného času RTC s odděleným oscilátorem. • 6 režimů snížené spotřeby. • 32 programovatelných I/O vývodů. • Napájecí napětí V.
5
ATmega32
6
Zapojení AVR-KITu
7
Podpora 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. 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
ATmega32 - 4 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í. 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.
14
Postup při programování mikropočítače AVR-KITu
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. 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 -d serial port device (def: 'COM1') -e erase AVR flash only -l list available COM ports -n no terminal mode after programming -s show AVR flash only -t terminal mode only -v verify AVR flash memory 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 • Pro vytváření programového kódu - Atmel AVR Studio • Napájení: • Power konektor (např. z wall adapteru) • USB (chráněno SMD tavnou vyměnitelnou pojistkou) • Možnosti programování mikrokontroleru: • ISP či JTAG programovací rozhraní (JTAG ladění kódu) • USB komunikační rozhraní (bootloader-u MCU)
18
Vlastnosti vývojové desky
Uživatelská rozhraní: • 4 LED diody • 8 tlačítek • Multiplexovaný sedmisegmentový LED display (4 digity) • LCD display (2x 16 znaků, podsvětlený, odnímatelný) • Komunikační rozhraní: • RS-232 (canon 9 konektor) • USB (konektor typu B) • SPI (pinová lišta) • I2C (pinová lišta)
19
Vlastnosti vývojové desky
Ostatní rozhraní: • 7 univerzálních vstupů/výstupů (pinová lišta) • 2 ADC vstupy/výstupu ref. napětí (pinová lišta) • Rozhraní pro připojení externí paměti • 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 • Nastavitelnou napěťovou referenci pro interní AD • Krystal MHz v patici - hlavní zdroj hod. signálu • Krystal kHz pro RTC • Piezoměnič bez vlastního budiče (beeper) • Trimr pro nastavení kontrastu LCD displeje • Resetovací tlačítko • 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. • Výkon - 16 MIPS/16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. • Plně statická funkce. Interní kalibrovaný RC oscilátor. • Dvou-cyklová násobička na čipu. • 133 výkonných instrukcí, většinou jedno-cyklových. • 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.
22
Vlastnosti mikrokontroleru ATmega128-16AI TQFP64
• 4kB EEPROM paměť, zápisových/mazacích cyklů. • 4kB interní SRAM paměť. • JTAG rozhraní s možností programování a ladění. • 8-kanálový 10-bitový A/D převodník, analogový komparátor. • Bytově orientované sériové rozhraní (TWI). • Dvě programovatelné USART komunikační rozhraní. • Master/slave SPI sériové rozhraní. • 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. • 6 PWM kanálů s programovatelným rozlišením 2-16 bitů. • Programovatelný Watch-dog časovač s oscilátorem na čipu. • Čítač reálného času RTC s odděleným oscilátorem. • 6 režimů snížené spotřeby. • 53 programovatelných I/O vývodů. • Napájecí napětí V.
24
Podpora 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. Programování lze provádět volně dostupný softwarem.
25
Stručný popis Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR firmy Atmel s označením Atmel EVMS-mega128. Maximálním výkon.
26
Atmel EVMS-mega128
27
Atmel EVMS-mega128
28
Atmel EVMS-mega128
29
Atmel EVMS-mega128
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 ========= .def ZeroReg = r1 .def FFReg = r2 .def PDelReg = 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 .DB 0x00, 0x00 ;definuje tabulku constant 0x00, 0x00 na adrese ConstArr
50
Sekce MAKER ;=========== MACROs ========== .MACRO INC_Z16 add ZL, @0
adc .ENDM
51
Programová sekce ;========= Program segment ====== .CSEG
.org 0x0000 ;určení adresy .ldi TmpReg, 0 ;instrukce CharTab .db 0x10, 0x02 ;definuje tab.konstant
52
Assembler … ARITHMETIC AND LOGIC INSTRUCTIONS:
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 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 … BRANCH INSTRUCTIONS : RJMP k Relative Jump PC PC + k + 1 RCALL k Relative Subroutine Call PC PC + k + 1 RET Subroutine Return PC STACK …
53
Assembler DATA TRANSFER INSTRUCTIONS:
LD Rd, Z Load Register Indirect Rd (Z) ST Z, Rr Store Register Indirect (Z) Rr MOV Rd, Rr Move between Registers Rd Rr … BIT AND BIT-TEST INSTRUCTIONS: 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 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
54
Výuková deska EVMS-mega128 v1.0 – Výukové příklady
1.0 - 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
Obsahuje RISC-ový mikrokontroler Atmel ATmega JC(JI). Programování je možné provádět volně dostupným vývojovým softwarem. Mikrokontroler se programuje přímo na základové desce progr. kabelem. Modul obsahuje 4 sedmi-segmentové LED displeje, 8 LED diod a 8 tlačítek. Modul dále obsahuje odpojitelné sériové rozhraní RS-232.
57
Vlastnosti vývojového modulu
Většina I/O vývodů MCU je přístupná, je možné připojit rozšiřující hardware. Zdrojem hodinového signálu je krystal MHz umístěný v patici. Pro vnitřní RTC obvod mikrokontroleru je na desce umistěný odpojitelný krystal kHz. Mikrokontroler je možné resetovat tlačítkem RESET. Rozměry (v x š x d): 27mm x 114mm x 74mm
58
Vlastnosti mikrokontroleru ATmega8535-16JI
8-bitový RISC mikrokontroler. Výkon - 16 MIPS / 16 MHz - 12x rychlejší než standardní x51 na stejné taktovací frekvenci. Plně statická funkce. Dvou-cyklová násobička na čipu. 130 výkonných instrukcí, většinou jedno-cyklových.
59
Vlastnosti mikrokontroleru ATmega8535-16JI
32 osmibitových registrů pro obecně použití. 8kB programová FLASH paměť, programovatelná přímo v aplikaci s možností uzamknutí, zápisových/mazacích cyklů. 512B EEPROM paměť, zápisových/mazacích cyklů. 512B interní SRAM paměť. 8-kanálový 10-bitový A/D převodník, analogový komparátor. 4 PWM výstupy.
60
Vlastnosti mikrokontroleru ATmega8535-16JI
Programovatelný USART. Master/slave SPI sériové rozhraní. Dva 8-bitové čítače, jeden 16-bitový. Programovatelní Watch-dog časovač. Čítač reálného času RTC. Tři režimy snížení spotřeby: active, idle a power-down. 32 programovatelných I/O vývodů. Napájecí napětí V
61
Použití základové desky
Výuka mikroprocesorové techniky. Vestavěné řídící systémy (měření, řízení a regulace). Komunikace. Řízení motorů.
62
Podpora 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. Programování lze provádět volně dostupný softwarem.
63
Stručný popis Vývojový modul obsahuje RISC mikrokontroler vývojové řady AVR firmy Atmel s označením ATmega8535. 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í Používání 8 LED diod. Používání tlačítek.
Používání 4 sedmi-segmentových LED displejů. 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 ;*********************************************
; ; Program shows on LED diodes actual state of all buttons (button down = lighting LED).
77
Výpis používaných souborů - Includes
.NOLIST .include "m8535def.inc" .LIST
78
Constants
79
Register definitions ;======== Register definitions =========
.DEF ZeroReg = r1 .DEF TmpReg = r16 .DEF DispPos = r2 .DEF PDelReg = 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 ******************* .ORG 0x0015
Reset: clr ZeroReg ldi TmpReg, low(RAMEND) ;Initialize … out SPL, TmpReg .
86
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: rcall TestButtons ;Call subroutine TestButtons com Buttons ; Buttons <= not(Buttons) out PortC, Buttons ; PortC <= Buttons rjmp Main ; Jmp to Main
88
Podprogram - Delay ;************ Delay (PDelReg[ms]) ****************
Delay1m: mov PDelReg2, PDelReg ; PDelReg2<=PDelReg ; Repeat Delay1m2: dec PDelReg0 ; Dec(PDelReg0) brne Delay1m2 ; Until PDelReg0 = 0 dec PDelReg1 ; Dec(PDelReg1) brne Delay1m0 ; Until PDelReg2 = 0 ret
89
Assembler … ARITHMETIC AND LOGIC INSTRUCTIONS:
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 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 … BRANCH INSTRUCTIONS : RJMP k Relative Jump PC PC + k + 1 RCALL k Relative Subroutine Call PC PC + k + 1 RET Subroutine Return PC STACK …
90
Assembler DATA TRANSFER INSTRUCTIONS:
LD Rd, Z Load Register Indirect Rd (Z) ST Z, Rr Store Register Indirect (Z) Rr MOV Rd, Rr Move between Registers Rd Rr … BIT AND BIT-TEST INSTRUCTIONS: 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 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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.