You are on page 1of 57

www.mackenzie.com.

br

APOSTILA MICROPROCESSADORES II

SEGUNDO SEMESTRE 2005 PROF. MST. IVAIR REIS N. ABREU

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

PLANEJAMENTO DIDÁTICO PEDAGÓGICO DA DISCIPLINA MICROPROCESSADORES II SEGUNDO SEMESTRE 2005 ESCOLA DE ENGENHARIA - PROF. MESTRE IVAIR R. NEVES ABREU UNIDADE: Engenharia DISCIPLINA: Microprocessadores II

PROFESSOR: Ivair R. Neves Abreu Departamento: Eletrônica ETAPA: 8 CARGA HORÁRIA: 2 aulas

SEMESTRE LETIVO: SEGUNDO Introdução: a proposta deste planejamento pedagógico baseia-se no processo de Qualidade Total (TQM) tendo como base o principio PDCA ou seja, PLAN, DO, CHECK e ACT. O planejamento é o próprio documento proposto, com objetivos, pré-requisitos, plano de aulas, avaliação e bibliografia deixando bem claro a proposta do curso de forma a ajustar as expectativas necessárias. A ênfase no ciclo não apenas o processo de avaliação (comum em cursos pedagógicos) leva a entender que o objetivo é o processo de capacitação do aluno dentro do objetivo proposta através de um plano de aulas gradual, acompanhada de verificações contínuas e principalmente processo de ação corretiva.

Internet -> no site www.ivair.com.br, ler texto de Sistema PDCA (download) e acessar links de Sistemas da Qualidade.

09/09/2005 22/11/2005 x------------------------------------------------------------------x Pré-Requisito -> 14 semanas -> Objetivo Final PRÉ-REQUISITOS: Microprocessadores I, Eletrônica Digital (Combinacional e Sequencial) e Programação Estruturada (Linguagem C). OBJETIVO: ampliar a capacidade de projeto (HD) de sistemas programáveis (ênfase na utilização de periféricos) e programação estruturada (SW) Assembly e C. Estudo de periféricos LCD, teclado matricial, comunicação serial e conversor A/D. Estudo de sistemas para processamento digital de sinais

2

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

(DSP) e comparativo entre diferentes microcontroladores (Microchip, Texas Instruments, Motorola, Cypress, Rabbit, etc). EMENTA: Revisão de Conceitos de Microprocessadores (Arquitetura e Linguagem Assembler) e Microcontrolador (família 8051). Periférico Display de Cristal Líquido. Periférico Teclado matricial (estudo de interrupção e temporização) Comunicação Serial Conversor Analógico / Digital. Introdução de Processadores para aplicações de PDS Estudo dos microcontroladores MSP430, Z8, 6811 e PIC. METODOLOGIA Aula expositiva com auxílio de recursos audivisuais (principalmente retroprojetor). O aluno deverá constantemente participar através de aplicação de exercícios e projetos. Uma apostila envolvendo todos os pontos abordados servirá de apoio didático durante as exposições. Trabalhos levarão o aluno a refletir sobre pontos avançados não abordados diretamente na sala de aula. CRITÉRIO DE AVALIAÇÃO ((P1 X 0,7) + (LAB X 0,2) + (T1 X 0,1)) X 0,5 + (P2 X 0,5) onde: P1 = primeira prova semestral - 04/10/2005 P2 = segunda prova semestral. - SECRETARIA (a partir de 24/11) T1 = seminário Microcontroladores - 08/11/2005 Lab = laboratório Média > 7 -> aluno aprovado 5,5<média<6.9 -> aprovado se freqüência > 80% Se média < 5 -> aluno reprovado BIBLIOGRAFIA APLICAÇÕES PRÁTICAS DO MICRONTROLADOR 8051. Vidal Pereira da Silva Jr. - Érica DESBRAVANDO O PIC - AMPLIADO E ATUALIZADO PARA PIC16F628A. David de Souza e Nicolas Lavínia. Érica. MICROCONTROLADORES MSP430. Fabio Pereira. Érica THE 8051 FAMILY OF MICROCONTROLLERS. Richard H. Barnett. Prentice Hall. THE 8051 MICROCONTROLLER. I. Schott Mackenzie. Prentice Hall.

3

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

-

Using the MCS-51 Microcontroller 8051. HANG, Han-Way, 2000. Ed. Oxford University C and the 8051. SCHULTZ, Thomas, 2001. Ed. Prentice Hall APOSTILA MICROPROCESSADORES APLICAÇÕES. Ivair Reis Neves Abreu

Internet: www.microcontroller.com www.8052.com www.vidal.com.br www.asm51.eng.br www.icmaster.com www.microchip.com www.ti.com www.zilog.com www.motorola.com. www.cypress.com www.asm51.eng.br Plano de Aula: Segundo Semestre de 2005 Início: 09/08 Término: 22/11 Feriados: 15/11 Prazo entrega final das notas: 14/12 Falta Prevista: ---Reposição: --Aulas Previstas: 15 aulas de teoria.

4

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

1) - Revisão da Arquitetura do Microcontrolador 8051

Planejamento (P): Este capítulo capacitará o aluno a: - Rever os conceitos de sistema programável. - Rever conjunto de instruções do microcontrolador 8051. - Projetos de CLPs Digitais.

Execução (D) 1.1) - Família de Microcontroladores INTEL MCS-51: Os principais recursos destes microcontroladores são: - Memória de Programa de 4 kbytes: ROM (8051), EPROM (8751). Versão "romless" (8031). - 256 bytes de RAM (registradores) - 4 ports (latchs bidirecionais programáveis) com 8 bits. - 2 temporizadores ("timers") de 16 bits - 1 unidade serial assíncrona (UART) "full-duplex". - 5 interrupções (2 externas, 2 "timers" e 1 "UART"). - Oscilador interno para geração de temporização. - Acesso a até 64 Kbytes de RAM externa (dados) e 64 Kbytes de EPROM (programa) externa através do controle de 2 sinais de leitura (PSEN -> área de programa - RD -> área de dados). Esta estrutura é conhecida como 'arquitetura HARVARD'. - 256 instruções otimizadas para controle. 1.2) - Sistema Mínimo com o 8051: - 32 sinais de entrada/saída

5

3) .3. "timer" duplo externo (T0 e T1).Códigos de operação do microcontrolador 8051: 1.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II FIGURA 1.1) .1 . FIGURA 1.Interface serial (RxD e TxD).Instruções de transferência de informação: 6 . interrupções externas (INT0 e INT1).2 1.

ADDC A.direto .ADDC A.direto .escreve dado no acum.#dado .#dado .MOV Rn.leitura de tabela da ROM com endereço armazenado em A (offeset) + DPTR (início da tabela) .MOVX A.idem com end. .Rn .MOV direto.ADDC A.#dado .externa tem capac.Instruções Aritméticas: .@Ri .MOV Rn.MOV @Ri.transfere (copiando) o dado da fonte para .@Ri . . .@Ri .MOV direto.MOV destino.#dado .MOV @Ri.MOV direto.@Ri .INC A .direto .Rn . .Rn . ext.direto .XCH A.XCHD A.MOV direto.direto .fonte .2) .ADD A.Acum+1 = Acum .XCH A.@Ri .64k) .MOV @Ri.#dado (16) .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II o destino .#dado .MOVC A.Acum + Rn = Acum.MOV A.ADD A.endereçado por Ri .Rn .A .A .MOV A.direto . com reg.INC Rn 7 .MOVX @Ri.ADDC A.MOVX @DPTR.le dado de mem. inicial em PC .MOV A.A .@Ri .direto .Instruções de Soma: .16 bits (pois a memória .#dado .A .Acum + Rn + Carry = Acum.ADD A.MOV Rn.MOV A.@DPTR .memória ext.MOV direto.troca apenas nibble inferior 1.MOVX A.XCH A.carrega DPTR com dado de .@Ri .MOV DPTR. .ADDC A.A .troca dados do acum.@A+DPTR .MOVC A. de .ADD A.@A+PC .Rn .3.Rn . na .

#dado .direto .INC @Ri .DEC A .divide A por B .DA A 1.ORL A.B . .@Ri .DEC Rn .Rn .Acum .Divisão: a parte inteira do resultado é armazenado no acumulador e o resto no registrador B.ANL A.Rn .ORL A.ANL .direto A.direto .ORL A.Ajuste decimal: soma o número 6 ao nibble superior a 9.SUBB A.INC DPTR .DEC @Ri .@Ri .@Ri A.Rn .DEC direto .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II .SUBB A.direto .SUBB A.Instruções AND: .Acum-1=Acum .XRL A.B .#dado .Instruções Lógicas: .3) .MUL A.ANL . Instrução para ajuste decimal.Instruções OU-EXCLUSIVO: .INC direto .DIV A. .Instruções OU: .XRL A. .Instruções de Subtração: . .SUBB A.#dado .ORL A.ANL .Rn = Acum.A ^ Rn = A .multiplica dado de A por B .Multiplicação: o resultado de 16 bits é armazenado no Acumulador (LSB) e no registrador B (MSB).3.A OU Rn = A .Rn A.A OU-EXC Rn = A 8 .

DJNZ . .rotaciona todo os bits do .retorna ao endereço direto. saltam A.JMP @A+DPTR .RLC A .RL A .salta para a subrotina de endereço indicado.4) .end(8) .Complementação: .SJMP end(8) .se (Ri)≠#dado.JNZ end(8) .se A ≠ direto.acumulador .JZ end(8) .5) .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II .idem utilizando dado .idem com end.rotacionado para o carry e o bit . .end(8) .carrega PC com endereço de 16 bit .troca os nibbles do acumulador 1.XRL A. saltam Rn.CJNE .o primeiro bit o acumulador é . saltam @Ri. saltam Rn.se A ≠ #dado.direto como contador.#dado. salta para endereço .se Rn ≠ #dado. de 16 bits .CLR A .ACALL end(11) . SP->PCL.RR A . O bit 1 é deslocado para .zera acumulador A .AJMP end(11). PCH>(SP+1).LJMP end(16).se Z=0.decrementa Rn.Instruções de Transferência de Controle: . .RRC A . 1.end(8) .idem a RLC mas invertendo a dir. .CPL A . SP-1->PCH e SP=SP-2 .#dado.o oitavo bit .carrega PC com endereço de 8 bits .CJNE .CJNE .end(8) .end(8) .POP direto .PUSH direto .direto.SWAP .end(8) .idem a RR mas invertendo a direção .3.CJNE . Se Rn≠0.@Ri .resgata da pilha (SP-1) dado direto .retorno de subrotinas de interrupção. PCL->(SP+2) e SP->SP+2 .RET .resgata endereço da pilha.Instruções Booleanas: 9 .3.complementa todos os bits do acum.DJNZ A.XRL A.Rotação: divisão/multiplicação binária .carrega PC com endereço (A+DPTR) .carrega PC com endereço de 11 bit .#dado .acumulador 1 posição para a .salva na pilha (SP+1) dado direto . retornando ao ponto da chamada de subrotina.direita.se Z=1.LCALL end(16) .RETI . salta para endereço .#dado.deste para o oitavo bit do .

/bit.seta bit Cy .bit .1 chave para a sala 1 .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II .end(8) .ORL C.Exercícios 1) .CPL bit .Fazer um projeto de um sistema de controle de iluminação residencial com as seguintes características: .Idem para o microtrolador 89S51 e mais 4 salas com 3 lâmpadas cada. .1 chave para a sala 2 .Comunicação serial RS232 .se bit=0 .Cy é um .JNC end(8).3 lâmpadas para a sala 2 .zera bit Cy .MOV bit.1 sensor fotoelétrico .EPROM 2764 .ANL C.SETB C .se bit=1 .CLR C .MOV C.Fazer um programa para as lâmpadas externas serem controladas pelo sensor fotoelétrico e as lâmpadas das salas 1 e 2 serem controladas pelas chaves.SETB bit .3 lâmpadas para a sala 1 .estiver setado Verificação (C): 1.4) .salta para o endereço espec.zera bit especificado . 10 .bit .salta e zera o bit se o mesmo .copia Cy para o bit . .operação "OU" entre o Cy e o inverso .ANL C.do bit especificado .JNB bit. 2) .JBC bit.operação "OU" entre o Cy e o bit .CPL C .copia bit especificado para o Cy .5 lâmpadas externas .operação "and" entre o Cy e o bit ./bit.complementa Cy .ORL C.seta bit especificado .end(8) .C .salta para o endereço especificado se .JB bit.salta para o endereço especificado se .bit .Cy é zero .CLR bit .8031 .operação "and" entre o Cy e o inverso .end(8) .complementa bit .salta para o endereço espec.JC end(8).do bit especificado .

Projeto de um alarme com o 89S52. .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 3) . simulados e quando possível emulados (gravados na memória Flash / Eprom do kit) com as ferramentas do laboratório. memória RAM 62512. 1 buzina. 11 . Ação (A): . ligar as saidas 10 segundos depois que qualquer entrada estiver ativada depois de verificada a chave liga / desliga (caso do usuário desligar o alarme). se ligado o alarme. 2 lâmpadas. 6 sensores de janela. 2 sensores de presença.Se os exercícios (Check) acima indicarem pontos de dúvidas é fundamental para o bom andamento do resto do curso recomenda-se a revisão do respectivo conceito. Fazer um firmware para.Mesmo não havendo dúvidas é altamente recomendável os exercícios serem compilados. 1 chave liga-desliga.

Para acender o segmento específico. . basta ligar o segmento com potencial invertido em relação ao polarizador.br 2. é comum a utilização de chips de controle ou um firmware dedicado a gerar as funções necessárias pelos ports.Utilizar rotinas de configuração e escrita em displays de LCD. Em função desta característica. 12 .hk/ www.1) .com. Execução (D): Links: http://www.displaytec. A camada inferior de vidro compõe o polarizador (ligados a pinos de controle) normalmente ligado a um sinal alternado entre 30 Hz e 100 Hz.Display LCD programável Planejamento (P): Este capítulo capacitará o aluno a: . A camada superior possuiu a “impressão” dos segmentos ativos ligados a pinos individuais. .com.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 2) .Projetar interfaces com displays de LCD (segmentos e módulos) com acesso através de ports ou com endereçamento de memória.Display LCD com acionamento direto nos segmentos Composto de 3 camadas (2 de vidro e o líquido cristal líquido no meio).intech-lcd.Projetar CLP utilizando ports e módulos de LCD.

1 .LCD (4056) Figura 2.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Exemplo: Decodificador BCD .Decodificador 4056 (STM) 13 .

APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Figura 2.Display LCD 3 e ½ caracteres (Intech) 14 .2 .

Projetar um sistema com o 89S51 e um display de 8 dígitos (ver modelo disponível). 2) .Módulo de Display LCD: Atualmente estão disponíveis no mercado uma grande variedade de Displays de Cristal Líquido com circuitos de controle e processamento interno que 15 .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Projeto de um display LCD 3 e ½ segmentos com o microcontrolador 8051: Verificação (C): Exercícios: 1) .2) . Fazer um programa para escrever no display os números 1 2 3 4 Ação (A): Estudar conceito de display LCD com segmentos no caso de falta de compreensão do primeiro exercício.Laboratório: montar na área de expansão do Kit com sistema para um display de 3 e ½ segmentos utilizando o CI 4056. 2.

C.com.D.displaytec. Figura 2.3 -Arquitetura básica dos displays L. A figura a seguir mostra os principais controles destes tipos de displays: Figura 2.br) Descrição dos sinais: 16 .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II visam facilitar o projeto de hardware e a rotina de programação destes tipos de dispositivos de saída.4 .Display 16 x 2 (www.

.R/W: sinal de entrada indicando em nível baixo processo de escrita (barramento de dados como entrada) e em nível alto processo de leitura (barramento de dados como saída). caracter 8x5 .Display 40x1. endereço do caracter a ser utilizado. citamos abaixo alguns dos modelos disponíveis: .Display 16x1.C/D (RS): em nível baixo.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II .Display 16x1.Display 20x2. caracter 8x5 . Em nível alto. Sinal normalmente ligado ao endereço A0 (endereço ímpar -> dado.) e dos dados a serem escritos no display. caracter com 7 pontos verticais e 5 pontos horizontais .Display 16x2. caracter 8x5 . Nos modelos com 4 linhas. _ .Display 40x2.Display 20x4.Display 40x4. Comercialmente. 17 .Display 8 caracteres x 1 linha. _ .E: sinal que em nível alto habilita o display.Vo: entrada de tensão para controle de luminosidade do display . etc. informação de dados (informação a ser mostrado no display). caracter 8x5 Para display de 40 x 2 ou 40 x 4 temos 2 sinais de seleção Enable (E). indica que o barramento de dados D0-D7 carrega a informação de controle (configuração geral do display). utilizamos um sinal E1 para a habilitação das 2 primeiras linhas e um sinal E2 para a habilitação das 2 últimas linhas. caracter 11x5 . endereço par -> controle) .Vss/GND: entrada de alimentação única de +5 Vcc. caracter 8x5 . caracter 8x5 .D0-D7: barramento de dados com dupla função: envio dos comandos de programação do display (posicionamento do cursor. caracter 8x5 .

5 .com.Display 40 x 4 (www.displaytec.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Figura 2.br) 18 .

utilizando Ports 19 .7 .3) .C.C.Sistema mínimo com o display L.C.Sistema mínimo display L.D.D com endereçamento de memória Figura 2.6 . : Figura 2.D.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 2.Sistema Mínimo com o display L.

Programação Módulo do Display: 2. 20 .Projetar uma interface com módulo de LCD 20 x 2 utilizando endereçamento por memória E000-FFFFh 2) .Cursor com deslocamento à direita -> 06H .Cursor com deslocamento à esquerda -> 04H .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Verificação (C): Exercícios: 1) .Utilizando um microprocessador 2051 (www.Havendo problemas no resultado dos exercícios propostos. projetar uma interface LCD com displays 40x4 Ação (A): .Display ativado com cursor intermitente -> 0CH . deslocamento à esquerda e limpando o display. estudar o conceito de módulo de LCD (ver bibliografia básica).1) Controle (C/D = 0) Com o sinal C/D colocado em nível baixo temos a configuração básica do display.Cursor apagado -> 08H .Desloca somente cursor à direita -> 14H Exemplo: 1) .Desloca somente cursor à esquerda -> 10H .atmel.Mensagem com deslocamento à direita -> 05H .4.com) com 2 ports.2 linhas (8 bits) -> 38H .Display ativado com cursor fixo -> 0EH . ligado com cursor intermitente. 2. Os principais comandos são listados abaixo: .Limpa display e retorna o cursor -> 01H .4) .Inicializar display com 2 linhas.Mensagem com deslocamento à esquerda -> 07H .Configura display para 1 linha (8 bits) -> 30H .

posiciona cursor movx @r0.#38H .#05H . 39P 40P A6H A7H E6H E7H 2.2 LINHAS MOVX @DPTR.. sem cursor.A0 (C/D) = 0 -> CONTR.#00 .Posicionar o cursor no meio da primeira linha do display de 20 caracteres. deslocamento à direita e limpando o display.DESLOCAMENTO A DIREITA MOVX @DPTR..COLOCA END.* PRIMEIRA MANEIRA DE IMPLEMENTAR UMA INICIALIZAÇÃO MOV DPTR.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II .#00 . MOV A. Para o posicionamento do cursor/mensagem dentro do display basta fornecermos como comando o endereçamento da tabela de endereçamento do display fornecida abaixo: 1P 2P 3P .ESPERA 15 MSEG.#01H 2) .4. mov r0..Idem para 1 linha.DISPLAY INTERMITENTE MOVX @DPTR.2) Programação de Dados (C/D = 1) 21 .A CALL TEMPO15 .a 2) .controle mov a..A CALL TEMPO15 MOV A. 1 L -> 80H 81H 82H 2 L -> C0H C1H C2H Exemplo: 1) .#80h . MOV A.Posicionar o cursor na primeira posição do display.#0CH .A CALL TEMPO15 MOV A..

#85h .a tempo15 2) .a tempo15 a.escreve ‘a’ em ascii @ro. colocamos o comando C/D em nível ALTO (endereço impar).a tempo15 ro.#01 .escreve ‘c’ em ascii @ro.#’a’ .controle a.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Para a escrita de dados no display. O display necessita ser inicializado e o cursor posicionado na posição do primeiro caracter.escreve ‘s’ em ascii @ro. Exemplo: 1) . automaticamente o display incrementa a posição do cursor. mov mov movx call mov mov movx call mov movx call mov movx call mov movx call ret r0. 22 .#00 .posiciona no meio do display @r0.#’c’ .a tempo15 a.dado a. Uma vez posicionado este caracter.4) .escreve ‘a’ em ascii @ro.Exercícios: 1) .Escrever a palavra ‘ENGENHARIA MACKENZIE’ no centro da primeira linha de um display 2 x 16.Idem para a segunda linha Verificação (C): 2.#’s’ .a tempo15 a.Escrever a letra ‘CASA’ no meio da primeira linha de um display 16 x 2. não necessitando de reprogramações constantes do posicionamento do display.#’a’ .

Utilizar o endereço 0001H para acesso os registros de dado do display e o endereço 0000H para controle.Escrever seu nome completo (abreviado se necessário) centralizado na primeira linha e seu código de matrícula centralizado na segunda linha. RAM de 8Kbytes 6264 (endereço 2000h . 3) .Fazer um projeto de um sistema com o 8031 com um display de 32 caracteres. 4) – Piscar com intervalo de 1 segundo as mensagens: NOME CODIGO TURMA SALA 23 .3fffh) e EPROM de 8kbytes 2764. Fazer uma rotina para escrever na primeira linha a palavra 'ENGENHARIA' e na segunda a palavra 'MACKENZIE'.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 2) .

ou seja.Programação de uma rotina de leitura de teclado matricial. desabilita todas as interrupções ES: em nível baixo.Registrador de habilitação do sistema de interrupção: _______________________________ IE: | EA | x | x | ES | ET1 | EX1 | ET0 | EX0 | EA: em nível baixo.Sistema de Temporização e Interrupção do 8051 . desabilita interrupção serial ET1: em nível baixo. Se o nível for a mesma será obedecida a prioridade interna acima. desde que tenha a prioridade mais alta (ver IP abaixo). Particularizando o conceito para o microcontrolador 8051. . .Teclado Matricial Planejamento (P): Este capítulo capacitará o aluno a: . desabilita interrupção do timer 1 24 .Entender o conceito de interrupção e temporização.Exercícios integrando LCD e Teclado Matricial. a interrupção acontecendo INTERROMPE o programa e a interrupção que está sendo executada. . As interrupções externas são sensíveis a borda de subida ou a nível (alto).1) .prioridade As interrupções do 8051 são do tipo “nesting” . . O nível de prioridade default e os vetores de interrupção são apresentados abaixo: IE0 (interrupção externa 0) TF0 (interrupção do timer 0) IE1 (interrupção externa 1) TF1 (interrupção do timer 1) SRT (interface serial) -> 0003H -> + prioridade -> 000BH -> 0013H -> 001BH -> 0023H -> .Projeto de Teclados Matriciais. 3.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 3) . com a prioridade mais alta podendo ser programada pelo registrador IP. esta família possui 5 interrupções com vetores fixos.Aplicar estes conceitos a microcontroladores. As interrupções do timer são ativadas internamente e a interrupção serial pelo fim da transmissão ou recepção da UART. .Sistema de Interrupção: O conceito básico de interrupção foi abordado no curso anterior Microprocessadores I.

APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II EX1: em nível baixo.Display de LCD (end. 4) .3). 0. 5) . Caso contrário. gerar um pulso de 0. PX1:em nível alto.Projetar um sistema de acesso com catraca do o 89S51 com a seguinte configuração: . Quando o valor do registrador 30H chegar a 100 pessoas. Compilar. .Supondo uma chave (ativa em nível alto) ligada a IE0 (pino 3.Uma chave em P1. Compilar. interrupção externa 1 prioridade 1. 0.5 segundos e ativar a interrupção serial. Enviar para o LCD a mensagem CHAVE ATIVADA pelo mesmo tempo. simular e emular no KIT do laboratório este processo. desabilita interrupção do timer 0 EX0: em nível baixo. interrupção timer 1 prioridade 1. PT1:em nível alto. Caso contrário. PT0:em nível alto. desabilita interrupção externa 0 . acionar o buzzer por 5 segundos colocando pelo mesmo tempo a mensagem LOTACAO MAXIMA 256 PESSOAS. desabilita interrupção externa 1 ET0: em nível baixo. Caso contrário. 0. 0. Mensagem padrão: CONTROLADOR DE ACESSO. Caso contrário. Prioridade máxima para a unidade SERIAL (incluir na rotina CONFIG) 2) . 25 .Desabilitar apenas a unidade SERIAL. EXT1 e SERIAL.2). Verificação (C): Exercícios: 1) . interrupção externa 0 prioridade 1. gerar um pulso de 5 segundos em P1. 3) .Idem para a IE1 (pino 3. simular e emular o programa no KIT do laboratório.0 cada vez que a chave for acionada.0) por 0.2 inicializa o contador e volta ao início. 2000-3fffh). Caso contrário. interrupção serial prioridade 1. 0.5 segundos a cada acesso.Registrador do nível de prioridade: ______________________________ IP: | x | x | x | PS | PT1 | PX1 | PT0 | PX0 | PS: em nível alto. Contar o número de eventos incrementando o registrador 30H (a partir do zero) tocando um buzzer (P1.Inicializar um programa habilitar as interrupções TIMER0.Catraca com sensor tipo “reed switch” entrando a interrupção IE0. interrupção timer 0 prioridade 1. . PX0:em nível alto.

: Leitura de 16 chaves -> Port 1 e 2 (16 ports). o programa de tratamento das teclas deve-se localizar no endereço da interrupção externa 0 (03H): .7H (endereços binários 00 a 0Fh). apresenta como desvantagem a ocupação ao nível de hardware de grande número de ports.Varredura direta de 16 teclas Pode-se observar que o acionamento de qualquer tecla provoca uma interrupção INT0.2) .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Ação (A): . A chave é lida de forma direta pelo microcontrolador.Havendo problemas no resultado dos exercícios propostos. Portanto. Figura .0H a 21. Fazer um programa para ler cada chave é colocar sua condição nos bits 20. estudar o conceito de módulo de interrupção externa.Aplicação de interrupção externa -> Sistema de Leitura direta de teclas. 3. Apesar da grande simplicidade de programa para a leitura das chaves.* PROGRAMA DE LEITURA DE 16 TECLAS DOS PORTS P1 E P2 ORG 0 JMP INICIO 26 . Ex. Importante a utilização das ferramentas de laboratório.

0 a P1. Utilizar IE1 para o teclado.P2.Idem com 4 leds (em P1.7 .Sistema de temporização (Timers) 8051: O microcontrolador da família 8051 possui 2 timers de 16 bits. .3) sendo que o primeiro led é controlado pela chaves 1 e 2.0.1.4) e a tecla 4 desligar o mesmo led.SALTA PARA A LEITURA DAS TECLAS ORG 30H .#PILHA MOV IE. MOV C. Emular este programa no simulador AVSIM51.C POP PSW RETI Verificação (C): Exercício 1) .P1. o segundo led pelas chaves 3 e 4.* ROTINA DE TRATAMENTO DO TECLADO LETEC: PUSH PSW MOV C.Fazer um programa utilizando a rotina de leitura de teclado acima para a tecla 3 ligar um led (P3. . Seu número programado é incrementado por pulsos externos (dos pinos Tin1 e Tin2) ou pelo 27 .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II ORG 03h JMP LETEC INICIO: .INICIO NORMAL DO PROGRAMA MOV SP. etc. .C .COLOCA TECLA 0 NA AREA BOOLEANA MOV C.#10000001B . 3.7.0 .LE ÚLTIMA TECLA MOV 21. .C .3) .1 MOV 20. 2) .P1.LE TECLA 0 MOV 20. .

C/T: em nível alto. 001bH) é acionada. Em nível baixo. Quando este bit está em 1 e o pino INT externo está setado. 000bH ou TF1 . a interrupção respectiva (TF0 . .Registrador TH1 e TL1: registradores de 8 bits do timer 1 localizado na área de registradores especiais (SFR) que somados formam o contador de 16 bits.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II clock interno de 1/12 fcristal.end. coloca o timer como contador dos pulsos da entrada Tin1 (externa).---------------------TIMER 1 TIMER 0 GATE: utilizado quando se deseja um controle do timer externo através do pino externo INT0 ou INT1 (dependendo do timer utilizado).Timer 8051 .Registrador TH0 e TL0: registradores de 8 bits do timer 0 localizado na área de registradores especiais (SFR) que somados formam o contador de 16 bits. o timer é acionada pelo sinal de freqüência 1/12 do oscilador interno.---------------------TMOD: | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 | ---------------------. Figura . M1 0 0 1 M0 0 : controla modo de operação do timer -> possuiu um divisor de 5 bits (TL) e um contador de 8 bits (TH) 1 -> sem divisor. O byte TH é recarregado a cada ciclo em TL 28 .end.Registrador de modo: ---------------------. Quando o número do timer chega a zero. . possuiu contador de 16 bits 0 -> contador de 8 bits (TH).Modo 1 (fonte: Atmel) Registradores do sistema de temporização: . o bit TR1 do registrador TCON controla o funcionamento do timer.

IE0: bit de status. Utilizar o timer 0 para implementar a temporização.: Configurar o timer 0 para temporização de 16 bits e timer 1 para temporizador de 8 bits com carregamento automático. 3) . Precisa ser setado para o timer operar.Se utilizarmos o timer 0 controlado pela entrada externa 0 (pino T0). . IT0: em nível alto indica pulso positivo na entrada do pino Tin0. Ex. Fazer o programa de configuração.Fazer um projeto de um CLP para controlar nível de tanque. 5) . Verificação (C): Exercícios 1) . Em nível baixo indico pulso negativo.1.0H.Idem ao exercício anterior utilizando um cristal de 1 Mhz externo. qual o tempo máximo de temporização se recebermos um sinal externo quadrado de 1 Khz? 4) . Fazer uma rotina para a cada 100 mseg (supor que o cristal do microcontrolar é de 6 Mhz) o sensor de nível de um posição da chave localizada no port P1.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 1 1 -> para timer. TR0: em nível alto habilita o funcionamento do timer 0. Colocar o número 0AB5H no timer 0 e 20H no timer 1.------------------------------TF0: bit de status. Escrever em um LCD < 29 .Qual o tempo máximo possível de ser implementado pelos timer 0 e 1 se utilizarmos um cristal de 12 Mhz para o cristal externo. Em nível alto indica overflow do timer 0.Registrador de controle -----------------------------------------------------TCON: | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0| ----------------------. 2) .Calcular o valor a ser configurado o timer do 8051 para fc = 12 Mhz e tempo do timer de 10 mseg. desligar a válvula. ligar uma válvula de alívio localizado no port P1. Em nível alto indica que houve pulso na entrada do pino Tin0. Se a chave estiver em nível alto.0 seja armazenado na posição de memória booleana 20.Idem para fc = 6 Mhz e tempo de 20 mseg. 6) . Caso contrário.

7 para as válvulas). fazer o led do kit piscar 2 vezes por segundo utilizando o timer 0. 30 . Colocar no display o valor do dígito. Escrever no LCD <LED PISCANDO 2 HZ> Ação (A): .4 a P1.5 segundo quando 10 garrafas passarem por um feixe luminoso.3 para os sensores e P1. 10) . 8) . 9) . Idem para 5 Khz e 2 kHz. 7) . fc = 12 Mhz). estudar o conceito de temporização.Fazer um programa para o port P1. Utilizar o timer 0 configurado como contador.Fazer um relógio de 1 segundo (utilizando T0.Utilizando o kit do laboratório. Importante a utilização das ferramentas de laboratório.Idem para 4 tanques (P1.0 gerar um pulso de 0. 11) . Escrever em um LCD < CONTROLE DE 4 TANQUES>.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II CONTROLE DE 1 TANQUE>.0 a P1.Gerar um sinal de 10 Khz no port P1 utilizando o Timer 0. Utilizar Timer 1 com tempo de leitura de 30 msegundos e cristal de 12 Mhz.Havendo problemas no resultado dos exercícios propostos. Dica: criar um contador de 20 eventos para um timer de 50 msegundos. IMPORTANTE: COMPILAR ESTE PROGRAMA E SIMULAR NO AMBIENTE DO LABORATÓRIO (SIMULADOR + KIT).

4) .0 P1.3 P1.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 3.2 P1.Sistema de varredura de Teclado/Display. Figura .3 para gerar os sinais de varredura. o sinal da linha é colocado na coluna para ser lida. As teclas estão localizadas na intersecção de linhas (ports de saída) e colunas (ports de entrada).7 31 . Ao acionar uma determinada tecla.0H a 21.4 P1.7H.item 2. Ler o teclado a cada 10 mseg. Um sistema de varredura (com freqüência superior da freqüência de toque das teclas) garante um sinal em nível alto (ou baixo) durante um pequeno período suficiente para ser reconhecido pelo port de entrada em caso de acionamento de alguma tecla.* definição dos ports COLUNA1 COLUNA2 COLUNA3 COLUNA4 LINHA1 LINHA2 LINHA3 LINHA4 BIT BIT BIT BIT BIT BIT BIT BIT P1.0 a P1. utilizando o timer 0.5 P1.* timer 0 -> 0d8efH (calculado no exercício 5 . Utilizar os 4 bits P1.Teclado de 16 teclas com varredura matricial O programa abaixo faz a leitura de 16 chaves utilizando o PORT 1. .1 P1. Fazer um programa para ler cada chave é colocar sua condição nos bits 20.6 P1.3) .

HABILITA TIMER 0 TH0.#0D8H .7 .*SUBROTINA DA INTERRUPÇÃO LECHAVE: MOV MOV MOV MOV SETB TH0.#0EFH 20H. TIMER 0 .* INICIO DO PROGRAMA ORG JMP ORG JMP INICIO: ORG MOV MOV MOV MOV MOV SETB CLR 0 INICIO 0BH LECHAVE . TL0.#00H 21H.LIGA TIMER0 TR1 .10 MSEG.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II .SETA LINHA1 32 .DESLIGA TIMER1 .*POSIÇÃO 20.#60H IE.0 .#0EFH TMOD.POSIÇÃO 21.* definição da área boolena CHAVE1 CHAVE2 CHAVE3 CHAVE4 CHAVE5 CHAVE6 CHAVE7 CHAVE8 CHAVE9 CHAVE10 CHAVE11 CHAVE12 CHAVE13 CHAVE14 CHAVE15 CHAVE16 EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 0 1 2 3 4 5 6 7 8 9 0aH 0bH 0cH 0dH 0eH 0fH .ZERA ÁREA BOOLENA . .#0D8H TL0.TIMER 0 30H SP.#00010001B TR0 .#00H LINHA1 .#10000010B .

SALTA CHAVE10 .SE A TECHA9 NAO 33 .INDICA CHAVE9 ACIONADA COLUNA2.INDICA CHAVE10 ACIONADA COLUNA3.LIBERA LINHA 1 CLR LINHA2 .SE A TECLA6 NAO ESTIVER .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II SETB LINHA2 SETB LINHA3 SETB LINHA4 .SALTO9 .SALTO2 . SALTA SETB CHAVE5 .ACIONADA. SALTA SETB CHAVE6 .SALTO5 .ZERA LINHA 3 COLUNA1.SE A TECLA10 NAO ESTIVER .INDICA CHAVE6 ACIONADA SALTO6: JB COLUNA3.SALTO4 SETB CHAVE4 SALTO4: SETB LINHA1 . SALTA SETB CHAVE1 .INDICA CHAVE1 ACIONADA SALTO1: JB COLUNA2.SALTO1 .ZERA LINHA 2 JB COLUNA1.SE A TECHA5 NAO ESTIVER .ACIONADA.ACIONADA.SALTO3 SETB CHAVE3 SALTO3: JB COLUNA4.ACIONADA.ACIONADA. SALTA SETB CHAVE2 .* INICIA VARREDURA DA LINHA1 CLR LINHA1 .LIBERA LINHA 2 LINHA3 .INDICA CHAVE2 ACIONADA SALTO2: JB COLUNA3.SALTO6 . SALTA CHAVE9 .SALTO10.SALTO8 SETB CHAVE8 SALTO8: ESTIVER SALTO9: SALTO10: SETB JB SETB JB SETB .ZERA LINHA 1 JB COLUNA1.INDICA CHAVE5 ACIONADA SALTO5: JB COLUNA2.SE A TECLA2 NAO ESTIVER .ACIONADA.SALTO11 CHAVE11 SETB CLR JB LINHA2 .SALTO7 SETB CHAVE7 SALTO7: JB COLUNA4.SE A TECHA1 NAO ESTIVER .

Havendo problemas no resultado dos exercícios propostos.SALTO15 CHAVE15 COLUNA4.7 (igual ao KIT do Laboratório).INDICA CHAVE13 ACIONADA COLUNA2.Idem para a tecla 0 desligar o rele do kit e a tecla 1 ligar o rele do kit.SE A TECHA13 NAO ESTIVER .LIBERA LINHA 3 LINHA4 . Fazer uma rotina LETECLADO guardando a condição das teclas na área booleana 20.Fazer uma rotina para enviar a tecla digitada na o meio da segunda linha do display.5).ACIONADA. 4) . estudar o conceito de temporização.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II SALTO11: SALTO12: JB SETB SETB CLR JB SETB JB SETB JB SETB JB SETB SETB RETI COLUNA4. A área booleana será zerada no tratamento da tecla. No programa principal. 2) .SALTO14.SALTO16 CHAVE16 LINHA4 .LIBERA LINHA 4 .3.1 a P1.SALTO12 CHAVE12 LINHA3 .Colocar um buzzer no kit do laboratório (P3.Fazer um projeto de um teclado telefônico de 12 teclas utilizando os ports P1. 34 .0 a 21. Acionar o buzzer 0. 3) . SALTA CHAVE13 .INDICA CHAVE10 ACIONADA COLUNA3.1 segundo a cada acionamento do teclado.ACIONADA. Importante a utilização das ferramentas de laboratório.3) e a tecla <#> irá desligar o led do kit. Testar o programa no kit do laboratório.SE A TECLA14 NAO ESTIVER .ZERA LINHA 4 COLUNA1.SALTO13. TESTE TECLADO X Ação (A): .RETORNA DA INTERRUPCAO SALTO13: SALTO14: SALTO15: SALTO16: Verificação (C): Exercícios 1) . a tecla <*> irá ligar o led do kit (P3. SALTA CHAVE14 . Criar um flag F_TEC que indicará sempre que uma tecla for acionada.

devido a perda de rendimento introduzido pelos sinais START BIT.).1.Entender o conceito de comunicação serial.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 4) . transmissão e recepção. cabo coaxial utilizado em redes padrão ETHERNET). 4.Introdução e conceitos básicos: A comunicação serial proporciona a comunicação entre 2 pontos ou uma rede de pontos através de um número reduzido de vias (2 vias no caso da comunicação full-duplex ou 1 via no caso da comunicação half-duplex. .Exercícios integrando LCD. Apesar da simplicidade e alta utilização é utilizada apenas em sistemas de baixa velocidade. menor número de canais nos repetidores de linha. Teclado Matricial e Comunicação Serial.1) . Para baixas velocidades. rede de fibras óticas. etc.p.1) . STOP BIT e PARIDADE. Bits de paridade são opcionais. A comunicação serial proporciona maior economia a infraestrutura de transferência de dados (menor número de vias nos cabos. .baunds até redes de alta velocidade de 100 Mbits/seg) em se comparando com a velocidade de transferência paralela interna dos computadores (através dos barramentos internos). maior alcance.Estrutura básica da comunicação assíncrona 35 . Figura . podemos subdividir a comunicação serial em comunicação assíncrona e síncrona: 4.Elaborar rotinas de inicialização. maior imunidade a ruídos.Comunicação Assíncrona: A comunicação assíncrona envia dados de início (start bit) e fim de transmissão (stop bit).s . Apresenta como desvantagem básica a menor velocidade de processamento (variando de 300 b.Sistema de Comunicação Serial Planejamento (P): Este capítulo capacitará o aluno a: .

APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Os dispositivos seriais programáveis presentes dentro de chips dedicados ou microcontroladores recebem o nome de UART (UNIDADE ASSÍNCRONA DE RECEPÇÃO TRANSMISSÃO) 4.1.Interface padrão RS-232: Segue orientação V.1.3) . O número de blocos transmitidos varia bastante.24 da CCITT.Estrutura básica de comunicação síncrona. Os dispositivos seriais programáveis assíncronos/síncronos presentes dentro de chips dedicados ou microcontroladores recebem o nome de USART (UNIDADE SÍNCRONA / ASSÍNCRONA DE RECEPÇÃO TRANSMISSÃO) 4. Um caracter de CHECK-SUM garante a integridade da comunicação. Um protocolo padrão garante a qualidade e integridade da comunicação (através de comandos como NACK e ACK) Figura .2) . Aumenta a imunidade a ruído incrementando os níveis de tensão dos bits 0 e 1 transmitidos.Sinais padrão TTL e RS-232 36 .Comunicação Síncrona: Na comunicação síncrona a transmissão de um bloco de caracter com adição de controles apenas no início e final do bloco. Figura .

.DTR (data terminal ready): sinal de saída de propósito geral.Sinais típicos de uma interface padrão serial: Os sinais mais comuns encontrados em comunicação serial assíncrona são mostrados abaixo.Modo 0: comunicação serial de 8 bits (sem START e STOP BIT). Na recepção. . O baud rate é programável pelo bit SMOD do registrador PCON. . 4. ou seja. O bit de paridade é programável através do bit TB8 de SCON.RS323/TTL). STOP BIT e PARIDADE).DSR (data set ready): sinal de entrada de propósito geral. o bit de paridade é guardado em RB8 de SCON.Modo 2: comunicação serial de 11 bits (com START. Baud-rate fixo em 1/12 da freqüência do cristal. Normalmente ativo em 0. indicando entendimento do sinal RTS. o STOP BIT vai para o RB8 do registrador SCON se SM2=0. Uma aplicação típica desta configuração é implementada na comunicação computador/MODEM (interface utilizada para modulação / demodulação para comunicação na rede telefônica).CTS (clear to send): sinal de entrada como resposta ao sinal RTS.1. O port serial opera de 4 modos: . Na recepção. Baud-rate programável de acordo com carga do timer 1. .TTL/RS232 e 1489 .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II A implementação mais comum é realizada através de line-drivers integrados (como os chips 1488 . .RTS (request to send): sinal de saída de propósito geral.Comunicação serial no 8051: O port serial do microcontrolador 8051 é full-duplex.4) . Como existe um buffer de recepção (SBUF) é possível esperar-se a leitura deste buffer sem a perda do próximo dado de recepção. Com SMOD=0. Bit LSB é o primeiro. .CD (carrier detect): sinal de entrada indicando que a portadora foi detectada pelo modem. baud rate é 37 . . Em muitos sistemas.RXD: recepção de dados. .Modo 1: comunicação serial de 10 bits (com START e STOP BIT). este sinal necessita estar em 0 para funcionamento do sistema. 4.2) . . tem como principais aplicações validar dados transmitidos (como um sinal STROBE) ou determinar se o sinal é de transmissão ou recepção nas comunicações full-duplex. Este mesmo buffer SBUF é utilizado para a transmissão de dados.TXD: transmissão de dados. . pode-se transmitir e receber uma comunicação simultaneamente.

.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 1/64 da freqüência do cristal.. Com SMOD=1.Registrador PCON: registrador com o bit SMOD e bits para gerenciamento de energia nas versões CMOS ---------------------------------------PCON: SMOD ..Modo 3:idem ao modo 2.GF1 GF2 PD IDL ---------------------------------------38 .Comunicação Serial 8051 .Registradores de Controle 8051 A comunicação serial do 8051 trabalha basicamente com 3 registradores: . baud-rate é 1/32 da freqüência do cristal.mas com baud-rate programável pelo timer 1. Figura .3 .Modo 0 (fonte: ATMEL) 4.

Se SM2=0. TI: bit indicador de dado transmitido. 39 . Ex. No modo 2/3. Sai do modo IDLE através de interrupções ou reset. RB8: nos modos 2/3. GF1 e GF2: bits genéricos. RI não será ativado se não for recebido o STOP BIT. Se SM2=0.SCON: registrador de controle serial: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 .: 1) . se SM2=1. RI é sempre ativado. No modo 0. TB8: armazena programação dos bits de paridade dos modos 2 e 3. PD e IDLE: gerenciam modos de economia de energia.2 e 3 de operação do SBUF. se SM2=0. RB8 não é utilizado.Colocar o processador em modo IDLE. No modo 1.Colocar o processador em modo POWER DOWN . PD suspende por completo as operações do processador (voltando apenas com o reset) e o modo IDLE deixa ativados apenas os periféricos internos (timer. Necessita ser limpo por software.SM1: modo de operação 0 0 modo 0 0 1 modo 1 1 0 modo 2 1 1 modo 3 SM2: no modo 1. SM2=0 sempre. armazena o bit de paridade recebido. SMOD=1 dobra a taxa de transmissão binária. MOV PCON. RI não será ativado se o bit de paridade for 0.) representando uma economia de energia de 85%. uart. REN: em nível alto habilita recepção. RB8 armazena o STOP BIT sendo utilizado por rotinas de correção de erro. interrupções.Registrador SBUF: registrador armazenador do dado de transmissão e recepção. No modo 0. etc. RI será sempre ativado e RB8 recebe o STOP BIT. independente do bit de paridade.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II SMOD: nos modos 1. se SM2=1.#00000001B 2) . .

habilitação de RX e baud-rate de 9600 baunds. há a necessidade de utilizar-se o timer 1 para a geração do baud-rate.carrega cristal 1 com reload TMOD.8 k 2. serial e t1 PCON. Supor a utilização de cristal de 11.059 Mhz e 6 Mhz temos os valores tabelados abaixo considerando SMOD=0: Baud-rate 9.-------------32 12 x (256 . 40 .4 k 1. O valor de carga em função do cristal é fornecido no manual (onde temos a fórmula de cálculo para outros cristais) e reproduzida abaixo: smod Taxa = 2 x (freq.#10000000B .modo 1 e rx habilitado 2) .Programar o registrador SCON e o TIMER 1 para 8 bits de dado.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II RI: bit indicador de dado recebido. programa timer 1 c/ reload TCON.059 Mhz 11. Exemplos: 1) . # 01010000b .# 0FD h .TH1) Para o cristal de 11.habilita inter. O timer 1 deve ser programado para o modo de autocarregamento.# 010X0000b .SMOD = 1 SCON. Nos modos 1 e 3. com paridade. habilitação RX e baud-rate de 2400 baunds.# 10011XXXb . Necessita ser limpo por software.# 0010XXXXb .6 k 4.059 Mhz 11. sem paridade. visto no estudo dos timers.059 Mhz MOV MOV MOV MOV MOV MOV TH1.059 Mhz 11.roda timer 1 IE.2 k 110 fcristal 11.059 Mhz 6 Mhz Carga do timer FD h ( SMOD = 1) FD h ( SMOD = 0) F4 h “ E8 h “ 72 h “ Colocando SMOD = 1 dobramos a taxa de transmissão. cristal) ---.Idem para 8 bits.

WAITRX A..# 0FD h .. serial e t1 SCON. # 010X0000b . MOV 30 h TH1.A CLR RI POP ACC RETI 4) .carrega cristal 1 com reload MOV TMOD. ORG MOV MOV MOV MOV MOV .# 0FD h .# 10011XXXb . Utilizar a inicialização do exemplo 1 . # 01010000b . SERIAL: PUSH ACC MOV A.modo 1 e rx habilitado ...A RI 5) ..@R0 TXBUF: 41 . serial e t1 MOV SCON.# 0010XXXXb .modo 1 e rx habilitado A. JNB MOV MOV CLR . # 01010000b .....Transmitir o dado presente na posição de memória indicada por R0. Utilizar a rotina de inicialização do exemplo 1.habilita inter. RI...SBUF MOV @R0.Fazer uma rotina de interrupção serial para colocar o dado recebido no endereço indicado por R0.roda timer 1 IE.. programa timer 1 c/ reload MOV TCON. ORG 30H INICIO: MOV TH1..carrega cristal 1 com reload TMOD. ORG 23H JMP SERIAL .Idem esperando o dado através do bit RI WAITRX: .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 3) . # 010X0000b .SBUF @R0..roda timer 1 MOV IE.# 0010XXXXb . programa timer 1 c/ reload TCON.# 10011XXXb .habilita inter. ORG 0 JMP INICIO .

Fazer uma rotina para transmitir uma string de uma tabela. Testar este programa com um computador e o KIT...ESPERA TRANSMITIR 6) .’A’ TX1 A. Transmitir para um computador a 9600 bps a string <ENGENHARIA MACKENZIE> .$ TI TX1: Verificação (C): Exercícios: 1) . 2) . 42 . Ação (A): . Importante a utilização das ferramentas de laboratório.$ CLR TI . . Testar utilizando o Hiperterminal ou qualquer outro programa de comunicação.3).’M’ TX1 A.Idem transmitindo a palavra MACK em ASCII. TX: MOV CALL MOV CALL MOV CALL MOV CALL ..A JNB TI..CARREGA DADO A SER TX . MOV JNB CLR RET A.’C’ TX1 A.Fazer uma rotina para armazenar o dado recebido no endereço 30H (DADO_RX).A TI.Havendo problemas no resultado dos exercícios propostos.’K’ TX1 SBUF. Setar o flag F_RX quando houver recepção de dados. estudar o conceito de comunicação serial. Se receber a letra <A>.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II MOV SBUF. Se receber a letra <B> apagar o led. acender o led (P3.

Número de bits de conversão: determina o número de valores discretos da conversão -> 2n .Elaborar rotinas de leitura e tratamento de sinais seriais.Freqüência de Amostragem: determina o período entre duas amostras. Pelo Teorema de Nyquest.Aplicar o conceito de conversão analógico / digital a microcontroladores. Comunicação Serial e conversor A / D.Exercícios integrando LCD. 43 . a freqüência de amostragem é no mínimo 2 vezes a freqüência máxima do sinal. . .Introdução: Sinal Analógico (não discreto) -> Sinal Digital (discreto) Fatores para conversão: .1) . Teclado Matricial.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 5) – Conversores Analógico/Digitais Planejamento (P): Este capítulo capacitará o aluno a: . 5.Valor de Referência: determina o valor máximo de conversão (fundo escala do valor analógico deve ser ajustado para este valor) .

Resolução: determina o valor analógico máximo em relação ao fundo escala ∆ V = Vmax / 2n Ex: Para um valor Vmax = 5V. n=12 bits.Qual a freqüência de amostragem no canal de telefonia? 5.5 V n = 8 bits Qual a resolução em temperatura.5 V? Se aumentar o número de bits para 10 bits. qual a resolução do sinal? ∆ V = Vmax / 2n ∆ V= 5 / 4096 = 1.22 mV Exemplos: 1) .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II fa = 2 x fmax . qual a nova resolução? Se aumentar a Vref = 5 V e 10 bits. considerando que 100 C é equivalente a 2.100 C Vref = 2.2) – Conversor A/D ADC 0804 44 . qual a nova resolução? 2) .Termômetro : 0 .

3FFFH) 45 .Sistema Mínimo 89S51 / ADC0804 (endereço 2000H .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Figura .

Firmware ligando o ventilador se o terceiro sensor indicar o valor maior que 80h e ligar o aquecedor se o valor for menor que 30h.Havendo problemas no resultado dos exercícios propostos.Serial RS232 .1) . estudar o conceito de comunicação serial. 2) -Idem para a leitura dos outros 7 sensores.1 aquecedor (P1.3.3) – Rotinas Básicas: 5.LCD (end.Conversor ADC0808 (end. 2000h-3fffh) com 8 sensores de temperatura. 0-1fffh) .89S51 . . Importante a utilização das ferramentas de laboratório.1 ventilador (P1. Ação (A): .Projetar um circuito com as seguintes características: .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 5. 46 .2) .RAM 62256 (8000-FFFFh) .1) – Rotina de Leitura (LEADC:) Verificação (C): Exercícios: 1) .

1) Vout = Σai.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II 6) .1) INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE SINAIS Supressores de eco. DSP diz respeito a representação de sinais através de uma seqüência numérica/simbólica e o seu posterior processamento para estimar parâmetros do sinal original e/ou modificá-lo. o qual o mais comum é a soma de produtos. Estas são algumas aplicações possíveis do Processamento Digital de Sinais (DSP). com a conversão analógico/digital. processamento e conversão digital/analógica final. com algumas honrosas exceções.Diferenciar um PDS de um microcontrolador voltado a controle. Este processo foi muito 47 . análise de imagens de satélites metereológicos.Processamento Digital de Sinal Planejamento (P): Este capítulo capacitará o aluno a: . . datadas da década de 50. 6. detecção de incêndios florestais. representada pela fórmula: n (1. Apesar de ser uma ferramenta que ficou mais conhecida recentemente com o aperfeiçoamento da integração em alta escala dos circuitos integrados e o aperfeiçoamento de algoritmos numéricos. eliminadores de interferências. Este processamento é normalmente realizado com o auxílio de algoritmos matemáticos. onde dados geofísicos eram gravados em fitas magnéticas para um posterior processamento em computadores digitais cujo tamanho em nada lembram os modernos "laptops" ou "notebooks" presentes em nossa vida cotidiana. acompanhamento de testes nucleares ou simplesmente análise de parâmetros vocais para identificação ou reconhecimento de voz. o DSP teve suas origens nos séculos XVII e XVIII com o desenvolvimento de análises numéricas tais como interpolação. integração e diferenciação. estudo de dados sísmicos.Conceituar Processamento Digital de Sinais. os computadores digitais foram mais uma alternativa para a simulação e aperfeiçoamento de sistemas analógicos. Durante este período.bi i onde ai e bi representam coeficientes numéricos de uma seqüência qualquer de dados obtida de uma determinada entrada amostrada e Vout é a saída processada. Podemos dizer que até recentemente o processamento de sinais elétricos era basicamente analógico.

O surgimento de circuitos integrados em alta escala (LSI) permitiu a implementação de processadores digitais inteiros em um único chip. Outro fator introduzido pela FFT foi sua concepção de tempo discreto. etc. principalmente para aplicações que exigiam tempo real de processamento como os sistemas de reconhecimento da voz. A grande vantagem destas rotinas era a redução do tempo de processamento. principalmente com o aumento da complexidade dos algoritmos. Este problema foi minimizado em meados da década de 60. Estes novos algoritmos se mostravam bastantes úteis nos sistemas de remoção de eco ou de compressão de voz. como a de telecomunicações. o processamento digital lentamente começou a diferenciar-se. Rotinas para filtros homomórficos ou a análise cepstral foram desenvolvidos apesar de não serem praticáveis pela ainda incipiente tecnologia dos semicondutores. Apesar desta predominância dos sistemas analógicos. 6. Algoritmos para filtros digitais com taxas de amostragens na faixa de megahertz tornaram-se práticos. A grande mola propulsora do DSP foi o desenvolvimento da técnica de fabricação de circuitos integrados a partir da década de 70. fator fundamental para os sistemas computacionais lentos e caros da época. Mas mesmo com estes aperfeiçoamentos. a despeito de existir um grande número de fabricantes no mercado tais como a Analog Devices. auxiliando em muito o desenvolvimento dos algoritmos puramente digitais. com o desenvolvimento de uma classe de algoritmos conhecida como Transformada Rápida de Fourier (FFT).). onde as simulações computacionais foram fundamentais no ajuste dos filtros necessários para sua execução. Processamento de voz e imagens em tempo real já tornouse possível.Características da arquitetura de um circuito integrado dedicado a DSP: 48 . diferenciando-se desta forma dos microprocessadores de uso geral do mercado. praticamente impossível com os computadores analógicos. Passaremos a analisar os requisitos básicos de um circuito integrado dedicado a realizar operações de DSP. Outras áreas começaram a ser bastante beneficiadas. diminuindo aquela impressão que o DSP era simplesmente uma aproximação dos sistemas analógicos. Circuitos integrados especializados na execução de algoritmos aritméticos possibilitaram a implementação de aplicações em tempo real. aumentando a economia e flexibilidade tanto nos sistemas de chaveamento como transmissão.2) . AT&T.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II comum na implementação dos primeiros codificadores de voz (VOCODERS) pelos Laboratórios Bell e Lincon (M. ao contrário dos sistemas de tempo contínuo vigentes. Motorola e NEC. A grande dificuldade na implementação das técnicas citadas na época era o cálculo da Transformada de Fourier. a velocidade ainda era o grande obstáculo. Utilizaremos como exemplo o DSP TMS320C25 da Texas Instruments.I.T.

os sistemas baseados na arquitetura Harvard possuem duas estruturas separadas de memória para os códigos do programa e para os dados. fatores decisivos na execução dos algoritmos numéricos existentes nas aplicações dos DSPs. do tipo "If .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Os chips dedicados a funções que envolvam DSP apresentam algumas características comuns que passaremos a analisar: 6. utilizam uma estrutura denominada "pipeline". existem unidades separadas para a realização destas operações.2.Arquitetura Harvard: em contraste com a arquitetura "von Neumann". o circuito integrado DSP TMS320C25 será utilizado como exemplo ilustrativo das características descritas acima. Alguns processadores DSP realizam instruções inteiras aritméticas em um único ciclo de máquina. Estas estruturas.2.3) .Unidades para multiplicação e deslocamento separados da unidade lógica aritmética principal: devido a necessidade de realizar operações de multiplicação e deslocamentos nos algoritmos numéricos. o ciclo de decodificação da instrução anterior e o ciclo de execução de outra instrução. um sistema de prevenção de "estouro" (overflow) do resultado é necessário. Apesar disto exigir um controle maior por parte do processador (pois passam a existir dois controles de barramentos de endereço e dois controles de barramentos de dados)..4) . Next". apresentando como principais características: ciclo de instrução de até 100 ns (para clock de 40 49 . onde em um único ciclo de clock são realizados simultaneamente o ciclo de busca de uma determinada instrução. necessitam de instruções de salto incondicional ou condicional que dependem de determinadas condições contidas principalmente nos registradores de "status" do processador.2. decodificação e execução otimizada de forma a diminuir o tempo de execução das instruções e aumentando consequentemente a velocidade do sistema. o poder de processamento torna-se muito mais poderoso e principalmente mais rápido.. Este circuito integrado faz parte da segunda geração de DSPs da Texas. é necessária a realização destas operações em ciclos de busca ("fetch") curtos. "carry" (C). zero (Z) ou teste/controle (TC). 6. que apresenta um único espaço de memória para códigos de operação e dados. Como já ressaltado. otimizando-as.2) . Then" ou "For . 6. como é o caso do TMS320C25.2..Operações de "loop" incondicional e condicional: algoritmos repetitivos envolvendo operações lógica/aritméticas constituem uma das principais estruturas utilizadas nos programas de aplicativos de DSPs.1) .Flexibilidade e rapidez na execução das instruções: além de unidades separadas para realização de algoritmos numéricos. 6. Outros.. Devido a natureza repetitiva destas operações. tais como condição de estouro (OVM)).

128 K/16 bits de acesso de memória de programa/dados externa e acumulador principal de 32 bits. 4048 posições de 16 bits de ROM interna. Com o sinal PS em nível baixo. A figura 1 nos mostra um diagrama em blocos da arquitetura interna do chip em questão. A figura a seguir nos mostra um detalhamento maior da unidade aritmética do TMS320C25. temos o caracterizado o acesso à memória de programa. Figura . caracterizando a arquitetura Harvard explicada no item 2. responsáveis pelo controle da natureza do barramento de dados e controle.1). 50 . Já com o sinal DS em nível baixo temos o controle da memória de dados. Pode-se observar a existência dos sinais PS e DS.Arquitetura TMS320C25 (fonte: Texas Instruments) Com o auxílio desta ilustração analisaremos a seguir as características gerais fornecidas acima que possibilitam o TMS320C25 desempenhar-se bem em situações críticas como em tempo real nos aplicativos com DSPs.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II MHz). 544 posições de 16 bits de RAM interna. Pode-se observar unidades independentes para multiplicação.

acumulador principal composto de 2 registradores de 16 bits (ACCH e ACCL). decodificação e execução de 2 ou 3 instruções simultaneamente.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II com a presença de um registrador temporário de 16 bits (TR) e um registrador de de produto (PR) de 32 bits para armazenamento do resultado. conforme indicado no item 6. Finalmente a figura mostra a unidade aritmética principal (ALU) com capacidade de 32 bits.2). o TMS320C25 utiliza a operação "pipeline". para agilizar a execução das instruções. bit carry (C) e dois registradores especiais para execução de rotações para a esquerda (SFL) e direita (SFR). dotando desta forma o sistema com uma grande capacidade de processamento aritmético. aumentando grandemente a velocidade de execução das rotinas. representada na figura a seguir.Estrutura ULA x MUL TMS320C25 Como já foi ressaltado. Temos também uma unidade de deslocamento (bloco "Scaling Shifter") com capacidade também de 16 bits. Figura . 51 . Podese observar a execução simultânea de busca.2.

de processamento de imagem e som e sistemas de controle serão ainda muito beneficiadas. 6. 52 .: .3) . Marven. Alkin. Wiley Interscience.DISCRETE-TIME SIGNAL PROCESSING. 6.D.Bibliografia para P. Oppenhein e Schafer. Oktay. e com algoritmos numéricos mais poderoso. tornando-as mais simplificadas e menores. o TMS320C25 é dotado de uma série de instruções de salto condicional e incondicional viabilizando a execução de estruturas com "loops".4) . sofreram com o desenvolvimento da integração em alta escala produzindo chips específicos . proporcionando economia e flexibilidade aos sistemas citados.Sistema Pipeline Finalmente.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Figura . Prentice Hall . Craing e Ewers Gillian.1989 .Conclusão: Apesar do grande avanço que sistemas baseados em D. tais como o analisado neste artigo.DIGITAL SIGNAL PROCESSING APPLICATIONS WITH THE TMS320 FAMILY. não se vê saturação nas aplicações deste sistemas.S. Prentice Hall.P. Nos próximos anos a área de telecomunicações.S.A SIMPLE APPROACH TO DIGITAL SIGNAL PROCESSING. Texas Instruments. tão fundamentais nas rotinas de DSP. .DIGITAL SIGNAL PROCESSING A LABORATORY APPROACH USING PCDSP.

Cite 5 aplicações típicas de PDS. Qual a característica da arquitetura do PDS favorecem a escolha para cada uma das 5 aplicações.Havendo problemas no resultado dos exercícios propostos. 53 .Mostrar 3 diferenças na arquitetura de uma CPU voltada para controle de um sistema voltado para análise de sinais. 3) .Pesquisar a atual família de PDS da Texas Instruments (TMSC2xx. estudar o conceito de Processamento Digital de Sinais.Pesquisar um algoritmo de filtro digital FIR e encontrar um programa em Assembler para o TMS320Cxxx. 4) . TMS320C5xx e TMS320C6xx).APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II Verificação (C): Exercícios: 1) .Pesquisar as características do Start Kit para a família TMS320C5xx e o ambiente de desenvolvimento disponibilizado para a família de PDS da Texas. Ação (A): . 5) . 2) .

INTERRUPÇÃO. WATCH-DOG.CONJUNTO DE INSTRUÇÕES MOSTRANDO APENAS O SIGNIFICADO BÁSICO DAS MESMAS.ARQUITETURA BÁSICA .) .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II SEMINÁRIOS DE MICROPROCESSADORES Apresentar os seguintes itens no trabalho relativo ao microcontrolador escolhido: .TI. .COM) PIC10F200 PIC16F628A PIC18F1320 TEXAS INSTRUMENTS (WWW.national.MICROCHIP.cypress.COM) 68HC11 NATIONAL SEMICONDUCTOR (www. ETC.com) COP 8 CYPRESS (www.APLICAÇÃO TÍPICA LISTA DE MICROCONTROLADORES: MICROCHIP (WWW.com) PSOC 54 .MAPEAMENTO DA MEMÓRIA INTERNA/EXTERNA .CARACTERISTICAS BÁSICAS . SERIAL.DESCRIÇÃO BÁSICA DOS REGISTRADORES DE CONTROLE (TIMER.COM) MSP430F135 MOTOROLA (WWW.MOTOROLA.

Imaginando que você esteja fazendo um trabalho voluntário para o GreenPeace. Cristal de 32 Khz. -Comunicação Serial. b) . fazer os seguintes programas separadamente: a)-Fazer um programa para que o primeiro sensor ligue a segunda saída em nível alto e desligue em nível baixo. 3) . -Entrada de 5 sensores de presença infra-vermelho.Fazer uma rotina para habilitar as interrupções seriais.Em relação ao projeto acima. c)-Fazer um programa para incrementar a posição 50H da memória interna todas as vezes que o botão de emergência for acionado.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II PRIMEIRO TRABALHO DE MICROPROCESSADORES II Turma: 8F 1)a) . memória FLASH de 4 Kbytes (sem acesso a memória externa) e 2 ports de comunicação (Port PA com 8 bits e Port PB com 6 bits). Ficar em loop. -Display LCD 2 x 16 com endereço de acesso 4000H-5FFFH.Um microcontrolador desenvolvido no Laboratório de Microprocessadores do Mackenzie (MACK3) possui uma entrada de reset ativa em nível baixo. deslocamento a direita. -Entrada de um botão de emergência ligada a INTERRUPÇÃO 0. b). Configurar o display para 2 linhas. entrada de cristal até 20 Mhz. dando prioridade para a comunicação serial. 4) a) . 2) .Qual a função dos sinais Enable e C/D em um módulo de display? O que é um back-light em um display de LCD? Mostre 1 vantagem e uma desvantagem de um display de LCD. -Saída para 5 contatores que controlarão 5 sistemas de iluminação. foi encomendado um controlador ecológico para impedir um gasto desnecessário de energia de escola com até 5 salas com as seguintes características: -Microcontrolador 8031 com Eprom 27512. sem cursor. Reset automático e manual. Fazer uma rotina para escrever a letra do seu primeiro nome no display. Fazer um esquema mostrando a ligação do MACK3 com um display LCD de 2 linhas x 20 caracteres. Utilizar a interrupção. Fazer a rotina de escrita no display. 55 . b)-Fazer um programa para escrever no display a mensagem "GREEN PEACE" "CONTROLADOR".Mostrar um esquema de um sistema com o 8951 e um módulo com o Display de LCD utilizando apenas os Ports P0 e P1 (modo de acionamento direto sem mapeamento de memória). timer 1 e externa 0.

-1 alto-falante (buzzer).5 pontos) . Se for digitada a tecla CORRIGE.5 pontos). Fazer uma rotina de inicialização para o timer T.Fazer em Linguagem Assembler separadamente os seguintes programas: a) (1.Projeto de um torno microprocessado CNC.Cristal com freqüência de 11. calcular o valor do temporizador T para o tempo de 3 milisegundos. start e stop/bit.Conversor ADC 808 de 8 canais (endereço 20H-3FH). CONFIRMA). vetor com endereço 06h e com contador DECRESCENTE a cada pulso de entrada do timer. Explicar o conceito do vetor 06h.059 Mhz e reset automático.Display LCD inteligente possuindo 2 linhas e 20 caracteres (endereço 001FH). . Escrever no display: URNA ELETRONICA CANDIDATO: b) (1. . . O que existe (qual rotina) neste endereço do programa? Supondo que a freqüência de contagem na ENTRADA do timer seja de 100 Khz.Você é o engenheiro da empresa ELEICOES ELETRONICAS e é responsável pelo projeto de uma urna eletrônica com as seguintes características: -Microcontrolador 8951. 6) . Reset automático e manual.Saída para controle de 2 motores trifásicos. Os registradores de controle são iguais ao do timer T0 do 8051.Inicializar o display (2 x 16 linhas. ligar o buzzer por 1 segundo. . 5). Um sistema lógico ativa a interrupção externa 1 quando é acionada uma tecla. -Display de LCD com endereço entre 0 e 1fffH -Entrada para 10 teclas numéricas e 3 teclas de função (CORRIGE. 9600 baunds e interface RS232 com line drivers MAX 232. 3 indicadores luminosos (lâmpadas) e uma chave.Comunicação full-duplex com dado de 8 bits. 8) . com cursos piscando.Fazer os seguintes programas para o projeto acima: 56 . cristal de 8 Mhz. escrevendo da esquerda para a direita). .Suponha que você esteja projetando um microcontrolador com um temporizador T de 16 bits. 7) . sem paridade.APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II c) .Fazer um projeto com um microcontrolador 8031 com as seguintes características: .Fazer um programa para guardar a posição das teclas na memória a partir do endereço 25H. BRANCO.

Caso contrario. . a). . 10). Saída para controle de 3 motores (representar o acionamento apenas de 1 motor). . Mneumônicos para programação em linguagem Assembler compatível com o 8051. Entrada de 1 chave para controle dos motores.Fazer um programa em linguagem Assembler para incrementar apenas o registrador R3 a cada 10 mseg. b) .APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II . colocar o valor lido no endereço 40 H.Fazer um programa para ler a chave a cada 1 mseg.D. Entrada para o temporizador externo (pino TENTR) que decrementa o temporizador de 1 unidade a cada pulso. c). . do sistema de interrupção habilitando a interrupção serial e display configurando-o para deslocamento de mensagens a esquerda e sem cursor.Ler o canal 3 do conversor ADC. qual o número a ser colocado dentro do timer para o mesmo fornecer um tempo de 10 mseg? Justificar mostrando o cálculo b).Supondo a entrada de um sinal de 100 Khz na entrada TENTR. 57 .Cristal de 8 Mhz.Fazer um projeto com o microcontrolador 8031 com as seguintes características a) .Inicialização da interface serial. Se a chave estiver em nível alto.Ligar os 2 motores se a chave estiver em nível alto 9). desligá-los.Fazer um programa para incrementar o registrador R5 a cada pulso do contador externo (elaborar apenas a rotina de interrupção) . Reset automático e manual.Rotina para receber dados pela interface serial através da interrupção serial. Interrupção com endereço 0010H Registradores de modo (TMOD) e controle (TCON) idênticos ao 8051. com endereçamento de 2000H a 3FFFH. colocando os dados recebidos na posição de memória 50H.C. ligar todos os motores. Colocar comentários indicando cada comando. Display de L.Vamos supor que você esteja programando um novo microcontrolador que possua um temporizador interno com as seguintes características: Contador DECRESCENTE de 16 bits.Rotina para escrever na linha superior do display o seu nome completo centralizado (abreviar os nomes do meio se necessário) e o seu número de matrícula na linha de baixo. Entrada do contador externo (interrupção externa 1).