Buscar

Exercício 4) Faça um programa utilizando o diagrama abaixo para mostrar no display de sete segmento a conversão dos números binários que estão na p...

Exercício 4) Faça um programa utilizando o diagrama abaixo para mostrar no display de sete segmento a conversão dos números binários que estão na porta P2: Notar que os leds do display são acesos em nível lógico “0”. Por exemplo, para mostrar o número 2, deve-se acender os leds “a, b, d, e, g”, portanto: P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 g f e d c b a X 1 1 0 0 1 0 0 P1 = 64h ou B4h, caso P1.7 seja 0 ou 1 Faça o programa utilizando uma tabela (DPTR)

Essa pergunta também está no material:

mic03a
13 pág.

Microprocessadores e Microcontroladores Centro Universitário de AraraquaraCentro Universitário de Araraquara

💡 1 Resposta

User badge image

Ed Verified user icon

Segue abaixo um exemplo de programa em linguagem Assembly para o microcontrolador 8051 que converte os números binários da porta P2 para a exibição no display de sete segmentos: ``` ORG 0000h MOV P2, #0FFh ; Configura a porta P2 como entrada MOV P1, #0 ; Configura a porta P1 como saída LOOP: MOV A, P2 ; Move o valor da porta P2 para o registrador A CJNE A, #00h, NUM_0 ; Se A for diferente de 0, pula para NUM_0 MOV P1, #3Fh ; Se A for igual a 0, exibe o número 0 no display SJMP LOOP ; Volta para o início do loop NUM_0: CJNE A, #01h, NUM_1 ; Se A for diferente de 1, pula para NUM_1 MOV P1, #06h ; Se A for igual a 1, exibe o número 1 no display SJMP LOOP ; Volta para o início do loop NUM_1: CJNE A, #02h, NUM_2 ; Se A for diferente de 2, pula para NUM_2 MOV P1, #5Bh ; Se A for igual a 2, exibe o número 2 no display SJMP LOOP ; Volta para o início do loop NUM_2: CJNE A, #03h, NUM_3 ; Se A for diferente de 3, pula para NUM_3 MOV P1, #4Fh ; Se A for igual a 3, exibe o número 3 no display SJMP LOOP ; Volta para o início do loop NUM_3: CJNE A, #04h, NUM_4 ; Se A for diferente de 4, pula para NUM_4 MOV P1, #66h ; Se A for igual a 4, exibe o número 4 no display SJMP LOOP ; Volta para o início do loop NUM_4: CJNE A, #05h, NUM_5 ; Se A for diferente de 5, pula para NUM_5 MOV P1, #6Dh ; Se A for igual a 5, exibe o número 5 no display SJMP LOOP ; Volta para o início do loop NUM_5: CJNE A, #06h, NUM_6 ; Se A for diferente de 6, pula para NUM_6 MOV P1, #7Dh ; Se A for igual a 6, exibe o número 6 no display SJMP LOOP ; Volta para o início do loop NUM_6: CJNE A, #07h, NUM_7 ; Se A for diferente de 7, pula para NUM_7 MOV P1, #07h ; Se A for igual a 7, exibe o número 7 no display SJMP LOOP ; Volta para o início do loop NUM_7: CJNE A, #08h, NUM_8 ; Se A for diferente de 8, pula para NUM_8 MOV P1, #7Fh ; Se A for igual a 8, exibe o número 8 no display SJMP LOOP ; Volta para o início do loop NUM_8: CJNE A, #09h, NUM_9 ; Se A for diferente de 9, pula para NUM_9 MOV P1, #6Fh ; Se A for igual a 9, exibe o número 9 no display SJMP LOOP ; Volta para o início do loop NUM_9: MOV P1, #00h ; Se A for maior que 9, não exibe nada no display SJMP LOOP ; Volta para o início do loop END ``` Este programa utiliza a porta P2 como entrada para os números binários e a porta P1 como saída para os segmentos do display de sete segmentos. Ele utiliza uma estrutura de decisão para verificar qual número binário está presente na porta P2 e exibir o número correspondente no display. O loop principal mantém o programa em execução continuamente.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais

Outros materiais