Carregar apresentação
A apresentação está carregando. Por favor, espere
1
AULA4 – Introdução a Microcontrolador
Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Profa. Ana T. Y. Watanabe
2
“Bem-aventurado aquele que lê, e os que ouvem as palavras desta profecia, e guardam as coisas que nela estão escritas; porque o tempo está próximo.” Apocalipse 1:3
3
Tópicos da aula: Gerador de Clock – MCG (Multi-Purpose Clock Generator) Mapa de Memória do JM60 Registrador SOPT1 Código em Assembly Exercício prático
4
Gerador de Clock – MCG (Multi-Purpose Clock Generator)
O módulo gerador de Clock (MCG) fornece várias opções de fonte de clock para o MCU; O módulo pode ser selecionado por filtro de sincronização por freqüência-locked loop (FLL) ou por phase-locked loop (PLL); Também pode ser selecionado por referência interna ou externa (XOSC) com cristal; Qualquer que seja a fonte de clock escolhido, ele é passado através de um divisor de bus reduzida que permite uma menor freqüência de clock de saída.
5
Gerador de Clock – MCG (Multi-Purpose Clock Generator)
6
Gerador de Clock – MCG (Multi-Purpose Clock Generator)
Existem 9 modos de operação do MCG: • FLL Engaged Internal (FEI) • FLL Engaged External (FEE) • FLL Bypassed Internal (FBI) • FLL Bypassed External (FBE) • PLL Engaged External (PEE) • PLL Bypassed External (PBE) • Bypassed Low Power Internal (BLPI) • Bypassed Low Power External (BLPE) • Stop
7
Gerador de Clock – MCG (Multi-Purpose Clock Generator)
Modos de Operação:
8
Gerador de Clock – MCG (Multi-Purpose Clock Generator)
9
Após o reset o MCG vai para o modo FEI; Typical fMCGOUT = 16 MHz;
Gerador de Clock – MCG (Multi-Purpose Clock Generator) Após o reset o MCG vai para o modo FEI; Typical fMCGOUT = 16 MHz; BUSCLK = fMCGOUT /2 = 8 MHz;
10
MAPA DE MEMÓRIA DO JM60
11
REGISTRADOR SOPT1: DESABILITA COP
12
EXERCÍCIO PRÁTICO: Escrever em linguagem assembly um programa que faz acender todos os leds alternadamente da placa do JM60.
13
Código em Assembly ; Include derivative-specific definitions
INCLUDE 'derivative.inc‘ ; variable/data section ; ORG RAMStart ; Insert your data definition here TEMPO1: DS.B 2 TEMPO2: DS.B 2 ; code section ORG ROMStart Inicio: ; Desabilita o COP lda SOPT1 and #63 sta SOPT1
14
Código em Assembly mainLoop: ; PISCA OS LEDS DA PLACA DEMOJM
; PTE2 => LED1 ; PTE3 => LED2 ; PTF0 => LED3 ; PTF1 => LED4 ; PTC2 => LED5 ; PTC4 => LED6 ; PTF5 => LED7 ; PTD2 => LED8 BCLR 2,PTED ; ACENDE LED1 BSET 2,PTEDD ; DIREÇÃO DE PTE2 => SAIDA BSET 3,PTED ; APAGA LED2 BSET 3,PTEDD ; DIREÇÃO DE PTE3 => SAIDA BSET 0,PTFD ; APAGA LED3 BSET 0,PTFDD ; DIREÇÃO DE
15
Código em Assembly mainLoop: ; PISCA OS LEDS DA PLACA DEMOJM
; PTE2 => LED1 ; PTE3 => LED2 ; PTF0 => LED3 ; PTF1 => LED4 ; PTC2 => LED5 ; PTC4 => LED6 ; PTF5 => LED7 ; PTD2 => LED8 BCLR 2,PTED ; ACENDE LED1 BSET 2,PTEDD ; DIREÇÃO DE PTE2 => SAIDA BSET 3,PTED ; APAGA LED2 BSET 3,PTEDD ; DIREÇÃO DE PTE3 => SAIDA BSET 0,PTFD ; APAGA LED3 BSET 0,PTFDD ; DIREÇÃO DE PTF0 => SAIDA
16
Código em Assembly BSET 1,PTFD ; APAGA LED4
BSET 1,PTFDD ; DIREÇÃO DE PTF1 => SAIDA BSET 2,PTCD ; APAGA LED5 BSET 2,PTCDD ; DIREÇÃO DE PTC2 => SAIDA BSET 4,PTCD ; APAGA LED6 BSET 4,PTCDD ; DIREÇÃO DE PTC4 => SAIDA BSET 5,PTFD ; APAGA LED7 BSET 5,PTFDD ; DIREÇÃO DE PTF5 => SAIDA BSET 2,PTDD ; APAGA LED8 BSET 2,PTDDD ; DIREÇÃO DE PTD2 => SAIDA
17
Código em Assembly JSR TIMER ; TIMER BSET 2,PTED ; APAGA LED1
BCLR 3,PTED ; ACENDE LED2 BSET 3,PTED ; APAGA LED2 BCLR 0,PTFD ; ACENDE LED3 BSET 0,PTFD ; APAGA LED3 BCLR 1,PTFD ; ACENDE LED4 BSET 1,PTFD ; APAGA LED4 BCLR 2,PTCD ; ACENDE LED5 BSET 2,PTCD ; APAGA LED5 BCLR 4,PTCD ; ACENDE LED6 BSET 4,PTCD ; APAGA LED6 BCLR 5,PTFD ; ACENDE LED7 BSET 5,PTFD ; APAGA LED7 BCLR 2,PTDD ; ACENDE LED8 BSET 2,PTDD ; APAGA LED8 BRA mainLoop
18
Código em Assembly TIMER: LDHX #$FFFF
STHX TEMPO1 ; ARMAZENA EM TEMPO1 => #$FFFF LDHX #0010 STHX TEMPO2 ; ARMAZENA EM TEMPO2 => #0010 LDHX #$ ; CARREGA HX COM 0 LOOP1: AIX #$ ; INCREMENTA HX COM 1 CPHX TEMPO1 ; VERIFICA SE CHEGOU EM TEMPO1 BEQ FIM PSHH ; GUARDA H NA PILHA PSHX ; GUARDA L NA PILHA LOOP2: AIX #$ ; INCREMENTA HX COM 1 CPHX TEMPO2 ; VERIFICA SE CHEGOU EM TEMPO1 BNE LOOP2 PULX PULH JMP LOOP1 FIM: RTS
19
Código em Assembly ;************************************************************** ;* Interrupt Vectors * ORG $FFFE DC.W Inicio ; Reset
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.