A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AULA4 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe

Apresentações semelhantes


Apresentação em tema: "AULA4 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe"— Transcrição da apresentação:

1 AULA4 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) 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 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; 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 JSR TIMER ; TIMER BSET 3,PTED ; APAGA LED2 BCLR 0,PTFD ; ACENDE LED3 JSR TIMER ; TIMER BSET 0,PTFD ; APAGA LED3 BCLR 1,PTFD ; ACENDE LED4 JSR TIMER ; TIMER BSET 1,PTFD ; APAGA LED4 BCLR 2,PTCD ; ACENDE LED5 JSR TIMER ; TIMER BSET 2,PTCD ; APAGA LED5 BCLR 4,PTCD ; ACENDE LED6 JSR TIMER ; TIMER BSET 4,PTCD ; APAGA LED6 BCLR 5,PTFD ; ACENDE LED7 JSR TIMER ; TIMER BSET 5,PTFD ; APAGA LED7 BCLR 2,PTDD ; ACENDE LED8 JSR TIMER ; TIMER 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 #$0000 ; CARREGA HX COM 0 LOOP1: AIX #$01 ; INCREMENTA HX COM 1 CPHX TEMPO1 ; VERIFICA SE CHEGOU EM TEMPO1 BEQ FIM PSHH ; GUARDA H NA PILHA PSHX ; GUARDA L NA PILHA LDHX #$0000 ; CARREGA HX COM 0 LOOP2: AIX #$01 ; 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


Carregar ppt "AULA4 – Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Microprocessadores (AAM) Profa. Ana T. Y. Watanabe"

Apresentações semelhantes


Anúncios Google