MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

Documentos relacionados
MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!!

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

Laboratório de Microprocessadores e Microcontroladores

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - Uma Solução Possível

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

EXERCÍCIOS RESOLVIDOS

17/04/2017. Comunicação Serial. Comunicação Serial. Comunicação de Dados em Microprocessadores. . Comunicação Paralela. Comunicação Serial

Aula 10 Microcontrolador Intel 8051 Parte 2

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

Ex.: Rotinas de tempo

Laboratório de Microprocessadores e Microcontroladores

Interrupções 8051 Porta Serial

2.4 Temporização da CPU

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03

Microprocessadores. Organização de Memória

Interrupções do Interrupções Gabriel Kovalhuk. UTFPR DAELN - Tecnologia em Mecatrônica Industrial

MICROCONTROLADOR 8051

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

Prof. Adilson Gonzaga

EXERCÍCIOS 2 Prof. Adilson Gonzaga

Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás. Experimento 7: Sensores e Transdutores

Memória de Dados Interna. Memória de Dados Interna

208 = D0 h TMOD. MOV TMOD,#20h ;TMOD = Timer 1 no ;Modo 2, controle por software SCON. ;Canal Serial

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

Microcontroladores 8051

EEC2104 Microprocessadores

programáveis por software

Interrupção. Prof. Adilson Gonzaga

Interface Serial. Prof. Adilson Gonzaga

mov R1,10H ; Carrega o dado do endereço 10H em R1 mov R1,#10H ; Carrega 10H em R1

Temporizadores e Contadores (Timer/Counter)

Porta Série SÉRIE x PARALELO PORTA SÉRIE. Comunicação série SÉRIE PARALELA

O microcontrolador Quatro partes importantes

ORGANIZAÇÃO DE MEMÓRIA NO 8051: Microcontroladores - Prof: Demantova 1

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca

MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051

SEL 337 Aplicação de Microprocessadores II

Lista de Exercícios 2

Organização de Memórias

Laboratório de Microprocessadores e Microcontroladores. Experimento 6:

Microcontroladores. Contadores e Temporizadores. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Porta série no dscope...

Laboratório de Microprocessadores e Microcontroladores

Temporizadores e Contadores

Laboratório de Microprocessadores e Microcontroladores

MICROPROCESSADORES E MICROCONTROLADORES Parte 2 Microcontrolador 8051

Comunicação Serial. Comunicação Serial

CONJUNTO DE INSTRUÇÕES

MICROPROCESSADORES E MICROCONTROLADORES PROVA 1

Aula 8 Microcontrolador 8051

Aula 8 Microcontrolador 8051

14/3/2016. A escolha do microprocessador mais adequado depende basicamente da aplicação, e deve se levar em conta os seguintes critérios:

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051

Laboratório de Microprocessadores e Microcontroladores. Experimento 6: Conversor Analógico/Digital e Conversor Digital/Analógico

Microcontrolador 8051

Estudar os passos que devem ser feitos (ponto de partida até o objetivo)

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Lista de Exercícios 1

Laboratório de Microprocessadores e Microcontroladores. Experimento 7:

Microcontroladores. Interface Serial e RTC. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Lista de Exercícios 1

TIMER2 no ATMEL AT89S8252 TIMER 2 - CARACTERISTICAS TIMER 2 MODOS

Prof. Adilson Gonzaga

Família 8051 (introdução) 2011/1

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

Microcontrolador 8051:

7. PROGRAMANDO O MICROCONTROLADOR. Microcontroladores - Prof: Demantova

CAPÍTULO II FAMÍLIA MCS-51

Apêndice A Placa Experimental do 8051

Prof. Adilson Gonzaga

SEMINÁRIO ASSEMBLY: Arquitetura 8051

Prof. Adilson Gonzaga

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

PRÁTICAS. Microcontroladores: (LT36D) Prof: DaLuz. Práticas - 2º sem Microcontroladores LT36D - 26/04/ :56 1/16

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Interrupção

MICROCONTROLADOR 8051

PROJETOS COM MICROCONTROLADORES

Transcrição:

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL Aluno: Matrícula: 1. Escreva as instruções necessárias para atender a cada uma das configurações solicitadas. Valor: 2,0 (a) Interrupção externa zero por nível e interrupção externa 1 por transição. MOV IE,#85H IE = 1000 0101 EA=1; EX1=1; EX0=1 MOV TCON,#04H IT1 = 1; IT0 = 0 (b) Temporizador 1 configurado para operar no modo 1 e contar 10.000 pulsos. MOV TMOD,#10H Temp 1 no modo 1 MOV TH1,#0D8H Conta de 55.535 (D8EFH) até 65.535 (FFFFH) MOV TL1,#0EFH (c) Temporizador 0 configurado para operar no modo 2 com recarga igual a 90H. MOV TMOD,#02H Temp 0 no modo 2 MOV TH0,#90H Recarga de 90H MOV TL0,#90H Contagem começa em 90H (d) Comunicação serial operando no modo 1 (assíncrono de 8 bits) com taxa de transferência de 2400 bps, com um cristal oscilador é de 11,0592 MHz. MOV SCON,#40H SCON = 0100 0000 SM1=0; SM2=1 MOV TMOD,#20H Temp 1 no modo 2 MOV TH1,#0F4H Recarga para baud rate de 2400 bps MOV TL1,#0F4H Começa contagem a partir de F4H 2. Foi montado um sistema com mapeamento de memória, onde uma pastilha de memória de 1 Kbyte, um conjunto de 8 LEDs e um LCD são endereçados com o auxílio de um decodificador 74LS138, mostrado na figura a seguir. Indique (e mostre o procedimento) quais as linhas de endereço deverão ser conectadas às entradas A 2 A 1 e A 0, de forma que a memória seja acionada através da saída 0 do decodificador, os LEDs através da saída 4 e o LCD através da saída 7. E indique também a faixa de endereços correspondente a cada região. Cada região deve ser de 1 K. Obs.: O endereço inicial da região da memória é 0000H e os endereços das regiões seguintes são subsequentes. Valor: 2,0. Um vez que as regiões são de 1 K de memória (2 10 = 1024 = 1 Kbytes), são necessárias 10 linhas de endereço (de A0 a A9). Assim, as regiões de 0 a 7 são mapeadas como segue:

Reg A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 HEXA 0 Inicio 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 Fim 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 03FF 1 Inicio 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0400 Fim 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 07FF 2 Inicio 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0800 Fim 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0BFF 3 Inicio 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0C00 Fim 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0FFF 4 Inicio 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1000 Fim 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 03FF 5 Inicio 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1400 Fim 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 17FF 6 Inicio 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1800 Fim 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1BFF 7 Inicio 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1C00 Fim 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF 3. Na figura a seguir os sensores de presença S0, S1 e S2 estão conectados respectivamente aos pinos P1.0, P1.1 e P1.2. Na presença de obstáculo esses pinos passam para o nível lógico 0. Os motores são acionados conforme as tabelas mostradas a seguir. Comente cada linha do trecho de programa a seguir (valor 1,0) e descreva o funcionamento desse trecho do programa (valor 1,0). Motor M2 Motor M1 P2.3 P2.2 Estado do motor P2.1 P2.0 Estado do motor 0 0 Motor desligado 0 0 Motor desligado 0 1 Sentido horário 0 1 Sentido horário 1 0 Sentido anti-horário 1 0 Sentiodo anti-horário 1 1 Motor desligado 1 1 Motor desligado Rótulo Mnemônico Rótulo Mnemônico Rótulo Mnemônico Rótulo Mnemônico $MOD51 ORG 30H V2: CLR P2.0 V4: CLR P2.0 S0 EQU P1.0 V1: JNB S0,V2 SETB P2.1 SETB P2.1 S1 EQU P1.1 JNB S1,V3 SETB P2.2 CLR P2.2 S2 EQU P1.2 JNB S2,V4 CLR P2.3 SETB P2.3 SETB P2.0 ORG 00H CLR P2.1 LJMP V1 CLR P2.2 V3: SETB P2.0 END SETB P2.3 CLR P2.1 SETB P2.2 CLR P2.3

Comentário: Rótulo Mnemônico Comentário ORG 30H Programa inicia no endereço 30H da ROM V1: JNB S0,V2 O estado do sensor S0 é verificado. Se S0=0, desvia para V2; se S0=1, próxima linha JNB S1,V3 O estado do sensor S1 é verificado. Se S1=0, desvia para V3; se S1=1, próxima linha JNB S2,V4 O estado do sensor S2 é verificado. Se S2=0, desvia para V4; se S2=1, próxima linha SETB P2.0 CLR P2.1 Seta o bit P2.0 e limpa o bit P2.1. Assim, o motor 1 gira no sentido horário CLR P2.2 Limpa o bit P2.2 e seta o bit P2.3. Assim, o motor 2 gira no sentido anti-horário SETB P2.3 O resultado é que o carro se desloca para a frente. Não tem obstáculo Trecho V2: O processamento é desviado para esse trecho quando o sensor S0 detecta um obstáculo. O sentido de rotação de ambos os motores é invertido, ou seja, o carro se desloca para trás. Trecho V3: O processamento é desviado para esse trecho quando o sensor S1 detecta um obstáculo. O motor M1 é mantido no sentido horário, enquanto o motor M2 tem o sentido invertido. Assim, o carro gira para a esquerda (obstáculo à direita). Trecho V4: O processamento é desviado para esse trecho quando o sensor S2 detecta um obstáculo. O motor M2 é mantido no sentido anti-horário, enquanto o motor M1 tem o sentido invertido. Assim, o carro gira para a direita (obstáculo à esquerda). Após a atualização do estado dos motores o processamento retorna para o inicio, para verificação do estado dos sensores. 4. Faça um programa onde uma contagem decimal de dois dígitos é mostrada em dois displays de 7 segmentos. Um dos displays está conectado ao nibble inferior da porta P2 e o outro está conectado ao nibble superior dessa mesma porta (cada um com seu decodificador). A interrupção zero é usada para iniciar e parar a contagem e a interrupção um é usada para definir se a contagem é crescente ou decrescente. As interrupções são por transição. Use uma subrotina de atraso de tempo definida com dois registradores, cada um com um valor inicial igual a 250 decimal. Valor: 2,0 Rótulo Mnemônico Comentários $MOD51 ORG 00H LJMP INICIO CONTROLE BIT 00H ORDEM BIT 01H ORG 03H CPL CONTROLE ORG 13H CPL ORDEM ORG 30H INICIO: MOV SP,#2FH ; O endereço inicial da pilha é 2Fh

MOV IE,#85H ; Habilita interrupções externas 0 e 1 MOV TCON,#05H ; Interrupções por transição MOV A,#00H ; Valor inicial do acumulador V1: JNB CONTROLE,V1 ; Enquanto CONTROLE=0 Aguarda ; Se CONTROLE=1 Executa contagem crescente CRESC: JB ORDEM,DECRESC ; Se ORDEM=1 Executa contagem decrescente MOV P2,A ; Transfere para P2 (displays) o conteúdo do acumulador LCALL ATRASO ADD A,#01H ; Adiciona 1 ao acumulador DA A ; Faz o ajuste decimal do acumulador DECRESC: MOV P2,A ; Transfere para P2 (displays) o conteúdo do acumulador LCALL ATRASO ADD A,#99H ; Adiciona 99H, de modo que a contagem seja decrescente DA A ; Faz o ajuste decimal do acumulador ATRASO: MOV R0,#250 ; Subrotina de atraso de tempo V2: MOV R1,#250 DJNZ R1,$ DJNZ R0,V2 RET END 5. Faça um programa onde uma comunicação serial é estabelecida entre um microcontrolador da família 8051 e um computador, a uma taxa (baud rate) de 1200 bps, no modo 1 (assíncrono de 8 bits). Uma variável de controle do tipo bit é usada para estabelecer o sentido do fluxo de dados. Se a variável de controle estiver em nível lógico zero, o microcontrolador é configurado para receber dados do computador e transferir esses dados para uma memória EEPROM de 4 K, cujo endereço inicial é 0000H. Se a variável de controle estiver em nível lógico alto, o microcontrolador é configurado para transferir os dados da memória (a partir do endereço 0000H) para o computador. O cristal oscilador é de 11,0592 MHz. Use a interrupção externa zero para complementar a variável de controle, cujo valor inicial deve ser zero. Valor: 2,0 Rótulo Mnemônico Comentários $MOD51 ORG 00H LJMP INICIO FLUXO BIT 00H ORG 03H CPL FLUXO MOV DPTR,#0000H CLR REN SETB RI SETB TI ; Complementa o bit que controla o fluxo ; Reinicia o endereço da memória a cada interrupção ; Desabilita a recepção ; Necessário para sair do loop da recepção ; Necessário para sair do loop da transmissão ORG 30H

INICIO: MOV SP,#2FH ; O endereço inicial da pilha é 2Fh MOV IE,#81H ; Habilita interrupção externas 0 MOV TCON,#01H ; Interrupções por transição MOV SCON,#40H ; Serial configurada no modo 1 MOV TMOD,#20H ; Temporizador 1 no modo 1 MOV TH1,#0E8H ; Recarga para baud rate de 1200 bps MOV TL1,#0E8H MOV DPTR,#0000H ; Endereço inicial do EEPROM CLR FLUXO ; Limpa a variável que controla o fluxo SETB TR1 ; Dispara o temporizador 1 gera taxa de comunicação V1: JNB FLUXO,V2 ; Se FLUXO =0 Envia dado do computador para a memória ; Se FLUXO = 1 Envia dado da memória para o computador V3: CLR TI ; Limpa flag de transmissão MOVX A,@DPTR ; Acumulador recebe conteúdo da EEPROM MOV SBUF,A ; Transfere do acumulador para o computador JNB TI,$ ; Aguarda encerrar transmissão JNB FLUXO,V1 ; Necessário para sair da transmissão quando há interrupção INC DPTR ; Incrementa endereço da memória ; Volta para verificar estado da variável FLUXO V2: SETB REN ; Habilita recepção serial CLR RI ; Limpa bit de recepção JNB RI,$ ; Aguarda fim de recepção. RI é forçado para 1 para sair da recepção JB FLUXO,V1 ; Necessário para sair da recepção quando há interrupção MOV A,SBUF ; Acumulador recebe conteúdo do computador CLR RI ; Limpa flag de recepção MOVX @DPTR,A ; Transfere para a memória o conteúdo do acumulador INC DPTR ; Incrementa endereço da memória ; Volta para verificar estado da variável FLUXO END ALGUNS REGISTRADORES ESPECIAIS TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TMOD G1\ C\T M11 M01 G0\ C\T M10 M00 IE EA X X ES ET1 EX1 ET0 EX0 IP X X X OS PT1 PX1 PT0 PX0 PSW CY AC F0 RS1 RS0 0V X P SCON SM1 SM2 SM3 REN TB8 RB8 TI RI Taxas de transmissão mais comuns

Timer 1 Baud Rate (bits/seg) Freq. Osc. (MHz) SMOD C/Tbarra Modo Valor Recar. Modo 0 Máx: 1MHz 12 X X X X Modo 2 Máx: 375K 12 1 X X X Modo 1, 3: 62,5K 12 1 0 2 FFh 19,2K 11,059 1 0 2 FDh 9,6K 11,059 0 0 2 FDh 4,8K 11,059 0 0 2 FAh 2,4K 11,059 0 0 2 F4h 1.2K 11,059 0 0 2 E8h 137,5 11,059 0 0 2 1Dh 110 6 0 0 2 72h 110 12 0 0 1 FEEBh