Exercicios 8051
Exercicios 8051
50 elementos e substitu-lo por 00H. Iniciar o programa no endereo 40H. 2) Fazer um programa em assembly do 8051 para ler a tecla CH0 da figura abaixo. A condio inicial LED0=1, LED1=0, LED2=0, LED3=0. Se o valor lido for 0, deslocar os LEDs em um sentido. Se o valor lido for 1 deslocar no sentido contrrio. Colocar comentrios no programa. Iniciar o programa na posio 40H.
3) Fazer um software em assembly do 8051 para copiar uma tabela com 50 valores iniciada no endereo 00H da RAM externa para o endereo 50H da mesma RAM. Colocar comentrios no programa. Iniciar o programa no endereo 40H. 4) O conversor A/D de aproximaes sucessivas da figura abaixo converteu um valor de tenso (Vin=3,2V) em um valor digital que est disponvel em P1 (endereo 90H). Mostrar qual o valor digital convertido e fazer um software em assembly do 8051 para armazenar esse valor lido na posio 200H da RAM externa. Iniciar o software na posio 50H.
5) O conversor A/D de aproximaes sucessivas da figura abaixo converteu um valor de tenso (Vin=2,7V) em um valor digital que est disponvel nos 4 bits menos significativos de P1 (endereo 90H). Mostrar qual o valor digital convertido e fazer um software em assembly do 8051 para armazenar esse valor lido na posio 100H da RAM externa. Iniciar o software na posio 40H.
6) Usando o circuito da questo anterior, fazer um software em assembly do 8051 para ler 100 valores do conversor A/D de aproximaes sucessivas e armazen-los a partir do endereo 200H da RAM. Iniciar o software na posio 50H.
7) Fazer um software em assembly do 8051 para ler o dado armazenado no endereo 200H da RAM e coloc-lo no conversor D/A. Mostrar o valor Vout da tenso de sada do conversor D/A. Iniciar o software na posio 40H. Endereo 200H Contedo 0CH
8) Fazer um programa em assembly do 8051 para ler o teclado (CH0-CH3) da figura abaixo e colocar o valor lido nos LEDs (LED0-LED3). Colocar comentrios no programa. Iniciar o programa na posio 40H.
9) Comentar cada linha dos softwares abaixo e, se existirem erros, apontar e corrigir. a) ORG MOV MOV MOVX INICIO: MOV ANL CJNE SETB SJMP CLR ACALL MOV RR DJNZ SJMP R1, A A, #01H A, #01, ZERO 90H CONTINUA 90H PULSO A, R1 A R0, INICIO LOOP 40H R0, #8H DPTR, #102H A, @DPTR
ZERO: CONTINUA:
LOOP:
PULSO:
91H 91H
b) ORG SJMP MOV MOV JB JNB MOVX MOV INC DJNZ LJMP MOV MOVX INC DJNZ LJMP END 0000H INICIO R0, #100 DPTR, #100H 0B5H, GRAVA 0B6H, LOOP A, @DPTR 90H, A DPTR R0, VOLTA 00H A, 90H @DPTR, A DPTR R0, GRAVA 00H
GRAVA:
10) Mostrar o resultado nos registradores e na RAM aps a execuo do programa abaixo: ORG MOV MOV MOV MOVX XRL INC DJNZ MOVX CPL SJMP END 40H R0, #5H R1, #55H DPTR, #200H A, @DPTR A, R1 DPTR R0, VOLTA @DPTR, A A LOOP
VOLTA:
LOOP:
Registradores
RAM
Valores aps a Valores antes da execuo do programa execuo do programa 1F20H 20H 35H 1FH 0CH 12H 01H 35H 7FH 00H
11) Programar o Timer 0 do microcontrolador 8051 para gerar uma forma de onda quadrada de 1 Hz. Use o pino P1.0 como sada. Usar interrupo por overflow do Timer 0. Oscilador = 12 MHz. 12) Programar o 8051 do circuito abaixo para ler o teclado e mostrar o cdigo da tecla apertada nos leds. Quando uma tecla for apertada, uma interrupo deve ser gerada (Usar interrupo externa 0 sensvel borda de descida). Oscilador = 12 MHz.
13) O circuito abaixo um controle remoto. Programar o 8051 para ligar ou desligar o rel a cada toque no boto do transmissor. Oscilador = 12 MHz.
14) Programar o 8051 do circuito abaixo para que quando for acionada a chave, o rel seja acionado e depois de 10 segundos o rel seja desligado (temporizador). Oscilador = 12 MHz.
15) Programar o 8051 abaixo para ler uma frequncia no pino INT0. Usar interrupo por borda de descida. Enviar o valor da frequncia continuamente pelo canal serial a uma taxa de 1200 bps. Oscilador = 12 MHz.