























Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Trabalho de microprocessadores uninter
Tipologia: Exercícios
Oferta por tempo limitado
Compartilhado em 26/08/2022
5
(1)1 documento
1 / 31
Esta página não é visível na pré-visualização
Não perca as partes importantes!
























Em oferta
Microprocessadores e Microcontroladores
I. Apresentação do Código:
Microprocessadores e Microcontroladores
;=========================== Programa modelo ============================== ;================= A) PISCAR OS LED D6, LED D9 E LED D11 ================ ;======================================================================== ;RU: 2819796 ;=========================== Definição do processador ========================
#include p16F877a.inc __config _HS_OSC & _WDT_OFF & _LVP_OFF & _PWRTE_ON
;============================= Memória de programa ========================== ORG 0 ;Coloca o ponteiro para o endereço 0x0 de memória
RESET ;Bloco de RESET do microcontrolador NOP GOTO SETUP ;Pula para o marcador SETUP ;================================== Interrupção ============================= ORG 4
;============================= Declaração de variáveis ======================== DELAY EQU 0x VEZES EQU 0x
;=============================== Inicio do programa ==========================
;================================ Configurações ============================ SETUP ;Bloco de configuração do microcontrolador
BSF STATUS,RP0 ;Aciona o Bank1 de memória MOVLW b'00000000' ;Vai Carregar '00000000' no registrador W MOVWF TRISA ;Configura PORTA como saída MOVLW b'00000000' ;Vai Carregar '00000000' no registrador W MOVWF TRISD ;Configura o PORTD como saída BCF STATUS,RP0 ;Retorna para o Bank0 de memória BSF PORTA,5 ;Coloca 5V, nivél lógico 1 no pino RA5 - Enable dos LEDs
;================================ Programa principal =========================
LOOP ;Bloco do principal do programa MOVLW b'00000001' ;Vai Carregar '00000001' ou 0xFF no registrador W MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando ;nível logico alto (+5V) nos pinos dos led D6, CALL PERDE_TEMPO ;Aciona o procedimento PERDE_TEMPO para poder visualizar os ;leds acesos
MOVLW b'00000000' ;Vai Carregar '00000000' ou 0x00 no registrador W MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando ;nível logico baixo (0V) em todos os pinos do PORTD (RD7 -> RD0) CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder visualizar os
MOVLW b'00001000' ;Vai Carregar '00000001' ou 0xFF no registrador W MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando ;nível logico alto (+5V) nos pinos dos led D9,
Microprocessadores e Microcontroladores
CALL PERDE_TEMPO ;Aciona o procedimento PERDE_TEMPO para poder visualizar os ;leds acesos
MOVLW b'00000000' ;Vai Carregar '00000000' ou 0x00 no registrador W MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando ;nível logico baixo (0V) em todos os pinos do PORTD (RD7 -> RD0) CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder visualizar os
MOVLW b'00100000' ;Vai Carregar '00000001' ou 0xFF no registrador W MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando ;nível logico alto (+5V) nos pinos dos led D11, CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder visualizar os ;leds acesos
MOVLW b'00000000' ;Vai Carregar '00000000' ou 0x00 no registrador W MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando ;nível logico baixo (0V) em todos os pinos do PORTD (RD7 -> RD0) CALL PERDE_TEMPO ;Aciona o procedimento PERDE_TEMPO para poder visualizar os
GOTO LOOP ;Faz o programa voltar para o inicio do bloco LOOP ;mantendo o programa funcionando nesse loop de comando
PERDE_TEMPO ;Comando que força o PIC a perder tempo(delay) MOVLW d'1' ;Para gravar no PIC utilizar 80, no simulador SENAI use 1. MOVWF VEZES
MOVLW d'1' ;Para gravar no PIC utilizar 255, no simulador SENAI use 1. MOVWF DELAY CALL DELAY_US DECFSZ VEZES, GOTO LOOP_VEZES RETURN
END ;Marcador do final do programa
II. Apresentação das Imagens/Fotos:
Microprocessadores e Microcontroladores
Figura 3 : Led D11 aceso
Microprocessadores e Microcontroladores
segmentos. O display está ligado ao PORT D do PIC.
Microprocessadores e Microcontroladores
MOVWF TRISE ;Configura PORTA E como saída MOVLW b'00000000' ;Carrega '00000000' no registrador W MOVWF TRISD ;Configura o PORT D como saída BCF STATUS,RP0 ;Volta para o Bank0 de memória BSF PORTE,0 ;Coloca 5V, nivél lógico 0 no pino RE0 – abilitando o display 7 segmentos 1 ;============================== Programa principal ========================
LOOP ;Bloco do principal do programa MOVLW b'11101111' ;Mostra número 6 porta D4 sinal logico baixo 0 e demais sinal logico alto 5v
MOVWF PORTD ;Comando para enviar o conteúdo de W para o registrador PORTD colocando
GOTO LOOP ;Faz o sistema volta para o incicio do programa principal mantendo o programa funcionando
PERDE_TEMPO ;Comando que força o PIC a perder tempo(delay) MOVLW d'1' ;Para gravar no PIC utilizar 80, no simulador SENAI use 1. MOVWF VEZES
MOVLW d'1' ;Para gravar no PIC utilizar 255, no simulador SENAI use 1. MOVWF DELAY CALL DELAY_US DECFSZ VEZES, GOTO LOOP_VEZES RETURN
END ;Marcador do final do código
I. Apresentação das Imagens: a. Imagem do simulador com o número aceso no display de 7 segmentos.
Microprocessadores e Microcontroladores
Figura 4: Último número do RU (6) exibido no display
Pino PIC
Seg. Display
a b c d e f g
0 / (^1) 1 0 1 1 1 1 1
Microprocessadores e Microcontroladores
Microprocessadores e Microcontroladores
;======================== Definição do programa =========================
#include p16F877a.inc __config _HS_OSC & _WDT_OFF & _LVP_OFF & _PWRTE_ON
;========================== Memória de programa ======================== ORG 0 ;Posiciona o ponteiro para o endereço 0x0 de memória
RESET ;Bloco de RESET do microcontrolador NOP GOTO SETUP ;Pula para o marcador SETUP ;============================ Interrupção ============================== ORG 4
;======================== Declaração de variáveis ========================= DELAY EQU 0x VEZES EQU 0x
;=========================== Inicio do programa =========================
;=========================== Configurações ============================ SETUP ;Bloco de configuração do microcontrolador BSF STATUS,RP0 ;Carrega o Bank1 de memória MOVLW b'00000000' ;Carrega '00000000' no registrador W
Microprocessadores e Microcontroladores
MOVLW b'10000111' ;Imprime 7 MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11111111' ;Imprime 8 MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11101111' ;Imprime 9 MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11110111' ;Imprime A MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11111100' ;Imprime b MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'10111001' ;Imprime C MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11011110' ;Imprime d MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11111001' ;Imprime E MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
MOVLW b'11110001' ;Imprime F MOVWF PORTD ;Envia o conteúdo de W para o registrador PORTD colocando CALL PERDE_TEMPO ;Chama o procedimento PERDE_TEMPO para poder ver os digitos
Microprocessadores e Microcontroladores
GOTO LOOP ;Comando para o programa pular para o inicio do bloco LOOP
PERDE_TEMPO ;Procedimento que força o PIC a perder tempo MOVLW d'4' ;Para gravar no PIC utilizar 80, no simulador SENAI use 1. MOVWF VEZES
MOVLW d'4' ;Para gravar no PIC utilizar 255, no simulador SENAI use 1. MOVWF DELAY CALL DELAY_US DECFSZ VEZES, GOTO LOOP_VEZES RETURN
END ;Marca o fim do programa
II. Apresentação das Imagens:
a. Imagem do simulador com o número 0 aceso.
Microprocessadores e Microcontroladores
Figura 7 : (NÚMERO 2)
d. Imagem do simulador com o número 3 aceso.
Figura 8 : (NÚMERO 3)
e. Imagem do simulador com o número 4 aceso.
Microprocessadores e Microcontroladores
Figura 9 : (NÚMERO 4)
f. Imagem do simulador com o número 5 aceso.
Figura 10 : (NÚMERO 5)
g. Imagem do simulador com o número 6 aceso.