TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Microprocessador

Por:   •  14/5/2017  •  Trabalho acadêmico  •  10.094 Palavras (41 Páginas)  •  332 Visualizações

Página 1 de 41

Prática 01

INTRODUÇÃO À PROGRAMAÇÃO DE BAIXO NÍVEL e PIC – FERRAMENTAS DE DESENVOLVIMENTO


Simulação Proteus

[pic 1]

Exercícios complementares

  1. Justifique os valor da freqüência gerada no programa “ATRABKSEL.ASM”, de acordo com o tempo de execução das instruções, parâmetros utilizados e freqüência de oscilação do clock principal do microcontrolador. (Realize os cálculos necessários).

atraso

movwf   X

at1       decfsz  X

goto    at1

return

o atraso gerado pela rotina mostrada acima gasta 17 ciclos de máquina, e temos que um ciclo de máquina é dado por

[pic 2]

Sendo a Fosc= 4MHz temos que o atraso gerado é de 4,25µs.

 

  1. Altere a função atraso do programa “ATRABKSEL.ASM” para gerar no pino de saída uma onda quadrada com freqüência de 1 Hz. (Realize os cálculos necessários).

#INCLUDE

#DEFINE LED1   PORTB,5     ;define a variavel LED1 como o pino RB5                     

at_x EQU 0x20

at_tmp1 EQU 0x21                ;declaração de variáveis

at_tmp2 EQU 0x22

 ORG 0x00                                                                  

 GOTO INICIALIZA                ;desvia para inicializa 

 ORG 0x04

 RETFIE                        ;não haverá interrupção

INICIALIZA

 BANKSEL TRISB                ;seleciona o banco 1

 MOVLW B'00000000 '        ;coloca todos os pinos de PORTB como saida

 MOVWF TRISB

 BANKSEL PORTB                ;seleciona o banco 0

MAIN

 BCF   LED1                ;apaga o led                                       

 MOVLW 5                ;carrega o acumulador com 5                                                   

 CALL  atraso        ;desvia para a rotina atraso                           

 BSF   LED1                ;acende o led                                     

 MOVLW 5                ;carrega o acumulador com 5                                                   

 CALL  atraso        ;desvia para a rotina atraso                                                                                 

 GOTO MAIN                ;retorna para MAIN

atraso                        ;rotina de atraso, gera um atraso de 1s.

        movwf at_x

        movlw 0xff

        

at1:         movwf at_tmp1

at2:        movwf at_tmp2

at3:        decfsz at_tmp2

        goto at3

        decfsz at_tmp1

        goto at2

        decfsz at_x

        goto at1

        return                ;retorna para onde a subrotina foi chamada

 END

  1. Na seqüência, configure um pino como entrada e monitore o mesmo, de forma a alterar a freqüência de oscilação do LED, de acordo com o estado de um botão ligado ao pino de entrada. (0V _ 1 Hz, 5V_ 5 Hz).

#INCLUDE

#DEFINE LED1   PORTB,5    ;define a variavel LED1 como o pino RB5                         

                                                                       

at_x EQU 0x20

at_tmp1 EQU 0x21                ;declaração de variáveis

at_tmp2 EQU 0x22

 ORG 0x00                                                                  

 GOTO INICIALIZA                ;desvia para inicializa  

 ORG 0x04

 RETFIE                        ;não haverá interrupção

INICIALIZA

 BANKSEL TRISB                ;seleciona o banco 1

 MOVLW B'00000001'        ;coloca apenas o bit RB0 como saida

 MOVWF TRISB

 BANKSEL PORTB                ;seleciona o banco0

MAIN

 BCF   LED1                ;apaga o led                                       

 MOVLW 5                ;carrega o acumulador com 5                                                   

 CALL  atraso        ;desvia para a rotina atraso                           

 BSF   LED1                ;acende o led                                     

 MOVLW 5                ;carrega o acumulador com 5                                                   

 CALL  atraso        ;desvia para a rotina atraso                                                                                 

 GOTO MAIN                ;retorna para MAIN

atraso                        ;rotina de atraso

        BTFSC PORTB,0  ; se o bit RB0 estiver setado muda a frequencia

...

Baixar como (para membros premium)  txt (27.1 Kb)   pdf (259.8 Kb)   docx (39.7 Kb)  
Continuar por mais 40 páginas »
Disponível apenas no TrabalhosGratuitos.com