Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Atividade prática microprocessadores, Exercícios de Microprocessadores

Trabalho de microprocessadores uninter

Tipologia: Exercícios

2022
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 26/08/2022

pedro_ribeiro_100
pedro_ribeiro_100 🇧🇷

5

(1)

1 documento

1 / 31

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CADERNO DE RESPOSTAS DA
ATIVIDADE PRÁTICA DE:
MICROPROCESSADORES E
MICROCONTROLADORES
ALUNO: (PEDRO COSTA RIBEIRO, RU:
2819796)
Prof. Winston Sen Lun Fung, Esp.
ANO
2022
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Atividade prática microprocessadores e outras Exercícios em PDF para Microprocessadores, somente na Docsity!

CADERNO DE RESPOSTAS DA

ATIVIDADE PRÁTICA DE:

MICROPROCESSADORES E

MICROCONTROLADORES

ALUNO: (PEDRO COSTA RIBEIRO, RU:

Prof. Winston Sen Lun Fung, Esp.

ANO

Microprocessadores e Microcontroladores

PRÁTICA 01 - PROGRAMANDO O PIC16F877A

A) PISCAR OS LED D6, LED D9 E LED D

ENUNCIADO: Neste item, deve-se fazer os leds LED D6, LED D9 e LED D11 piscar em

sequência.

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

LOOP_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

DELAY_US
NOP
NOP
DECFSZ DELAY,
GOTO DELAY_US
RETURN

END ;Marcador do final do programa

II. Apresentação das Imagens/Fotos:

Microprocessadores e Microcontroladores

Figura 3 : Led D11 aceso

Microprocessadores e Microcontroladores

PRÁTICA 01 - PROGRAMANDO O PIC16F877A

B) ACENDER O DISPLAY DE 7 SEGMENTOS

ENUNCIADO: Nesse item deve-se acender o último número do seu RU no display de 7

segmentos. O display está ligado ao PORT D do PIC.

  1. Habilite o display de 7 segmentos desejado.
  2. Configure a o sinal de saída no PORTD para acender o número desejado. I. Apresentação do Código:

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

LOOP_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

DELAY_US
NOP
NOP
DECFSZ DELAY,
GOTO DELAY_US
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

  1. Preencha a tabela abaixo verificando qual os segmentos devem acender (1) ou ficar apagado (0).

Pino PIC

D0 D1 D2 D3 D4 D5 D

Seg. Display

a b c d e f g

0 / (^1) 1 0 1 1 1 1 1

Microprocessadores e Microcontroladores

Microprocessadores e Microcontroladores

;============ CONTADOR DE 0 A F NO DISPLAY DE 7 SEGMENTOS ===========
;RU: 2819796

;======================== 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

LOOP_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

DELAY_US
NOP
NOP
DECFSZ DELAY,
GOTO DELAY_US
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.