Prova 2 2014(Sem 2) Resposta esperada

Transcrição

Prova 2 2014(Sem 2) Resposta esperada
Goiânia, 27 de novembro de 2014.
Prof. José Wilson Lima Nerys
MICROPROCESSADORES E MICROCONTROLADORES
PROVA 2 - RESPOSTA ESPERADA
1. A Fig. 1 mostra um conjunto de 16 Leds, sendo 8 conectados à porta P1 e 8 à porta P2. Eles foram
montados na forma de um círculo.
Valor: 2,5
Fig. 1: Leds conectados às portas P1 e P2


Fazer um programa em assembly do 8051 para rotacionar os Leds usando interrupções, da seguinte
forma:
A interrupção externa zero, ao ser acionada por nível, e com prioridade alta, faz os Leds girarem no
sentido anti-horário, começando do Led conectado ao pino P1.0.
A interrupção externa externa 1, ao ser acionada por transição, faz os Leds girarem no sentido horário,
começando do Led conectado à porta P1.7. A cada pedido de interrupção os Leds completam 5 voltas
antes de retornarem da interrupção.
Solução:
Rótulo
Mnemônico
ORG 00H
LJMP INICIO
Rótulo
ITEMA:
ORG 03H
LJMP ITEMA
V1:
13H
LJMP ITEMB
INICIO:
ORG 30H
MOV SP,#2FH
MOV IE,#85H
MOV TCON,#04H
MOV IP,#01H
MOV A,#01H
MOV P1,#00H
MOV P2,#00H
SJMP $
ITEMB:
V4:
V2:
V3:
ATRASO:
V5:
MOV R7,#200
MOV R6,#200
DJNZ R6,$
DJNZ R7,V5
RETI
Mnemônico
MOV P1,A
LCALL ATRASO
RL A
CJNE A,#01H,ITEMA
MOV P1,#00H
MOV P2,A
LCALL ATRASO
RL A
CJNE A,#01H,V1
MOV P2,#00H
RETI
MOV R0,#5
MOV A,#01H
RR A
MOV P1,A
LCALL ATRASO
CJNE A,#01H,V2
MOV P1,#00H
RR A
MOV P2,A
LCALL ATRASO
CJNE A,#01H,V3
MOV P2,#00H
DJNZ R0,V4
RETI
END
Microprocessadores e Microcontroladores
Escola de Engenharia Elétrica, Mecânica e de Computação (EMC) – Universidade Federal de Goiás (UFG)
Goiânia, 27 de novembro de 2014.
Prof. José Wilson Lima Nerys
2. A Figura 1 mostra um sistema de acionamento de dois motor de corrente contínua, M1 e M2; a Tabela 1
mostra o sentido de rotação dos motores M1e M2, de acordo com o nível lógico dos pinos M11, M12,
M21 e M22 e a Tabela 2 mostra o nível lógico das chaves CH1 e CH2 para quatro situações diferentes
de acionamento desses motores.
Valor: 2,5
Tabela 1: Sentido de rotação dos motores
M1
M2
Sentido Rotação
M11
M12
M21
M22
0
0
0
0
Motor Parado
0
1
0
1
Sentido Horário
1
0
1
0
Anti-horário
1
1
1
1
Motor Parado
Tabela 2: Condições de acionamento dos motores
CH1 CH2 Efeito sobre os motores
1
1
Motores parados
Motor M1 no sentido horário.
0
1
Motor M2 parado
Motor M2 no sentido horário.
1
0
Motor M1 parado
Motores M1 e M2 no sentido anti0
0
horário
Figura 1: Sistema de acionamento de motor CC e tabelas de controle
Faça um programa em assembly do 8051 para atender às condições mostradas nas Tabelas 1 e 2 e na
Figura 1.
Solução:
Rótulo
Mnemônico
M11
EQU P1.7
M12 EQU P1.6
M21
EQU P1.5
M22
EQU P1.4
CH1
CH2
EQU P3.0
EQU P3.7
Rótulo
PARADO:
M1HORARIO:
CLR M11
SETB M12
CLR M21
CLR M22
SJMP V2
M1M2ANTI:
SETB M11
CLR M12
SETB M21
CLR M22
SJMP V2
M2HORARIO:
CLR M11
CLR M12
CLR M21
SETB M22
SJMP V2
END
ORG 00H
LJMP INICIO
INICIO:
ORG 30H
MOV SP,#2FH
V2:
JB CH1,V1
JB CH2,M1HORARIO
LJMP M1M2ANTI
V1:
JB CH2, PARADO
JB CH1,M2HORARIO
LJMP M1M2ANTI
Mnemônico
CLR M11
CLR M12
CLR M21
CLR M22
SJMP V2
Microprocessadores e Microcontroladores
Escola de Engenharia Elétrica, Mecânica e de Computação (EMC) – Universidade Federal de Goiás (UFG)
Goiânia, 27 de novembro de 2014.
3.
Prof. José Wilson Lima Nerys
Faça um programa em assembly do 8051 para gerar uma onda quadrada no pino P1.0 com período de 20
ms. O tempo de atraso para a geração do período deve ser feito com o temporizador 0 no modo 1. O
cristal oscilador é de 12 MHz. A Tabela 3 mostra os valores de TH0 e TL0 para alguns valores de início
de contagem do temporizador.
Valor: 2,5
Tabela 3: Recarga do temporizador-modo 1
Início da Contagem
TH0
TL0
5.535
15H
9FH
15.535
3CH
AFH
25.535
63H
BFH
35.535
8AH
CFH
45.535
B1H
DFH
55.535
D8H
EFH
Solução:
Se o tempo de um período é 20 ms, então o tempo de meio período é 10 ms e a contagem deve ser de
10.000 pulsos, ou seja, de 55.535 até 65.535. Assim, da Tabela 3, TH0 = D8H e TL0 = EFH.
Rótulo
Mnemônico
ORG 00H
LJMP INICIO
ORG 0BH
CPL P1.0
MOV TH0,#0D8H
MOV TL0,#0EFH
RETI
INICIO:
Mnemônico
ORG 30H
MOV SP,#2FH
MOV IE,#82H
MOV TMOD,#01H
MOV TH0,#0D8H
MOV TL0,#0EFH
SETB TR0
SJMP $
END
A Fig. 2 mostra parte de um circuito com mapeamento de memória do microcontrolador 8051. O
decodificador 74138 é usado para a seleção de alguns componentes, indicados através das saída Y0 a
Y7. Dos componentes citados, apenas o motor de passo é mostrado na figura.
Valor: 2,5
Fig. 2: Alguns componentes do mapeamento de memória
O programa da Tabela 4 foi desenvolvimento tendo em vista o mapeamento referente à Fig. 2.
Tabela 4: Programa em linguagem assembly do 8051
RÓTULO
MNEMÔNICO
ORG 00H
LJMP INICIO
RÓTULO
V1:
V6:
MNEMÔNICO
JB P1.6,V4
MOV R0,#10
MOV A,#01H
Parte
2
4.
Rótulo
Microprocessadores e Microcontroladores
Escola de Engenharia Elétrica, Mecânica e de Computação (EMC) – Universidade Federal de Goiás (UFG)
Goiânia, 27 de novembro de 2014.
V4:
V2:
V3:
MOV SP,#2FH
MOV A,#01H
JB P1.7,V1
MOV DPTR,#6000H
MOVX @DPTR,A
LCALL ATRASO
RL A
CJNE A,#01H,V2
RR A
MOVX @DPTR,A
LCALL ATRASO
CJNE A,#01H,V3
SJMP V4
V5:
Parte 1
INICIO:
Prof. José Wilson Lima Nerys
ATRASO:
V7:
MOV DPTR,#8000H
MOVX @DPTR,A
LCALL ATRASO
RL A
CJNE A,#10H,V5
DJNZ R0,V6
SJMP V4
MOV R7,#200
MOV R6,#200
DJNZ R6,$
DJNZ R7,V7
RET
END
A partir do programa da Tabela 4 e da Fig. 2, responder às questões:
(a) O que ocorre na parte 1? Qual a condição para execução da parte 1?
Solução:
A parte 1 é executada quando o pino P1.7 encontra-se em nível lógico baixo. Como DPTR = 6000H,
então o componente ativado é o conjunto de Leds. Assim, os Leds são rotacionados para a esquerda e,
em seguida para direita, antes de retornar para verificar novamente o estado do pino P1.7. Se o pino
P1.7 estiver em nível lógico alto, então desvia para verificar o estado do pino P1.6.
(b) O que ocorre na parte 2? Qual a condição para execução da parte 2?
Solução:
A parte 2 é executada quando o pino P1.6 encontra-se em nível lógico baixo. Como DPTR = 8000H,
então o componente ativado é o motor de passo. O motor de passo realiza 10 passagens pela rotina que
faz o motor dar 4 passos (01h, 02h, 04h, 08h); quando quando chega em 10h, recomeça de 01h, se R0
ainda não for zero. Assim, o motor de passo executa 4 x 10 = 40 passos antes de retornar para verificar
novamente o estado do pino P1.7.
5.
Faça um programa onde o microcontrolador recebe comandos de um computador via serial (no modo 1),
com interrupção, a uma taxa de 9600 bps, com cristal oscilador de 11,0592 MHz. A Tabela 5 a seguir
mostra os caracteres digitados no hyperterminal e o efeito no microcontrolador.
Valor: 2,5
Caractere
(ASCII)
M
I
C
R
O
Tabela 5: Caracteres recebidos via serial e seu efeito no microcontrolador
Código
Efeito
Hexadecimal
4DH
Liga/desliga uma lâmpada conectada ao pino P2.4
49H
Rotaciona para a direita os Leds da porta P1
43H
Liga um motor de corrente contínua conectado aos pinos P2.6 e P2.7
52H
Para motor de corrente contínua
Rotaciona em 180o um motor de passo conectado ao nibble inferior da porta P2.
4FH
Cada passo correponde a 15o
Microprocessadores e Microcontroladores
Escola de Engenharia Elétrica, Mecânica e de Computação (EMC) – Universidade Federal de Goiás (UFG)
Goiânia, 27 de novembro de 2014.
Prof. José Wilson Lima Nerys
Solução:
Rótulo
Mnemônico
LAMPADA EQU P2.4
M11
EQU P2.6
M12
EQU P2.7
Rótulo
V2:
ORG 00H
LJMP INICIO
V3:
CJNE R0,#52H,V4
; LETRA R
CLR M11
; Desliga motor CC
CLR M12
MOV R0,#00H
SJMP VARRE
V4:
CJNE R0,#4FH,VARRE ; LETRA O
MOV R1,#3
; Passos = 3 x 4 = 12
MOV A,#01H
MOV P2,A
RL A
LCALL ATRASO
CJNE A,#10H,V5 ; Repete 4 passos
DJNZ R1,V6
; Sai após 3 x 4 passos
MOV R0,#00H
SJMP VARRE
ORG 23H
MOV R0,SBUF
CLR RI
RETI
INICIO:
VARRE:
V1:
ORG 30H
MOV SP,#2FH
MOV IE,#90H
MOV SCON,#40H
MOV TMOD,#20H
MOV TH1,#0FDH ; 9600 bps
MOV TL0,#0FDH
SETB TR1
; Dispara Timer 1
SETB REN
; Habilita recepção
MOV R0,#00H
MOV A,#80H
CJNE R0,#4DH,V1 ; LETRA M
CPL LAMPADA ; Liga/Desliga
MOV R0,#00H ; Só passa aqui 1 vez
SJMP VARRE ; Volta para ver R0
CJNE R0,#49H,V2
MOV P1,A
LCALL ATRASO
RR A
SJMP VARRE
; LETRA I
Mnemônico
CJNE R0,#43H,V3
; LETRA C
CLR M11
; Liga motor CC
SETB M12
MOV R0,#00H ; Faz R0 = 0 (entra 1 vez)
SJMP VARRE
V6:
V5:
ATRASO:
V7:
MOV R7,#200
MOV R6,#200
DJNZ R6,$
DJNZ R7,V7
RET
END
Microprocessadores e Microcontroladores
Escola de Engenharia Elétrica, Mecânica e de Computação (EMC) – Universidade Federal de Goiás (UFG)

Documentos relacionados

Prova 2 2011(Sem 1)

Prova 2 2011(Sem 1) As questões a seguir referem-se à Fig. 1, onde um microcontrolador da família 8051 é usado com mapeamento de memória. A memória EEPROM AT28C16 é de 2 K e tem endereço inicial 0800H. O endereço de a...

Leia mais

Memorial Descritivo do Jogo de Memória (Memorex)

Memorial Descritivo do Jogo de Memória (Memorex) subrotina “leitura_medio”, onde o usuário digita a sequência mostrada, que é comparada com a sequência da tabela. No início dessa subrotina o Timer 1 é disparado, iniciando o processo de geração al...

Leia mais

pro forma esteira L18

pro forma esteira L18 presença usando recursos mecânicos como, chaves (switches). Nessa categoria incluímos os micro switches e chaves de fim de curso (chegar ao limite máximo). Sensores tipo Reed-Switch – São sensores ...

Leia mais