Laboratório de Microprocessadores e Microcontroladores

Documentos relacionados
Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Laboratório de Microprocessadores e Microcontroladores

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

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

PROJETOS COM MICROCONTROLADORES

Lista de Exercícios 1

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

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

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória

Ocircuito da Fig.1 é usado para o acionamento dos Leds do Cubo.

Controlador de DMA. Gustavo G. Parma

Comunicação Serial - Revisão

Parte II O microcontrolador Intel 8051

SUPERTEC2007 SINCRONISMO DETETOR DE MODOS MICRO

Comércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1.

Comunicação de dados. Introdução

MICROCONTROLADORES FAMÍLIA 8031/8051

Cerne Tecnologia e Treinamento

Interface com Displays de 7 Segmentos. Interface com Displays

Prof. Adilson Gonzaga. Interface com Displays

PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON

CEFET-SP. Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão Wilson Ruiz. Wilson Ruiz

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage:

EEC2104 Microprocessadores

Presys Instrumentos e Sistemas

A família de microcontroladores 8051

Sistemas Embarcados:

Organização de Computadores 1

DISPLAY LCD. Ilton L. Barbacena Claudio Afonso Fleury

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Unidade 1: O Computador

NTP-001. Acessando o Master ou Master Expander com Cabos Serial-Serial ou Cabos Serial-Serial e USB-Serial PATCHVIEW V2.0

INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA ELETRÔNICA DEPARTAMENTO DE ELETRÔNICA APLICADA TIMER 555

DK105 GROVE. Temperatura e Umidade. Radiuino

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto:

Barramento USB. Trabalhos Práticos AM 2007/2008. Barramento USB. Objectivos

SOFTWARE VIAWEB. Como instalar o Software VIAWEB

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Manual de Programação TED1000 versão TC100 Ethernet

Microcontroladores Família MCS51

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Guia Rápido de Instalação

PROF.: PAULO GOMES MATÉRIA: STR1 MOURA LACERDA

AMBIENTE DE DESENVOLVIMENTO INTEGRADO PARA ENSINO E PROGRAMAÇÃO DE MICROCONTROLADORES DA FAMÍLIA MCS51

ALARME RESIDENCIAL UTILIZANDO MICROCONTROLADOR

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Configuração para Uso do Tablet no GigaChef e Outros Dispositivos

Guia de Cabeamento para Portas de Console e AUX

CONTROLE EM MALHA FECHADA DA VELOCIDADE DE UM MOTOR DC UTILIZANDO UM MICROCONTROLADOR 8051

Instalando sua Multifuncional na sua rede pela primeira vez

Projeto de TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM Automação industrial. Catraca Automática

Multimedidores Inteligentes MGE G3 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun

Pretende-se neste trabalho familiarizar o aluno com a interface RS-232 e a sua aplicação em aquisição de dados num ambiente laboratorial

Figura 01 Visão Geral da Placa

Flávia Rodrigues. Silves, 26 de Abril de 2010

2 Conceitos de transmissão de dados

Estrutura do programa e programação Assembly com O que entende por linguagem assembly?

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Escola Politécnica - Departamento de Engenharia Mecânica

UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA THIAGO POUZA MUSSOLINI

Solucionando problemas de impressão

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos:

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Manual da Comunicação Modbus-RTU

Professor Marcelo Josué Telles Porta LPT, programação, componentes eletrônicos, sistema binário...

TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM MECATRÔNICA. Esteira Contadora de Peças

Objectivo Geral: Modulação de Amplitude: standard, com supressão de portadora e QAM.

Ambiente de desenvolvimento de Programação Assembly MCU 8051 IDE

Eletrônica Digital II. Exemplo de um CI com encapsulamento DIP. Diagrama do CI 74XX76.

Kit de desenvolvimento de PIC16F ou PIC18F QSPIC28 Manual do usuário Versão 1.1 (2010)

Placa McLab1 Upgrade PIC16F84A p/ PIC16F62x

RCO2. Introdução à camada física

REGISTRADOR DIGITAL DE GRANDEZAS COM CONEXÃO À INTERNET RELATÓRIO TÉCNICO FINAL

Redes de Computadores

Terminal de Operação Cimrex 69

4 Sistema Computacional:

Medidor de Vibrações para Serviços Pesados

LINHA DOUBLE WAY MONOFÁSICA

ROTEIRO DE LABORATÓRIO

Gerenciador de Energia Tabela de registradores Modbus revisão

Basic, Everest e Braille Box. Guia de Instalação

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson

(21) (11) (21) Skype: cerne-tec MSN:

- SISTEMAS DIGITAIS II

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

Processamento Digital de Sinais. Conversão A/D e D/A. Prof. Dr. Carlos Alberto Ynoguti

GUIA RÁPIDO DE UTILIZAÇÃO KIT MERCURIOIV OSCILOSCÓPIO E GERADOR DE SINAIS

Guia do usuário do Módulo de expansão de teclas (KEM) do Telefone IP. BCM Business Communications Manager

Receptor ANA-DIGI. Manual do Usuário DIGITAL

TECLADO PAINEL OPERADOR USB COM DISPLAY GRÁFICO. Código : FT 023/09 REV: 02

Boletim Técnico R&D 03/08 CARACTERÍSTICAS DO DRIVER MPC6006L 14 de março de 2008

Relé Inteligente SRW 01 V1.3X

Universidade Federal de Pernambuco

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA CURSO DE ENGENHARIA DA COMPUTAÇÃO

LINHA DOUBLE WAY TRIFÁSICO

Redes de Computadores Prof. Ivair Teixeira

Microregistradora TMS-44

Transcrição:

Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 6: Comunicação Serial Alunos: Matrícula: Prof. Dr. José Wilson Lima Nerys Goiânia, 1º semestre de 2017

Laboratório de Microprocessadores e Microcontroladores 2 SUMÁRIO 1 Comunicação Serial... 3 2 Atividades do Experimento... 6 2.1 Transmissão serial síncrona... 6 2.2 Transmissão serial assíncrona... 7 2.3 Recepção serial assíncrona... 8 2.4 Rotação de LEDs usando recepção assíncrona... 10 2.5 Envia para LCD Caractere Recebido via Serial... 10 2.6 Envia para computador estado de componentes... 11

Laboratório de Microprocessadores e Microcontroladores 3 1 Comunicação Serial O canal serial do 8051 pode operar em 4 modos diferentes, definidos através do registrador especial SCON (mostrado na Tabela 1), cujos bits podem ser manipulados individualmente. O modo 0 é uma comunicação síncrona. Os demais modos são do tipo assíncrono. Tabela 1: Registrador de Controle da Comunicação Serial (SCON) = SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 Modo Descrição Baud Rate 0 0 0 Registrador de Deslocamento f osc./12 0 1 1 UART de 8 bits variável 1 0 2 UART de 9 bits f osc./64 ou f osc./32 1 1 3 UART de 9 bits variável Símbolo Nome e Significado SM2 Habilita a característica de comunicação de multiprocessadores no modo 2 e 3. Nesses modos, se SM2=1, RI não será ativado se o nono bit de dado recebido for igual a 0. No modo 1, se SM2=1, RI não será ativado se um stop bit válido não for recebido. No modo 0, deverá ser 0. REN Bit habitador da recepção serial. Setado/limpado por software para habilitar ou desabilitar a recepção serial. TB8 É o nono bit de dado que será transmitido no modo 2 e 3. Setado ou limpado por software. RB8 No modo 2 e 3, é o nono bit de dado que foi recebido. No modo 1, se SM2=0, RB8 é o stop bit que foi recebido. No modo 0, RB8 não é usado. TI É o flag de interrupção de transmissão. Setado por hardware no final do tempo do 8 bit no modo 0 ou no início do stop bit em outros modos, em qualquer transmissão serial. Deverá ser limpado por software. RI É o flag de interrupção de recepção. Setado por hardware no final do tempo do 8 bit no modo 0 ou na metade do tempo do stop bit em outros modos, em qualquer recepção serial. Deverá ser limpado por software. Modo 0: Baud rate fixa e igual à frequência de clock dividida por 12. A recepção tem início com REN = 1 e RI = 0. Ao final da recepção o bit RI é setado por hardware e o conteúdo recebido é transferido para um registrador denominado por SBUF. RI deve ser ressetado pelo usuário antes da próxima recepção. Baud Rate fosc 12 ( bits/ s) A transmissão é iniciada automaticamente quando o conteúdo do acumulador é transferido para o SBUF. Quanto ao registrador SBUF da transmissão, embora tenha o mesmo nome do registrador da recepção, trata-se de outro registrador, específico para a transmissão. Ao final da transmissão o bit TI é setado por hardware. TI deve ser ressetado pelo usuário antes da próxima transmissão. O pino TxD (pino P3.0) transporta o sinal de sincronismo, tanto na recepção quanto na transmissão. O pino RxD (pino P3.1) transporta os dados, tanto na transmissão quanto na recepção. Modo 1: Comunicação assíncrona com taxa de transmissão a ser definida pelo usuário. São transmitidos 8 bits de dados, além de um bit de início e um bit de fim. A recepção tem início quando há uma transição do nível lógico 1 para 0 no pino RxD (pino P3.0) e o bit RI está zerado. Ao final da recepção o RI é setado por hardware.

Laboratório de Microprocessadores e Microcontroladores 4 Baud Rate 2 32 SMOD f osc ( bits / s) 12 (256 TH1) A transmissão é iniciada quando há uma transferência de dados para SBUF. Ao final da transmissão o bit TI é setado. O bit TI deve ser ressetado pelo usuário antes da próxima transmissão. O temporizador 1 deve ser configurado para operar no modo de recarga automática (modo 2). O valor da recarga (TH1), juntamente com o bit SMOD (bit 7 do registrador especial PCON), é que define a frequência de comunicação (transmissão e recepção). A Tabela 2 fornece alguns dos valores mais comuns de taxa de transmissão. Tabela 2: 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 Modo 2: Modo assíncrono onde 11 bits são transmitidos (bit de início + 9 bits de dados + bit de fim). A taxa de transmissão/recepção pode ser 1/32 ou 1/64 da frequência de clock. A recepção tem início quando há uma transição do nível lógico 1 para 0 no pino RxD (pino P3.0) e o bit RI está zerado. Ao final da recepção o bit RI é setado por hardware. O nono bit de dados é guardado em RB8. Esse bit pode ser o bit de paridade. A transmissão é iniciada quando há uma transferência de dados para SBUF. Ao final da transmissão o bit TI é setado. O nono bit a ser transmitido é guardado em TB8. Esse bit pode ser o bit de paridade. Expressão que define a taxa de transmissão no modo 2. Baud f osc Rate 2 SMOD ( bits / s) 64 Modo 3: Se o bit SMOD for zero, a taxa é 1/64, caso seja igual a 1, a taxa é 1/32. É semelhante ao modo 1. A diferença está no bit a mais de dados no modo 3. Tanto no modo 1 quanto no modo 3 a taxa de transmissão é definida pelo usuário, seguindo a equação a seguir: Baud Rate 2 32 SMOD f osc ( bits / s) 12 (256 TH1) O bit menos significativo (LSB) é o primeiro bit a ser enviado, ou recebido em todos os modos da comunicação serial. A Fig. 1 representa a onda vista na tela de um osciloscópio digital e mostra um exemplo de sinal presente no pino TxD durante uma transmissão serial no modo 1, com baud rate de 9600

Laboratório de Microprocessadores e Microcontroladores 5 bps. O dado mostrado é 15H (0001 0101b). Observa-se, além dos 8 bits de dados, um bit de start (nível lógico zero) e um bit de parada (nível lógico alto). Observa-se ainda que o intervalo de cada bit equivale aproximadamente a 104 μs. O tempo medido no osciloscópio para os 8 bits da transmissão foi de 830 μs. Fig. 1: Onda na tela de um osciloscópio digital para transmissão serial com baud rate de 9600 bps A conexão serial entre o microcontrolador 8051 e um computador exige um componente para adaptação dos níveis de tensão. Enquanto no microcontrolador tensão zero representa nível lógico 0 e tensão de 5 V representa o nível lógico 1, no computador o nível lógico 0 é representado por uma tensão de + 12 V e o nível lógico 1 é representado por uma tensão de 12 V. Essa adaptação entre os níveis de tensão é conseguida com o componente MAX232. A conexão pode ser feita usando um cabo invertido, como o mostrado na Fig. 2, ou através de um cabo direto, conforme Fig. 3. Fig. 2: Conexão entre um PC e um microcontrolador através de um cabo invertido e um driver RS232. Fig. 3: Conexão entre um PC e um microcontrolador através de um cabo direto e um driver RS232. Os computadores mais novos, principalmente notebooks, não tem o terminal DB9, mas apenas terminais USB. Nesse caso, uma opção é usar um transmissor/receptor bluetooth para a comunicação serial. Nesse caso, dispensa-se o componente MAX232. A Fig. 4 mostra os módulos bluetooth que podem ser usados nos experimentos desse roteiro. (a) Módulo para o kit didático (b) Módulo para o computador Fig. 4: Módulos bluetooth para comunicação serial entre microcontrolador e computador

Laboratório de Microprocessadores e Microcontroladores 6 2 Atividades do Experimento Os programas das tarefas a seguir devem ser digitados e compilados no simulador MCU8051 ou similar e executados no simulador do kit didático e no kit didático real do microcontrolador 8051. 2.1 Transmissão serial síncrona No programa da Tabela 3 a porta serial é configurada no modo 0 e usada para transmitir uma contagem crescente. Usar o osciloscópio para observar e interpretar os sinais de saída nos pinos P3.0 (RxD) e P3.1 (TxD). Congele as ondas na tela do osciloscópio, num instante qualquer da contagem, e esboçe os sinais nos pinos TxD e RxD. Anote o tempo correspondente a 1 bit e calcule a taxa de transmissão no simulador do kit didático e no kit real. Tabela 3: Transmissão serial síncrona Rótulo Instrução Rótulo Instrução ORG 00H LCALL ATRASO LJMP INICIO SJMP LOOP ORG 30H INICIO: MOV SP,#2FH MOV A,#00H LOOP: MOV SBUF,A JNB TI,$ CLR TI INC A ATRASO: MOV R0,#100 V1: MOV R1,#250 DJNZ R1,$ DJNZ R0,V1 END A Fig. 5 ilustra a forma de onda esperada para o programa de transmissão síncrona. O canal TxD transporta o sinal de sincronismo. O canal RxD transporta os dados transmitidos e recebidos (Dado mostrado: 12 H). 1 µs f = 1 MHz 0 1 0 0 1 0 0 0 Bit menos significativo Fig. 5: Transmissão síncrona de uma contagem crescente (valor mostrado: 12H)

Laboratório de Microprocessadores e Microcontroladores 7 Fig. 6: Formas de onda do canal serial síncrono Tabela 4: Valores para a transmissão síncrona obtidos no kit real Grandeza Tempo correspondente a 1 bit medido com o osciloscópio Taxa de Transmissão medida com o osciloscópio Valor 2.2 Transmissão serial assíncrona O programa a seguir é equivalente ao anterior, mas utiliza o modo 1 da comunicação serial com baud rate de 9600 bps. Uma vez que o cristal oscilador é de 11,0592 MHz, da Tabela 2, tem-se um valor de recarga TH1 = FDH, para o temporizador 1 no modo 2 (recarga automática). Desenhe a forma de onda observada no osciloscópio para um valor qualquer da contagem. Anote o tempo total correspondente a 1 bit e meça a taxa de transmissão. Rode o programa no simulador do kit didático e no kit real. Tabela 5: Transmissão serial assíncrona com baud rate de 9600 bps Rótulo Instrução Rótulo Instrução ORG 00H LJMP INICIO ORG 30H INICIO: MOV SP,#2FH MOV SCON,#40H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV A,#00H SETB TR1 LOOP: MOV SBUF,A JNB TI,$ CLR TI INC A LCALL ATRASO SJMP LOOP ATRASO: MOV R0,#100 V1: MOV R1,#250 DJNZ R1,$ DJNZ R0,V1 Use o HyperTerminal do microcomputador, ou interface equivalente, configurado para a taxa de comunicação de 9600 bps, 8 bits de dados, para visualizar nessa interface os caracteres recebidos do microcontrolador. END

Laboratório de Microprocessadores e Microcontroladores 8 A Fig. 7 ilustra a forma de onda esperada para o programa de transmissão assíncrona. O canal TxD transporta o sinal transmitido (valor mostrado: 37H) 104 µs f = 9600 Hz 1 1 1 0 1 1 0 0 Bit de start Bit de stop Fig. 7: Transmissão assíncrona de contagem crescente (valor mostrado: 37H) Fig. 8: Formas de onda no pino TxD do canal serial assíncrono de 8 bits Tabela 6: Valores para a transmissão assíncrona com baud rate de 9600 bps Grandeza Valor Tempo correspondente a 1 bit medido com o osciloscópio Taxa de Transmissão medida com o osciloscópio 2.3 Recepção serial assíncrona No programa da Tabela 7 o microcontrolador recebe dados via serial no modo 1, com taxa de recepção de 4800 bps, usando interrupção. O dado recebido é enviado para a porta P1 (LEDs). A frequência do cristal oscilador é de 11,0592 MHz. Assim, da Tabela 2, tem-se o valor de recarga TH1 = FAH, para o temporizador 1 no modo 2 (recarga automática). Use o HyperTerminal do microcomputador, ou interface equivalente, configurado para 4800 bps e 8 bits de dados para transmitir os dados para o microcontrolador. Rode o programa no simulador do kit didático e no kit real. Tabela 7: Recepção serial assíncrona com baud rate de 4800 bps e usando interrupção Rótulo Mnemônico Comentário sobre o Efeito da Operação ORG 00H LJMP INICIO ORG 23H CLR RI MOV A,SBUF I ; Limpa flag de recepção ; Transfere para o acumulador conteúdo recebido via serial ; Retorna da subrotina de atendimento da serial

Laboratório de Microprocessadores e Microcontroladores 9 ORG 30H INICIO: MOV SP,#2FH ; Apontador de pilha SP = 2FH MOV SCON,#40H ; Configura serial para modo 1 assíncrono MOV IE,#90H ; Habilita interrupção da serial. IE = 1 0 0 1 0 0 0 0b MOV TMOD,#20H ; Configura o temporizador 2 para operar no modo 2 MOV TL1,#0FAH ; Faz TL1 = FAH baud rate de 4800 bps para f = 11,0592 MHz MOV TH1,#0FAH ; Carrega TH1 com o valor de recarga automática MOV A,#00H ; Carrega acumulador com 0 SETB TR1 ; Dispara temporizador 1 CLR RI ; Limpa flag de recepção da serial SETB REN ; Habilita recepção serial V1: MOV P1,A ; Transfere para a porta P1 o conteúdo do acumulador SJMP V1 ; Loop mostrando o conteúdo de A. Esse valor muda a cada recepção END 208 µs f = 4800 Hz 1 0 1 0 1 1 0 0 Bit de start Fig. 8: Forma de onda para recepção assíncrona do número 5 (ASCII 35H) enviado pelo computador Tabela 8: Valores para a recepção assíncrona com baud rate de 4800 bps Grandeza Valor Tempo correspondente a 1 bit medido com o osciloscópio Taxa de transmissão medida com o osciloscópio Fig. 9: Forma de onda no pino RxD do canal serial assíncrono de 8 bits Quais os valores de recarga (TH1) para as taxas de transmissão 2400 bps e 1200 bps, usando o cristal de 11,0592 MHz? Tabela 9: Valores de recarga Baud Rate TH1 2400 bps 1200 bps

Laboratório de Microprocessadores e Microcontroladores 10 2.4 Rotação de LEDs usando recepção assíncrona No programa da Tabela 10 o microcontrolador recebe dados via serial no modo 1, com taxa de recepção de 9600 bps, usando interrupção. O dado recebido é usado para definir a rotação de LEDs na porta P1. Se o dado recebido for a letra D os LEDs são rotacionados para a direita. A letra E rotaciona os LEDs para a esquerda. A frequência do cristal oscilador é de 11,0592 MHz. Assim, da Tabela 2, tem-se o valor de recarga TH1 = FDH, para o temporizador 1 no modo 2 (recarga automática). Tabela 10: Rotação de Leds a partir de informações recebidas via serial Rótulo Mnemônico Rótulo Mnemônico ORG 00H V2: CJNE R0,# D,V1 LJMP INICIO LJMP DIREITA ORG 23H CLR RI MOV R0,SBUF I ORG 30H INICIO: MOV SP,#2FH MOV SCON,#40H MOV IE,#90H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV R0,#00H MOV A,#01H SETB TR1 CLR RI SETB REN V1: CJNE R0,# E,V2 LJMP ESQUERDA DIREITA: MOV P1,A RR A LCALL ATRASO SJMP V2 ESQUERDA: MOV P1,A RL A LCALL ATRASO SJMP V2 ATRASO: MOV R7,#200 V3: MOV R6,#250 DJNZ R6,$ DJNZ R7,V3 END O que ocorre quando se digita um caractere diferente de "D" e "E"? 2.5 Envia para LCD Caractere Recebido via Serial O programa a seguir mostra no display LCD os caracteres recebidos do computador via porta serial. Baude Rate: 9600 bps. Tabela 11: Recebe caracteres via serial e envia para display LCD Rótulo Mnemônico Rótulo Mnemônico RS EQU P3.5 INICIA: MOV A,#38H RW EQU P3.6 LCALL INSTR_WR EN EQU P3.7 MOV A,#38H LCALL INSTR_WR DADOS EQU P0 MOV A,#0EH LCALL INSTR_WR ORG 00H MOV A,#06H LJMP INICIO LCALL INSTR_WR MOV A,#01H ORG 23H LCALL INSTR_WR CLR RI MOV A,SBUF LCALL TEXTO_WR INSTR_WR: SETB EN I CLR RW

Laboratório de Microprocessadores e Microcontroladores 11 ORG 30H INICIO: MOV SP,#2FH MOV SCON,#40H MOV IE,#90H MOV TMOD,#20H MOV TL1,#0FDH MOV TH1,#0FDH MOV R7,#0FFH SETB TR1 CLR RI SETB REN LCALL INICIA SJMP $ CLR RS MOV DADOS,A CLR EN LCALL ATRASO_LCD TEXTO_WR: SETB EN CLR RW SETB RS MOV DADOS,A CLR EN LCALL ATRASO_LCD ATRASO_LCD: MOV R4,#10 V6: MOV R5,#80 DJNZ R5,$ DJNZ R4,V6 Por que não é necessário fazer a transformação para ASCII do caractere recebido do computador e enviado para o display LCD? END Explique o funcionamento do programa. 2.6 Envia para computador estado de componentes O programa a seguir é usado para acionar um motor de corrente contínua, através de uma chave no pino P3.3, e, ao mesmo tempo enviar, via serial, para o computador, o estado do motor. Tabela 12: Aciona motor de corrente contínua e envia status via serial para o computador Rótulo Mnemônico Rótulo Mnemônico 1 CHAVE EQU P3.3 33 LIGA_M: MOV DPTR,#M_ON 2 STATUS EQU 22H 34 LCALL SERIAL 3 M0 EQU P2.0 35 SETB M0 4 M1 EQU P2.1 36 CLR M1 5 37 CLR STATUS.3 6 ORG 00H 38 SJMP V1 7 LJMP INICIO 39 8 40 SERIAL: MOV A,R7 9 ORG 30H 41 MOVC A,@A+DPTR 10 INICIO: MOV SP,#2FH 42 CJNE A,#0FFH,ENVIA 11 MOV TMOD,#20H 43 MOV R7,#00H 12 MOV SCON,#40H 44 13 MOV TH1,#0FAH 45 14 MOV TL1,#0FAH 46 ENVIA: MOV SBUF,A 15 SETB TR1 47 JNB TI,$ 16 MOV R7,#00H 48 CLR TI 17 MOV STATUS,#00H 49 INC R7 18 CLR M0 50 SJMP SERIAL 19 CLR M1 51 20 52 M_ON: DB 'MOTOR LIGADO', 0DH, 0FFH

Laboratório de Microprocessadores e Microcontroladores 12 21 V1: MOV A,P3 53 M_OFF: DB 'MOTOR DESLIGADO', 0DH, 0DH, 0FFH 22 ANL A,#00001000B 54 END 23 XRL A,STATUS 24 JZ V1 25 26 JNB CHAVE,LIGA_M 27 MOV DPTR,#M_OFF 28 LCALL SERIAL 29 CLR M0 30 CLR M1 31 SETB STATUS.3 32 SJMP V1 Explique a função do trecho em destaque, que começa em V1. Explique o funcionamento do programa, da linha 26 à linha 38. Cite duas opções para substituir o bit STATUS.3 nas instruções SETB STATUS.3 e CLR STATUS.3. Observação: A Figura 10 destaca o registrador 22 H (STATUS) na região da memória RAM. 70h Região da RAM com acesso via byte Região da RAM com acesso via byte e/ou bit 30h 2Fh Bit usado para guardar o estado do motor 17h 0Fh 07h 16h 0Eh 06h 15h 0Dh 05h 14h 0Ch 04h 13h 0Bh 03h 12h 0Ah 02h 11h 09h 01h 10h 08h 00h 22h 21h 20h 1Fh Registrador STATUS Região com 4 bancos de registradores (32 registradores) R0 a R7 Fig. 10: Memória RAM de 00h a 7Fh, com destaque para a posição 22h da memória 00h