8051 com LCD

Embed Size (px)

Citation preview

www.mackenzie.com.br

APOSTILA MICROPROCESSADORES II

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

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

PLANEJAMENTO DIDTICO PEDAGGICO 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: Eletrnica ETAPA: 8 CARGA HORRIA: 2 aulas

SEMESTRE LETIVO: SEGUNDO Introduo: a proposta deste planejamento pedaggico baseia-se no processo de Qualidade Total (TQM) tendo como base o principio PDCA ou seja, PLAN, DO, CHECK e ACT. O planejamento o prprio documento proposto, com objetivos, pr-requisitos, plano de aulas, avaliao e bibliografia deixando bem claro a proposta do curso de forma a ajustar as expectativas necessrias. A nfase no ciclo no apenas o processo de avaliao (comum em cursos pedaggicos) leva a entender que o objetivo o processo de capacitao do aluno dentro do objetivo proposta atravs de um plano de aulas gradual, acompanhada de verificaes contnuas e principalmente processo de ao 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, Eletrnica Digital (Combinacional e Sequencial) e Programao Estruturada (Linguagem C). OBJETIVO: ampliar a capacidade de projeto (HD) de sistemas programveis (nfase na utilizao de perifricos) e programao estruturada (SW) Assembly e C. Estudo de perifricos LCD, teclado matricial, comunicao 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: Reviso de Conceitos de Microprocessadores (Arquitetura e Linguagem Assembler) e Microcontrolador (famlia 8051). Perifrico Display de Cristal Lquido. Perifrico Teclado matricial (estudo de interrupo e temporizao) Comunicao Serial Conversor Analgico / Digital. Introduo de Processadores para aplicaes de PDS Estudo dos microcontroladores MSP430, Z8, 6811 e PIC. METODOLOGIA Aula expositiva com auxlio de recursos audivisuais (principalmente retroprojetor). O aluno dever constantemente participar atravs de aplicao de exerccios e projetos. Uma apostila envolvendo todos os pontos abordados servir de apoio didtico durante as exposies. Trabalhos levaro o aluno a refletir sobre pontos avanados no abordados diretamente na sala de aula. CRITRIO DE AVALIAO ((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 = seminrio Microcontroladores - 08/11/2005 Lab = laboratrio Mdia > 7 -> aluno aprovado 5,5 80% Se mdia < 5 -> aluno reprovado BIBLIOGRAFIA APLICAES PRTICAS DO MICRONTROLADOR 8051. Vidal Pereira da Silva Jr. - rica DESBRAVANDO O PIC - AMPLIADO E ATUALIZADO PARA PIC16F628A. David de Souza e Nicolas Lavnia. 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 APLICAES. 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 Incio: 09/08 Trmino: 22/11 Feriados: 15/11 Prazo entrega final das notas: 14/12 Falta Prevista: ---Reposio: --Aulas Previstas: 15 aulas de teoria.

4

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

1) - Reviso da Arquitetura do Microcontrolador 8051

Planejamento (P): Este captulo capacitar o aluno a: - Rever os conceitos de sistema programvel. - Rever conjunto de instrues do microcontrolador 8051. - Projetos de CLPs Digitais.

Execuo (D) 1.1) - Famlia de Microcontroladores INTEL MCS-51: Os principais recursos destes microcontroladores so: - Memria de Programa de 4 kbytes: ROM (8051), EPROM (8751). Verso "romless" (8031). - 256 bytes de RAM (registradores) - 4 ports (latchs bidirecionais programveis) com 8 bits. - 2 temporizadores ("timers") de 16 bits - 1 unidade serial assncrona (UART) "full-duplex". - 5 interrupes (2 externas, 2 "timers" e 1 "UART"). - Oscilador interno para gerao de temporizao. - Acesso a at 64 Kbytes de RAM externa (dados) e 64 Kbytes de EPROM (programa) externa atravs do controle de 2 sinais de leitura (PSEN -> rea de programa - RD -> rea de dados). Esta estrutura conhecida como 'arquitetura HARVARD'. - 256 instrues otimizadas para controle. 1.2) - Sistema Mnimo com o 8051: - 32 sinais de entrada/sada

5

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

FIGURA 1.1 - Interface serial (RxD e TxD), interrupes externas (INT0 e INT1), "timer" duplo externo (T0 e T1).

FIGURA 1.2 1.3) - Cdigos de operao do microcontrolador 8051: 1.3.1) - Instrues de transferncia de informao:6

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

o destino

- MOV destino,fonte

;transfere (copiando) o dado da fonte para

- MOV A,Rn - MOV A,direto - MOV A,@Ri - MOV A,#dado - MOV Rn,A - MOV Rn,direto - MOV Rn,#dado - MOV direto,A - MOV direto,Rn - MOV direto,direto - MOV direto,@Ri - MOV direto,#dado - MOV @Ri,A - MOV @Ri,direto - MOV @Ri,#dado - MOV DPTR,#dado (16) ;carrega DPTR com dado de ;16 bits (pois a memria ;externa tem capac. de ;64k) - MOVC A,@A+DPTR ;leitura de tabela da ROM com endereo armazenado em A (offeset) + DPTR (incio da tabela) - MOVC A,@A+PC ;idem com end. inicial em PC - MOVX A,@Ri ;le dado de mem. ext. ;endereado por Ri - MOVX A,@DPTR - MOVX @Ri,A - MOVX @DPTR,A ;escreve dado no acum. na ;memria ext. - XCH A,Rn ;troca dados do acum. com reg. - XCH A,direto - XCH A,@Ri - XCHD A,@Ri ;troca apenas nibble inferior 1.3.2) - Instrues Aritmticas: - Instrues de Soma: - ADD A,Rn ;Acum + Rn = Acum. - ADD A,direto - ADD A,@Ri - ADD A,#dado - ADDC A,Rn ;Acum + Rn + Carry = Acum. - ADDC A,direto - ADDC A,@Ri - ADDC A,#dado - ADDC A,Rn - INC A ;Acum+1 = Acum - INC Rn7

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

- INC direto - INC @Ri - INC DPTR - Instrues de Subtrao: - SUBB A,Rn ;Acum - Rn = Acum. - SUBB A,direto - SUBB A,@Ri - SUBB A,#dado - DEC A ;Acum-1=Acum - DEC Rn - DEC direto - DEC @Ri - Multiplicao: o resultado de 16 bits armazenado no Acumulador (LSB) e no registrador B (MSB). - MUL A,B ;multiplica dado de A por B

- Diviso: a parte inteira do resultado armazenado no acumulador e o resto no registrador B. - DIV A,B ;divide A por B

- Ajuste decimal: soma o nmero 6 ao nibble superior a 9. Instruo para ajuste decimal. - DA A

1.3.3) - Instrues Lgicas: - Instrues AND: - ANL - ANL - ANL - ANL A,Rn A,direto A,@Ri A,#dado ;A ^ Rn = A

- Instrues OU: - ORL A,Rn - ORL A,direto - ORL A,@Ri - ORL A,#dado ;A OU Rn = A

- Instrues OU-EXCLUSIVO: - XRL A,Rn - XRL A,direto ;A OU-EXC Rn = A

8

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

- XRL A,@Ri - XRL A,#dado - Rotao: diviso/multiplicao binria - RR A ;rotaciona todo os bits do ;acumulador 1 posio para a ;direita. O bit 1 deslocado para ;o oitavo bit - RRC A ;o primeiro bit o acumulador ;rotacionado para o carry e o bit ;deste para o oitavo bit do ;acumulador - RL A ;idem a RR mas invertendo a direo - RLC A ;idem a RLC mas invertendo a dir. - Complementao: - CPL A - CLR A - SWAP ;complementa todos os bits do acum. ;zera acumulador A ;troca os nibbles do acumulador

1.3.4) - Instrues de Transferncia de Controle: - SJMP end(8) ;carrega PC com endereo de 8 bits - AJMP end(11);carrega PC com endereo de 11 bit - LJMP end(16);carrega PC com endereo de 16 bit - JMP @A+DPTR ;carrega PC com endereo (A+DPTR) - JNZ end(8) ;se Z=0, salta para endereo - JZ end(8) ;se Z=1, salta para endereo - ACALL end(11) ;salta para a subrotina de endereo indicado. PCH>(SP+1), PCL->(SP+2) e SP->SP+2 - LCALL end(16) ;idem com end. de 16 bits - RET ;resgata endereo da pilha, retornando ao ponto da chamada de subrotina. SP->PCL, SP-1->PCH e SP=SP-2 - RETI ;retorno de subrotinas de interrupo. - PUSH direto ;salva na pilha (SP+1) dado direto - POP direto ;resgata da pilha (SP-1) dado direto - CJNE - CJNE - CJNE - CJNE - DJNZ - DJNZ A,direto,end(8) ;se A direto, saltam A,#dado,end(8) ;se A #dado, saltam Rn,#dado,end(8) ;se Rn #dado, saltam @Ri,#dado,end(8) ;se (Ri)#dado, saltam Rn,end(8) ;decrementa Rn. Se Rn0, ;retorna ao endereo direto,end(8) ;idem utilizando dado ;direto como contador.

1.3.5) - Instrues Booleanas:

9

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

- CLR C ;zera bit Cy - CLR bit ;zera bit especificado - SETB C ;seta bit Cy - SETB bit ;seta bit especificado - CPL C ;complementa Cy - CPL bit ;complementa bit - ANL C,bit ;operao "and" entre o Cy e o bit - ANL C,/bit;operao "and" entre o Cy e o inverso ;do bit especificado - ORL C,bit ;operao "OU" entre o Cy e o bit - ORL C,/bit;operao "OU" entre o Cy e o inverso ;do bit especificado - MOV C,bit ;copia bit especificado para o Cy - MOV bit,C ;copia Cy para o bit - JNC end(8);salta para o endereo especificado se ;Cy zero - JC end(8);salta para o endereo especificado se ;Cy um - JB bit,end(8) ;salta para o endereo espec. ;se bit=1 - JNB bit,end(8) ;salta para o endereo espec. ;se bit=0 - JBC bit,end(8) ;salta e zera o bit se o mesmo ;estiver setado Verificao (C): 1.4) - Exerccios 1) - Fazer um projeto de um sistema de controle de iluminao residencial com as seguintes caractersticas: - 8031 - EPROM 2764 - Comunicao serial RS232 - 1 sensor fotoeltrico - 5 lmpadas externas - 1 chave para a sala 1 - 3 lmpadas para a sala 1 - 1 chave para a sala 2 - 3 lmpadas para a sala 2 - Fazer um programa para as lmpadas externas serem controladas pelo sensor fotoeltrico e as lmpadas das salas 1 e 2 serem controladas pelas chaves. 2) - Idem para o microtrolador 89S51 e mais 4 salas com 3 lmpadas cada.

10

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

3) - Projeto de um alarme com o 89S52, memria RAM 62512, 6 sensores de janela, 2 sensores de presena, 1 chave liga-desliga, 1 buzina, 2 lmpadas. Fazer um firmware para, se ligado o alarme, ligar as saidas 10 segundos depois que qualquer entrada estiver ativada depois de verificada a chave liga / desliga (caso do usurio desligar o alarme). Ao (A):

- Se os exerccios (Check) acima indicarem pontos de dvidas fundamental para o bom andamento do resto do curso recomenda-se a reviso do respectivo conceito. - Mesmo no havendo dvidas altamente recomendvel os exerccios serem compilados, simulados e quando possvel emulados (gravados na memria Flash / Eprom do kit) com as ferramentas do laboratrio.

11

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

2) - Display LCD programvel Planejamento (P): Este captulo capacitar o aluno a: - Projetar interfaces com displays de LCD (segmentos e mdulos) com acesso atravs de ports ou com endereamento de memria. - Utilizar rotinas de configurao e escrita em displays de LCD. - Projetar CLP utilizando ports e mdulos de LCD.

Execuo (D): Links: http://www.intech-lcd.com.hk/ www.displaytec.com.br 2.1) - Display LCD com acionamento direto nos segmentos Composto de 3 camadas (2 de vidro e o lquido cristal lquido no meio). A camada superior possuiu a impresso dos segmentos ativos ligados a pinos individuais. A camada inferior de vidro compe o polarizador (ligados a pinos de controle) normalmente ligado a um sinal alternado entre 30 Hz e 100 Hz. Para acender o segmento especfico, basta ligar o segmento com potencial invertido em relao ao polarizador. Em funo desta caracterstica, comum a utilizao de chips de controle ou um firmware dedicado a gerar as funes necessrias pelos ports.

12

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Exemplo: Decodificador BCD - LCD (4056)

Figura 2.1 - Decodificador 4056 (STM)

13

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Figura 2.2 - Display LCD 3 e caracteres (Intech)

14

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Projeto de um display LCD 3 e segmentos com o microcontrolador 8051:

Verificao (C): Exerccios: 1) - Projetar um sistema com o 89S51 e um display de 8 dgitos (ver modelo disponvel). 2) - Laboratrio: montar na rea de expanso do Kit com sistema para um display de 3 e segmentos utilizando o CI 4056. Fazer um programa para escrever no display os nmeros 1 2 3 4

Ao (A): Estudar conceito de display LCD com segmentos no caso de falta de compreenso do primeiro exerccio. 2.2) - Mdulo de Display LCD: Atualmente esto disponveis no mercado uma grande variedade de Displays de Cristal Lquido com circuitos de controle e processamento interno que

15

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

visam facilitar o projeto de hardware e a rotina de programao destes tipos de dispositivos de sada. A figura a seguir mostra os principais controles destes tipos de displays:

Figura 2.3 -Arquitetura bsica dos displays L.C.D.

Figura 2.4 - Display 16 x 2 (www.displaytec.com.br) Descrio dos sinais:

16

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

- D0-D7: barramento de dados com dupla funo: envio dos comandos de programao do display (posicionamento do cursor, endereo do caracter a ser utilizado, etc.) e dos dados a serem escritos no display. _ - C/D (RS): em nvel baixo, indica que o barramento de dados D0-D7 carrega a informao de controle (configurao geral do display). Em nvel alto, informao de dados (informao a ser mostrado no display). Sinal normalmente ligado ao endereo A0 (endereo mpar -> dado; endereo par -> controle) - E: sinal que em nvel alto habilita o display. Nos modelos com 4 linhas, utilizamos um sinal E1 para a habilitao das 2 primeiras linhas e um sinal E2 para a habilitao das 2 ltimas linhas. _ - R/W: sinal de entrada indicando em nvel baixo processo de escrita (barramento de dados como entrada) e em nvel alto processo de leitura (barramento de dados como sada). - Vo: entrada de tenso para controle de luminosidade do display - Vss/GND: entrada de alimentao nica de +5 Vcc. Comercialmente, citamos abaixo alguns dos modelos disponveis: - Display 8 caracteres x 1 linha, caracter com 7 pontos verticais e 5 pontos horizontais - Display 16x1, caracter 8x5 - Display 16x1, caracter 11x5 - Display 16x2, caracter 8x5 - Display 20x2, caracter 8x5 - Display 20x4, caracter 8x5 - Display 40x1, caracter 8x5 - Display 40x2, caracter 8x5 - Display 40x4, caracter 8x5 Para display de 40 x 2 ou 40 x 4 temos 2 sinais de seleo Enable (E).

17

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Figura 2.5 - Display 40 x 4 (www.displaytec.com.br)

18

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

2.3) - Sistema mnimo com o display L.C.D. :

Figura 2.6 - Sistema mnimo display L.C.D com endereamento de memria

Figura 2.7 - Sistema Mnimo com o display L.C.D. utilizando Ports

19

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Verificao (C): Exerccios: 1) - Projetar uma interface com mdulo de LCD 20 x 2 utilizando endereamento por memria E000-FFFFh 2) - Utilizando um microprocessador 2051 (www.atmel.com) com 2 ports, projetar uma interface LCD com displays 40x4 Ao (A):

- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de mdulo de LCD (ver bibliografia bsica).

2.4) - Programao Mdulo do Display: 2.4.1) Controle (C/D = 0) Com o sinal C/D colocado em nvel baixo temos a configurao bsica do display. Os principais comandos so listados abaixo: - Configura display para 1 linha (8 bits) -> 30H - 2 linhas (8 bits) -> 38H - Display ativado com cursor fixo -> 0EH - Display ativado com cursor intermitente -> 0CH - Cursor apagado -> 08H - Mensagem com deslocamento esquerda -> 07H - Mensagem com deslocamento direita -> 05H - Cursor com deslocamento esquerda -> 04H - Cursor com deslocamento direita -> 06H - Limpa display e retorna o cursor -> 01H - Desloca somente cursor esquerda -> 10H - Desloca somente cursor direita -> 14H Exemplo: 1) - Inicializar display com 2 linhas, ligado com cursor intermitente, deslocamento esquerda e limpando o display.

20

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

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

2.4.2) Programao de Dados (C/D = 1)

21

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Para a escrita de dados no display, colocamos o comando C/D em nvel ALTO (endereo impar). O display necessita ser inicializado e o cursor posicionado na posio do primeiro caracter. Uma vez posicionado este caracter, automaticamente o display incrementa a posio do cursor, no necessitando de reprogramaes constantes do posicionamento do display. Exemplo: 1) - Escrever a letra CASA no meio da primeira linha de um display 16 x 2. mov mov movx call mov mov movx call mov movx call mov movx call mov movx call ret r0,#00 ;controle a,#85h ;posiciona no meio do display @r0,a tempo15 ro,#01 ;dado a,#c ;escreve c em ascii @ro,a tempo15 a,#a ;escreve a em ascii @ro,a tempo15 a,#s ;escreve s em ascii @ro,a tempo15 a,#a ;escreve a em ascii @ro,a tempo15

2) - Idem para a segunda linha

Verificao (C): 2.4) - Exerccios: 1) - Escrever a palavra ENGENHARIA MACKENZIE no centro da primeira linha de um display 2 x 16.

22

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

2) - Escrever seu nome completo (abreviado se necessrio) centralizado na primeira linha e seu cdigo de matrcula centralizado na segunda linha. 3) - Fazer um projeto de um sistema com o 8031 com um display de 32 caracteres, RAM de 8Kbytes 6264 (endereo 2000h - 3fffh) e EPROM de 8kbytes 2764. Utilizar o endereo 0001H para acesso os registros de dado do display e o endereo 0000H para controle. Fazer uma rotina para escrever na primeira linha a palavra 'ENGENHARIA' e na segunda a palavra 'MACKENZIE'. 4) Piscar com intervalo de 1 segundo as mensagens: NOME CODIGO TURMA SALA

23

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

3) - Sistema de Temporizao e Interrupo do 8051 - Teclado Matricial Planejamento (P): Este captulo capacitar o aluno a: - Entender o conceito de interrupo e temporizao. - Aplicar estes conceitos a microcontroladores. - Projeto de Teclados Matriciais. - Programao de uma rotina de leitura de teclado matricial. - Exerccios integrando LCD e Teclado Matricial.

3.1) - Sistema de Interrupo: O conceito bsico de interrupo foi abordado no curso anterior Microprocessadores I. Particularizando o conceito para o microcontrolador 8051, esta famlia possui 5 interrupes com vetores fixos, com a prioridade mais alta podendo ser programada pelo registrador IP. O nvel de prioridade default e os vetores de interrupo so apresentados abaixo: IE0 (interrupo externa 0) TF0 (interrupo do timer 0) IE1 (interrupo externa 1) TF1 (interrupo do timer 1) SRT (interface serial) -> 0003H -> + prioridade -> 000BH -> 0013H -> 001BH -> 0023H -> - prioridade

As interrupes do 8051 so do tipo nesting , ou seja, a interrupo acontecendo INTERROMPE o programa e a interrupo que est sendo executada, desde que tenha a prioridade mais alta (ver IP abaixo). Se o nvel for a mesma ser obedecida a prioridade interna acima. As interrupes externas so sensveis a borda de subida ou a nvel (alto). As interrupes do timer so ativadas internamente e a interrupo serial pelo fim da transmisso ou recepo da UART. - Registrador de habilitao do sistema de interrupo: _______________________________ IE: | EA | x | x | ES | ET1 | EX1 | ET0 | EX0 | EA: em nvel baixo, desabilita todas as interrupes ES: em nvel baixo, desabilita interrupo serial ET1: em nvel baixo, desabilita interrupo do timer 1

24

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

EX1: em nvel baixo, desabilita interrupo externa 1 ET0: em nvel baixo, desabilita interrupo do timer 0 EX0: em nvel baixo, desabilita interrupo externa 0 - Registrador do nvel de prioridade: ______________________________ IP: | x | x | x | PS | PT1 | PX1 | PT0 | PX0 | PS: em nvel alto, interrupo serial prioridade 1. Caso contrrio, 0. PT1:em nvel alto, interrupo timer 1 prioridade 1. Caso contrrio, 0. PX1:em nvel alto, interrupo externa 1 prioridade 1. Caso contrrio, 0. PT0:em nvel alto, interrupo timer 0 prioridade 1. Caso contrrio, 0. PX0:em nvel alto, interrupo externa 0 prioridade 1. Caso contrrio, 0. Verificao (C): Exerccios: 1) - Inicializar um programa habilitar as interrupes TIMER0, EXT1 e SERIAL. Prioridade mxima para a unidade SERIAL (incluir na rotina CONFIG) 2) - Desabilitar apenas a unidade SERIAL, gerar um pulso de 0,5 segundos e ativar a interrupo serial. 3) - Supondo uma chave (ativa em nvel alto) ligada a IE0 (pino 3.2), gerar um pulso de 5 segundos em P1.0 cada vez que a chave for acionada. Enviar para o LCD a mensagem CHAVE ATIVADA pelo mesmo tempo. Compilar, simular e emular no KIT do laboratrio este processo. 4) - Idem para a IE1 (pino 3.3). 5) - Projetar um sistema de acesso com catraca do o 89S51 com a seguinte configurao: - Display de LCD (end. 2000-3fffh). Mensagem padro: CONTROLADOR DE ACESSO. - Catraca com sensor tipo reed switch entrando a interrupo IE0. Contar o nmero de eventos incrementando o registrador 30H (a partir do zero) tocando um buzzer (P1.0) por 0,5 segundos a cada acesso. Quando o valor do registrador 30H chegar a 100 pessoas, acionar o buzzer por 5 segundos colocando pelo mesmo tempo a mensagem LOTACAO MAXIMA 256 PESSOAS. - Uma chave em P1.2 inicializa o contador e volta ao incio. Compilar, simular e emular o programa no KIT do laboratrio.

25

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Ao (A):

- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de mdulo de interrupo externa. Importante a utilizao das ferramentas de laboratrio.

3.2) - Aplicao de interrupo externa -> Sistema de Leitura direta de teclas. A chave lida de forma direta pelo microcontrolador. Apesar da grande simplicidade de programa para a leitura das chaves, apresenta como desvantagem a ocupao ao nvel de hardware de grande nmero de ports. Ex.: Leitura de 16 chaves -> Port 1 e 2 (16 ports). Fazer um programa para ler cada chave colocar sua condio nos bits 20.0H a 21.7H (endereos binrios 00 a 0Fh).

Figura - Varredura direta de 16 teclas Pode-se observar que o acionamento de qualquer tecla provoca uma interrupo INT0. Portanto, o programa de tratamento das teclas deve-se localizar no endereo da interrupo externa 0 (03H): ;* PROGRAMA DE LEITURA DE 16 TECLAS DOS PORTS P1 E P2 ORG 0 JMP INICIO26

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

ORG 03h JMP LETEC INICIO:

;SALTA PARA A LEITURA DAS TECLAS

ORG 30H ;INICIO NORMAL DO PROGRAMA MOV SP,#PILHA MOV IE,#10000001B . . .

;* ROTINA DE TRATAMENTO DO TECLADO LETEC: PUSH PSW MOV C,P1.0 ;LE TECLA 0 MOV 20.0,C ;COLOCA TECLA 0 NA AREA BOOLEANA MOV C,P1.1 MOV 20.1,C . . . MOV C,P2.7 ;LE LTIMA TECLA MOV 21.7,C POP PSW RETI Verificao (C): Exerccio 1) - Fazer um programa utilizando a rotina de leitura de teclado acima para a tecla 3 ligar um led (P3.4) e a tecla 4 desligar o mesmo led. Emular este programa no simulador AVSIM51. 2) - Idem com 4 leds (em P1.0 a P1.3) sendo que o primeiro led controlado pela chaves 1 e 2, o segundo led pelas chaves 3 e 4, etc. Utilizar IE1 para o teclado.

3.3) - Sistema de temporizao (Timers) 8051: O microcontrolador da famlia 8051 possui 2 timers de 16 bits. Seu nmero programado incrementado por pulsos externos (dos pinos Tin1 e Tin2) ou pelo

27

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

clock interno de 1/12 fcristal. Quando o nmero do timer chega a zero, a interrupo respectiva (TF0 - end. 000bH ou TF1 - end. 001bH) acionada.

Figura - Timer 8051 - Modo 1 (fonte: Atmel) Registradores do sistema de temporizao: - 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. - 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. - Registrador de modo: ---------------------- ---------------------TMOD: | GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 | ---------------------- ---------------------TIMER 1 TIMER 0 GATE: utilizado quando se deseja um controle do timer externo atravs do pino externo INT0 ou INT1 (dependendo do timer utilizado). Quando este bit est em 1 e o pino INT externo est setado, o bit TR1 do registrador TCON controla o funcionamento do timer. C/T: em nvel alto, coloca o timer como contador dos pulsos da entrada Tin1 (externa). Em nvel baixo, o timer acionada pelo sinal de freqncia 1/12 do oscilador interno. M1 0 0 1 M0 0 : controla modo de operao do timer

-> possuiu um divisor de 5 bits (TL) e um contador de 8 bits (TH) 1 -> sem divisor, possuiu contador de 16 bits 0 -> contador de 8 bits (TH). O byte TH recarregado a cada ciclo em TL28

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

1

1

->

para timer.

- Registrador de controle -----------------------------------------------------TCON: | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0| ----------------------- ------------------------------TF0: bit de status. Em nvel alto indica overflow do timer 0. TR0: em nvel alto habilita o funcionamento do timer 0. Precisa ser setado para o timer operar. IE0: bit de status. Em nvel alto indica que houve pulso na entrada do pino Tin0. IT0: em nvel alto indica pulso positivo na entrada do pino Tin0. Em nvel baixo indico pulso negativo. Ex.: Configurar o timer 0 para temporizao de 16 bits e timer 1 para temporizador de 8 bits com carregamento automtico. Colocar o nmero 0AB5H no timer 0 e 20H no timer 1. Verificao (C): Exerccios 1) - Qual o tempo mximo possvel de ser implementado pelos timer 0 e 1 se utilizarmos um cristal de 12 Mhz para o cristal externo. 2) - Idem ao exerccio anterior utilizando um cristal de 1 Mhz externo. 3) - Se utilizarmos o timer 0 controlado pela entrada externa 0 (pino T0), qual o tempo mximo de temporizao se recebermos um sinal externo quadrado de 1 Khz? 4) - Calcular o valor a ser configurado o timer do 8051 para fc = 12 Mhz e tempo do timer de 10 mseg. Fazer o programa de configurao. 5) - Idem para fc = 6 Mhz e tempo de 20 mseg. 6) - Fazer um projeto de um CLP para controlar nvel de tanque. Fazer uma rotina para a cada 100 mseg (supor que o cristal do microcontrolar de 6 Mhz) o sensor de nvel de um posio da chave localizada no port P1.0 seja armazenado na posio de memria booleana 20.0H. Se a chave estiver em nvel alto, ligar uma vlvula de alvio localizado no port P1.1. Caso contrrio, desligar a vlvula. Utilizar o timer 0 para implementar a temporizao. Escrever em um LCD . IMPORTANTE: COMPILAR ESTE PROGRAMA E SIMULAR NO AMBIENTE DO LABORATRIO (SIMULADOR + KIT). 7) - Idem para 4 tanques (P1.0 a P1.3 para os sensores e P1.4 a P1.7 para as vlvulas). Utilizar Timer 1 com tempo de leitura de 30 msegundos e cristal de 12 Mhz. Escrever em um LCD < CONTROLE DE 4 TANQUES>. 8) - Fazer um programa para o port P1.0 gerar um pulso de 0,5 segundo quando 10 garrafas passarem por um feixe luminoso. Utilizar o timer 0 configurado como contador. 9) - Gerar um sinal de 10 Khz no port P1 utilizando o Timer 0. Idem para 5 Khz e 2 kHz. 10) - Fazer um relgio de 1 segundo (utilizando T0, fc = 12 Mhz). Colocar no display o valor do dgito. Dica: criar um contador de 20 eventos para um timer de 50 msegundos. 11) - Utilizando o kit do laboratrio, fazer o led do kit piscar 2 vezes por segundo utilizando o timer 0. Escrever no LCD Ao (A):

- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de temporizao. Importante a utilizao das ferramentas de laboratrio.

30

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

3.4) - Sistema de varredura de Teclado/Display. As teclas esto localizadas na interseco de linhas (ports de sada) e colunas (ports de entrada). Ao acionar uma determinada tecla, o sinal da linha colocado na coluna para ser lida. Um sistema de varredura (com freqncia superior da freqncia de toque das teclas) garante um sinal em nvel alto (ou baixo) durante um pequeno perodo suficiente para ser reconhecido pelo port de entrada em caso de acionamento de alguma tecla.

Figura - Teclado de 16 teclas com varredura matricial O programa abaixo faz a leitura de 16 chaves utilizando o PORT 1. Utilizar os 4 bits P1.0 a P1.3 para gerar os sinais de varredura. Fazer um programa para ler cada chave colocar sua condio nos bits 20.0H a 21.7H. Ler o teclado a cada 10 mseg. utilizando o timer 0. ;* timer 0 -> 0d8efH (calculado no exerccio 5 - item 2.3) ;* definio dos ports COLUNA1 COLUNA2 COLUNA3 COLUNA4 LINHA1 LINHA2 LINHA3 LINHA4 BIT BIT BIT BIT BIT BIT BIT BIT P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

31

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

;* definio 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 ;*POSIO 20.0

;POSIO 21.7

;* INICIO DO PROGRAMA ORG JMP ORG JMP INICIO: ORG MOV MOV MOV MOV MOV SETB CLR 0 INICIO 0BH LECHAVE ;TIMER 0

30H SP,#60H IE,#10000010B ;HABILITA TIMER 0 TH0,#0D8H ; TIMER 0 - 10 MSEG. TL0,#0EFH TMOD,#00010001B TR0 ;LIGA TIMER0 TR1 ;DESLIGA TIMER1

. ;*SUBROTINA DA INTERRUPO LECHAVE: MOV MOV MOV MOV SETB TH0,#0D8H TL0,#0EFH 20H,#00H 21H,#00H LINHA1

;ZERA REA BOOLENA ;SETA LINHA1

32

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

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

33

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

SALTO11: SALTO12:

JB SETB SETB CLR JB SETB JB SETB JB SETB JB SETB SETB RETI

COLUNA4,SALTO12 CHAVE12 LINHA3 ;LIBERA LINHA 3 LINHA4 ;ZERA LINHA 4 COLUNA1,SALTO13;SE A TECHA13 NAO ESTIVER ;ACIONADA, SALTA CHAVE13 ;INDICA CHAVE13 ACIONADA COLUNA2,SALTO14;SE A TECLA14 NAO ESTIVER ;ACIONADA, SALTA CHAVE14 ;INDICA CHAVE10 ACIONADA COLUNA3,SALTO15 CHAVE15 COLUNA4,SALTO16 CHAVE16 LINHA4 ;LIBERA LINHA 4 ;RETORNA DA INTERRUPCAO

SALTO13: SALTO14: SALTO15: SALTO16:

Verificao (C): Exerccios 1) - Fazer um projeto de um teclado telefnico de 12 teclas utilizando os ports P1.1 a P1.7 (igual ao KIT do Laboratrio). Fazer uma rotina LETECLADO guardando a condio das teclas na rea booleana 20.0 a 21.3. Criar um flag F_TEC que indicar sempre que uma tecla for acionada. A rea booleana ser zerada no tratamento da tecla. No programa principal, a tecla ir ligar o led do kit (P3.3) e a tecla ir desligar o led do kit. Testar o programa no kit do laboratrio. 2) - Idem para a tecla 0 desligar o rele do kit e a tecla 1 ligar o rele do kit. 3) - Colocar um buzzer no kit do laboratrio (P3.5). Acionar o buzzer 0,1 segundo a cada acionamento do teclado. 4) - Fazer uma rotina para enviar a tecla digitada na o meio da segunda linha do display. TESTE TECLADO X Ao (A):

- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de temporizao. Importante a utilizao das ferramentas de laboratrio.

34

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

4) - Sistema de Comunicao Serial Planejamento (P): Este captulo capacitar o aluno a: - Entender o conceito de comunicao serial. - Elaborar rotinas de inicializao, transmisso e recepo. - Exerccios integrando LCD, Teclado Matricial e Comunicao Serial.

4.1) - Introduo e conceitos bsicos: A comunicao serial proporciona a comunicao entre 2 pontos ou uma rede de pontos atravs de um nmero reduzido de vias (2 vias no caso da comunicao full-duplex ou 1 via no caso da comunicao half-duplex, rede de fibras ticas, cabo coaxial utilizado em redes padro ETHERNET). A comunicao serial proporciona maior economia a infraestrutura de transferncia de dados (menor nmero de vias nos cabos, menor nmero de canais nos repetidores de linha, etc.), maior imunidade a rudos, maior alcance. Apresenta como desvantagem bsica a menor velocidade de processamento (variando de 300 b.p.s - baunds at redes de alta velocidade de 100 Mbits/seg) em se comparando com a velocidade de transferncia paralela interna dos computadores (atravs dos barramentos internos). Para baixas velocidades, podemos subdividir a comunicao serial em comunicao assncrona e sncrona: 4.1.1) - Comunicao Assncrona: A comunicao assncrona envia dados de incio (start bit) e fim de transmisso (stop bit). Bits de paridade so opcionais. Apesar da simplicidade e alta utilizao utilizada apenas em sistemas de baixa velocidade, devido a perda de rendimento introduzido pelos sinais START BIT, STOP BIT e PARIDADE.

Figura - Estrutura bsica da comunicao assncrona35

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

Os dispositivos seriais programveis presentes dentro de chips dedicados ou microcontroladores recebem o nome de UART (UNIDADE ASSNCRONA DE RECEPO TRANSMISSO) 4.1.2) - Comunicao Sncrona: Na comunicao sncrona a transmisso de um bloco de caracter com adio de controles apenas no incio e final do bloco. O nmero de blocos transmitidos varia bastante. Um caracter de CHECK-SUM garante a integridade da comunicao. Um protocolo padro garante a qualidade e integridade da comunicao (atravs de comandos como NACK e ACK)

Figura - Estrutura bsica de comunicao sncrona. Os dispositivos seriais programveis assncronos/sncronos presentes dentro de chips dedicados ou microcontroladores recebem o nome de USART (UNIDADE SNCRONA / ASSNCRONA DE RECEPO TRANSMISSO) 4.1.3) - Interface padro RS-232: Segue orientao V.24 da CCITT. Aumenta a imunidade a rudo incrementando os nveis de tenso dos bits 0 e 1 transmitidos.

Figura - Sinais padro TTL e RS-232

36

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

A implementao mais comum realizada atravs de line-drivers integrados (como os chips 1488 - TTL/RS232 e 1489 - RS323/TTL). 4.1.4) - Sinais tpicos de uma interface padro serial: Os sinais mais comuns encontrados em comunicao serial assncrona so mostrados abaixo. Uma aplicao tpica desta configurao implementada na comunicao computador/MODEM (interface utilizada para modulao / demodulao para comunicao na rede telefnica). - TXD: transmisso de dados. - RXD: recepo de dados. - RTS (request to send): sinal de sada de propsito geral. Normalmente ativo em 0, tem como principais aplicaes validar dados transmitidos (como um sinal STROBE) ou determinar se o sinal de transmisso ou recepo nas comunicaes full-duplex. - CTS (clear to send): sinal de entrada como resposta ao sinal RTS, indicando entendimento do sinal RTS. Em muitos sistemas, este sinal necessita estar em 0 para funcionamento do sistema. - DTR (data terminal ready): sinal de sada de propsito geral. - DSR (data set ready): sinal de entrada de propsito geral. - CD (carrier detect): sinal de entrada indicando que a portadora foi detectada pelo modem. . 4.2) - Comunicao serial no 8051: O port serial do microcontrolador 8051 full-duplex, ou seja, pode-se transmitir e receber uma comunicao simultaneamente. Como existe um buffer de recepo (SBUF) possvel esperar-se a leitura deste buffer sem a perda do prximo dado de recepo. Este mesmo buffer SBUF utilizado para a transmisso de dados. O port serial opera de 4 modos: - Modo 0: comunicao serial de 8 bits (sem START e STOP BIT). Bit LSB o primeiro. Baud-rate fixo em 1/12 da freqncia do cristal. - Modo 1: comunicao serial de 10 bits (com START e STOP BIT). Na recepo, o STOP BIT vai para o RB8 do registrador SCON se SM2=0. Baud-rate programvel de acordo com carga do timer 1. - Modo 2: comunicao serial de 11 bits (com START, STOP BIT e PARIDADE). O bit de paridade programvel atravs do bit TB8 de SCON. Na recepo, o bit de paridade guardado em RB8 de SCON. O baud rate programvel pelo bit SMOD do registrador PCON. Com SMOD=0, baud rate

37

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

1/64 da freqncia do cristal. Com SMOD=1, baud-rate 1/32 da freqncia do cristal. - Modo 3:idem ao modo 2,mas com baud-rate programvel pelo timer 1.

Figura - Comunicao Serial 8051 - Modo 0 (fonte: ATMEL) 4.3 - Registradores de Controle 8051 A comunicao serial do 8051 trabalha basicamente com 3 registradores: - Registrador PCON: registrador com o bit SMOD e bits para gerenciamento de energia nas verses CMOS ---------------------------------------PCON: SMOD - - - GF1 GF2 PD IDL ---------------------------------------38

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

SMOD: nos modos 1,2 e 3 de operao do SBUF, SMOD=1 dobra a taxa de transmisso binria. GF1 e GF2: bits genricos. PD e IDLE: gerenciam modos de economia de energia. PD suspende por completo as operaes do processador (voltando apenas com o reset) e o modo IDLE deixa ativados apenas os perifricos internos (timer, uart, interrupes, etc.) representando uma economia de energia de 85%. Sai do modo IDLE atravs de interrupes ou reset. Ex.: 1) - Colocar o processador em modo IDLE. MOV PCON,#00000001B 2) - Colocar o processador em modo POWER DOWN - Registrador SBUF: registrador armazenador do dado de transmisso e recepo. - SCON: registrador de controle serial: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 - SM1: modo de operao 0 0 modo 0 0 1 modo 1 1 0 modo 2 1 1 modo 3 SM2: no modo 1, se SM2=1, RI no ser ativado se no for recebido o STOP BIT. Se SM2=0, RI ser sempre ativado e RB8 recebe o STOP BIT. No modo 2/3, se SM2=1, RI no ser ativado se o bit de paridade for 0. Se SM2=0, RI sempre ativado, independente do bit de paridade. No modo 0, SM2=0 sempre. REN: em nvel alto habilita recepo. TB8: armazena programao dos bits de paridade dos modos 2 e 3. RB8: nos modos 2/3, armazena o bit de paridade recebido. No modo 1, se SM2=0, RB8 armazena o STOP BIT sendo utilizado por rotinas de correo de erro. No modo 0, RB8 no utilizado. TI: bit indicador de dado transmitido. Necessita ser limpo por software.

39

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

RI: bit indicador de dado recebido. Necessita ser limpo por software. Nos modos 1 e 3, h a necessidade de utilizar-se o timer 1 para a gerao do baud-rate. O timer 1 deve ser programado para o modo de autocarregamento, visto no estudo dos timers. O valor de carga em funo do cristal fornecido no manual (onde temos a frmula de clculo para outros cristais) e reproduzida abaixo: smod Taxa = 2 x (freq. cristal) ---- -------------32 12 x (256 - TH1) Para o cristal de 11.059 Mhz e 6 Mhz temos os valores tabelados abaixo considerando SMOD=0: Baud-rate 9,6 k 4,8 k 2,4 k 1,2 k 110 fcristal 11.059 Mhz 11.059 Mhz 11.059 Mhz 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 transmisso. Exemplos: 1) - Programar o registrador SCON e o TIMER 1 para 8 bits de dado, sem paridade, habilitao de RX e baud-rate de 9600 baunds. Supor a utilizao de cristal de 11.059 Mhz MOV MOV MOV MOV MOV MOV TH1,# 0FD h ;carrega cristal 1 com reload TMOD,# 0010XXXXb ; programa timer 1 c/ reload TCON,# 010X0000b ;roda timer 1 IE,# 10011XXXb ;habilita inter. serial e t1 PCON,#10000000B ;SMOD = 1 SCON, # 01010000b ;modo 1 e rx habilitado

2) - Idem para 8 bits, com paridade, habilitao RX e baud-rate de 2400 baunds.

40

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

3) - Fazer uma rotina de interrupo serial para colocar o dado recebido no endereo indicado por R0. Utilizar a rotina de inicializao do exemplo 1. ORG 0 JMP INICIO ... ORG 23H JMP SERIAL ... ORG 30H INICIO: MOV TH1,# 0FD h ;carrega cristal 1 com reload MOV TMOD,# 0010XXXXb ; programa timer 1 c/ reload MOV TCON, # 010X0000b ;roda timer 1 MOV IE,# 10011XXXb ;habilita inter. serial e t1 MOV SCON, # 01010000b ;modo 1 e rx habilitado ... SERIAL: PUSH ACC MOV A,SBUF MOV @R0,A CLR RI POP ACC RETI 4) - Idem esperando o dado atravs do bit RI WAITRX: ... JNB MOV MOV CLR ... RI,WAITRX A,SBUF @R0,A RI

5) - Transmitir o dado presente na posio de memria indicada por R0. Utilizar a inicializao do exemplo 1 ... ORG MOV MOV MOV MOV MOV ... MOV 30 h TH1,# 0FD h ;carrega cristal 1 com reload TMOD,# 0010XXXXb ; programa timer 1 c/ reload TCON, # 010X0000b ;roda timer 1 IE,# 10011XXXb ;habilita inter. serial e t1 SCON, # 01010000b ;modo 1 e rx habilitado A,@R0

TXBUF:

41

APOSTILA DE TEORIA

MACKENZIE

MICROPROCESSADORES II

MOV SBUF,A JNB TI,$ CLR TI ...

;CARREGA DADO A SER TX ;ESPERA TRANSMITIR

6) - Idem transmitindo a palavra MACK em ASCII. TX: MOV CALL MOV CALL MOV CALL MOV CALL ... MOV JNB CLR RET A,M TX1 A,A TX1 A,C TX1 A,K TX1 SBUF,A TI,$ TI

TX1:

Verificao (C): Exerccios: 1) - Fazer uma rotina para transmitir uma string de uma tabela. Transmitir para um computador a 9600 bps a string . Testar utilizando o Hiperterminal ou qualquer outro programa de comunicao. 2) - Fazer uma rotina para armazenar o dado recebido no endereo 30H (DADO_RX). Setar o flag F_RX quando houver recepo de dados. Se receber a letra , acender o led (P3.3). Se receber a letra apagar o led. Testar este programa com um computador e o KIT. Ao (A):- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de comunicao serial. Importante a utilizao das ferramentas de laboratrio.42APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES II5) Conversores Analgico/DigitaisPlanejamento (P): Este captulo capacitar o aluno a: - Aplicar o conceito de converso analgico / digital a microcontroladores. - Elaborar rotinas de leitura e tratamento de sinais seriais. - Exerccios integrando LCD, Teclado Matricial, Comunicao Serial e conversor A / D.5.1) - Introduo: Sinal Analgico (no discreto) -> Sinal Digital (discreto)Fatores para converso: - Nmero de bits de converso: determina o nmero de valores discretos da converso -> 2n - Valor de Referncia: determina o valor mximo de converso (fundo escala do valor analgico deve ser ajustado para este valor) - Freqncia de Amostragem: determina o perodo entre duas amostras. Pelo Teorema de Nyquest, a freqncia de amostragem no mnimo 2 vezes a freqncia mxima do sinal.43APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIfa = 2 x fmax - Resoluo: determina o valor analgico mximo em relao ao fundo escala V = Vmax / 2n Ex: Para um valor Vmax = 5V, n=12 bits, qual a resoluo do sinal? V = Vmax / 2n V= 5 / 4096 = 1,22 mV Exemplos: 1) - Termmetro : 0 - 100 C Vref = 2,5 V n = 8 bits Qual a resoluo em temperatura, considerando que 100 C equivalente a 2,5 V? Se aumentar o nmero de bits para 10 bits, qual a nova resoluo? Se aumentar a Vref = 5 V e 10 bits, qual a nova resoluo? 2) - Qual a freqncia de amostragem no canal de telefonia?5.2) Conversor A/D ADC 080444APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIFigura - Sistema Mnimo 89S51 / ADC0804 (endereo 2000H - 3FFFH)45APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES II5.3) Rotinas Bsicas: 5.3.1) Rotina de Leitura (LEADC:)Verificao (C): Exerccios: 1) - Projetar um circuito com as seguintes caractersticas: - 89S51 - RAM 62256 (8000-FFFFh) - LCD (end. 0-1fffh) - Serial RS232 - Conversor ADC0808 (end. 2000h-3fffh) com 8 sensores de temperatura. - 1 ventilador (P1.1) - 1 aquecedor (P1.2) - 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. 2) -Idem para a leitura dos outros 7 sensores. Ao (A):- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de comunicao serial. Importante a utilizao das ferramentas de laboratrio.46APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES II6) - Processamento Digital de Sinal Planejamento (P): Este captulo capacitar o aluno a: - Conceituar Processamento Digital de Sinais. - Diferenciar um PDS de um microcontrolador voltado a controle.6.1) INTRODUO AO PROCESSAMENTO DIGITAL DE SINAIS Supressores de eco, eliminadores de interferncias, deteco de incndios florestais, anlise de imagens de satlites metereolgicos, estudo de dados ssmicos, acompanhamento de testes nucleares ou simplesmente anlise de parmetros vocais para identificao ou reconhecimento de voz. Estas so algumas aplicaes possveis do Processamento Digital de Sinais (DSP). DSP diz respeito a representao de sinais atravs de uma seqncia numrica/simblica e o seu posterior processamento para estimar parmetros do sinal original e/ou modific-lo. Este processamento normalmente realizado com o auxlio de algoritmos matemticos, o qual o mais comum a soma de produtos, representada pela frmula: n (1.1) Vout = ai.bi i onde ai e bi representam coeficientes numricos de uma seqncia qualquer de dados obtida de uma determinada entrada amostrada e Vout a sada processada. Apesar de ser uma ferramenta que ficou mais conhecida recentemente com o aperfeioamento da integrao em alta escala dos circuitos integrados e o aperfeioamento de algoritmos numricos, o DSP teve suas origens nos sculos XVII e XVIII com o desenvolvimento de anlises numricas tais como interpolao, integrao e diferenciao. Podemos dizer que at recentemente o processamento de sinais eltricos era basicamente analgico, com algumas honrosas excees, datadas da dcada de 50, onde dados geofsicos eram gravados em fitas magnticas para um posterior processamento em computadores digitais cujo tamanho em nada lembram os modernos "laptops" ou "notebooks" presentes em nossa vida cotidiana. Durante este perodo, os computadores digitais foram mais uma alternativa para a simulao e aperfeioamento de sistemas analgicos, com a converso analgico/digital, processamento e converso digital/analgica final. Este processo foi muito47APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIcomum na implementao dos primeiros codificadores de voz (VOCODERS) pelos Laboratrios Bell e Lincon (M.I.T.), onde as simulaes computacionais foram fundamentais no ajuste dos filtros necessrios para sua execuo. Apesar desta predominncia dos sistemas analgicos, o processamento digital lentamente comeou a diferenciar-se, principalmente com o aumento da complexidade dos algoritmos. Rotinas para filtros homomrficos ou a anlise cepstral foram desenvolvidos apesar de no serem praticveis pela ainda incipiente tecnologia dos semicondutores. Estes novos algoritmos se mostravam bastantes teis nos sistemas de remoo de eco ou de compresso de voz. A grande dificuldade na implementao das tcnicas citadas na poca era o clculo da Transformada de Fourier, praticamente impossvel com os computadores analgicos. Este problema foi minimizado em meados da dcada de 60, com o desenvolvimento de uma classe de algoritmos conhecida como Transformada Rpida de Fourier (FFT). A grande vantagem destas rotinas era a reduo do tempo de processamento, fator fundamental para os sistemas computacionais lentos e caros da poca. Outro fator introduzido pela FFT foi sua concepo de tempo discreto, ao contrrio dos sistemas de tempo contnuo vigentes, auxiliando em muito o desenvolvimento dos algoritmos puramente digitais, diminuindo aquela impresso que o DSP era simplesmente uma aproximao dos sistemas analgicos. Mas mesmo com estes aperfeioamentos, a velocidade ainda era o grande obstculo, principalmente para aplicaes que exigiam tempo real de processamento como os sistemas de reconhecimento da voz. A grande mola propulsora do DSP foi o desenvolvimento da tcnica de fabricao de circuitos integrados a partir da dcada de 70. O surgimento de circuitos integrados em alta escala (LSI) permitiu a implementao de processadores digitais inteiros em um nico chip. Circuitos integrados especializados na execuo de algoritmos aritmticos possibilitaram a implementao de aplicaes em tempo real. Algoritmos para filtros digitais com taxas de amostragens na faixa de megahertz tornaram-se prticos. Processamento de voz e imagens em tempo real j tornouse possvel. Outras reas comearam a ser bastante beneficiadas, como a de telecomunicaes, aumentando a economia e flexibilidade tanto nos sistemas de chaveamento como transmisso. Passaremos a analisar os requisitos bsicos de um circuito integrado dedicado a realizar operaes de DSP, diferenciando-se desta forma dos microprocessadores de uso geral do mercado. Utilizaremos como exemplo o DSP TMS320C25 da Texas Instruments, a despeito de existir um grande nmero de fabricantes no mercado tais como a Analog Devices, AT&T, Motorola e NEC, etc. 6.2) - Caractersticas da arquitetura de um circuito integrado dedicado a DSP:48APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIOs chips dedicados a funes que envolvam DSP apresentam algumas caractersticas comuns que passaremos a analisar: 6.2.1) - Arquitetura Harvard: em contraste com a arquitetura "von Neumann", que apresenta um nico espao de memria para cdigos de operao e dados, os sistemas baseados na arquitetura Harvard possuem duas estruturas separadas de memria para os cdigos do programa e para os dados. Apesar disto exigir um controle maior por parte do processador (pois passam a existir dois controles de barramentos de endereo e dois controles de barramentos de dados), o poder de processamento torna-se muito mais poderoso e principalmente mais rpido, fatores decisivos na execuo dos algoritmos numricos existentes nas aplicaes dos DSPs. 6.2.2) - Unidades para multiplicao e deslocamento separados da unidade lgica aritmtica principal: devido a necessidade de realizar operaes de multiplicao e deslocamentos nos algoritmos numricos, existem unidades separadas para a realizao destas operaes, otimizando-as. Devido a natureza repetitiva destas operaes, um sistema de preveno de "estouro" (overflow) do resultado necessrio. 6.2.3) - Flexibilidade e rapidez na execuo das instrues: alm de unidades separadas para realizao de algoritmos numricos, necessria a realizao destas operaes em ciclos de busca ("fetch") curtos, decodificao e execuo otimizada de forma a diminuir o tempo de execuo das instrues e aumentando consequentemente a velocidade do sistema. Alguns processadores DSP realizam instrues inteiras aritmticas em um nico ciclo de mquina. Outros, como o caso do TMS320C25, utilizam uma estrutura denominada "pipeline", onde em um nico ciclo de clock so realizados simultaneamente o ciclo de busca de uma determinada instruo, o ciclo de decodificao da instruo anterior e o ciclo de execuo de outra instruo. 6.2.4) - Operaes de "loop" incondicional e condicional: algoritmos repetitivos envolvendo operaes lgica/aritmticas constituem uma das principais estruturas utilizadas nos programas de aplicativos de DSPs. Estas estruturas, do tipo "If ... Then" ou "For ... Next", necessitam de instrues de salto incondicional ou condicional que dependem de determinadas condies contidas principalmente nos registradores de "status" do processador, tais como condio de estouro (OVM)), "carry" (C), zero (Z) ou teste/controle (TC). Como j ressaltado, o circuito integrado DSP TMS320C25 ser utilizado como exemplo ilustrativo das caractersticas descritas acima. Este circuito integrado faz parte da segunda gerao de DSPs da Texas, apresentando como principais caractersticas: ciclo de instruo de at 100 ns (para clock de 4049APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIMHz), 544 posies de 16 bits de RAM interna, 4048 posies de 16 bits de ROM interna, 128 K/16 bits de acesso de memria de programa/dados externa e acumulador principal de 32 bits. A figura 1 nos mostra um diagrama em blocos da arquitetura interna do chip em questo.Figura - Arquitetura TMS320C25 (fonte: Texas Instruments) Com o auxlio desta ilustrao analisaremos a seguir as caractersticas gerais fornecidas acima que possibilitam o TMS320C25 desempenhar-se bem em situaes crticas como em tempo real nos aplicativos com DSPs. Pode-se observar a existncia dos sinais PS e DS, responsveis pelo controle da natureza do barramento de dados e controle. Com o sinal PS em nvel baixo, temos o caracterizado o acesso memria de programa. J com o sinal DS em nvel baixo temos o controle da memria de dados, caracterizando a arquitetura Harvard explicada no item 2.1). A figura a seguir nos mostra um detalhamento maior da unidade aritmtica do TMS320C25. Pode-se observar unidades independentes para multiplicao,50APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIcom a presena de um registrador temporrio de 16 bits (TR) e um registrador de de produto (PR) de 32 bits para armazenamento do resultado. Temos tambm uma unidade de deslocamento (bloco "Scaling Shifter") com capacidade tambm de 16 bits. Finalmente a figura mostra a unidade aritmtica principal (ALU) com capacidade de 32 bits, acumulador principal composto de 2 registradores de 16 bits (ACCH e ACCL), bit carry (C) e dois registradores especiais para execuo de rotaes para a esquerda (SFL) e direita (SFR), dotando desta forma o sistema com uma grande capacidade de processamento aritmtico, conforme indicado no item 6.2.2).Figura - Estrutura ULA x MUL TMS320C25 Como j foi ressaltado, para agilizar a execuo das instrues, o TMS320C25 utiliza a operao "pipeline", representada na figura a seguir. Podese observar a execuo simultnea de busca, decodificao e execuo de 2 ou 3 instrues simultaneamente, aumentando grandemente a velocidade de execuo das rotinas.51APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIFigura - Sistema Pipeline Finalmente, o TMS320C25 dotado de uma srie de instrues de salto condicional e incondicional viabilizando a execuo de estruturas com "loops", to fundamentais nas rotinas de DSP, tornando-as mais simplificadas e menores. 6.3) - Concluso: Apesar do grande avano que sistemas baseados em D.S.P. sofreram com o desenvolvimento da integrao em alta escala produzindo chips especficos , tais como o analisado neste artigo, e com algoritmos numricos mais poderoso, no se v saturao nas aplicaes deste sistemas. Nos prximos anos a rea de telecomunicaes, de processamento de imagem e som e sistemas de controle sero ainda muito beneficiadas, proporcionando economia e flexibilidade aos sistemas citados. 6.4) - Bibliografia para P.D.S.: - DISCRETE-TIME SIGNAL PROCESSING. Oppenhein e Schafer. Prentice Hall,1989 - A SIMPLE APPROACH TO DIGITAL SIGNAL PROCESSING. Marven, Craing e Ewers Gillian. Wiley Interscience. - DIGITAL SIGNAL PROCESSING A LABORATORY APPROACH USING PCDSP. Alkin, Oktay. Prentice Hall - DIGITAL SIGNAL PROCESSING APPLICATIONS WITH THE TMS320 FAMILY. Texas Instruments.52APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIVerificao (C): Exerccios: 1) - Mostrar 3 diferenas na arquitetura de uma CPU voltada para controle de um sistema voltado para anlise de sinais. 2) - Cite 5 aplicaes tpicas de PDS. Qual a caracterstica da arquitetura do PDS favorecem a escolha para cada uma das 5 aplicaes. 3) - Pesquisar a atual famlia de PDS da Texas Instruments (TMSC2xx, TMS320C5xx e TMS320C6xx). 4) - Pesquisar um algoritmo de filtro digital FIR e encontrar um programa em Assembler para o TMS320Cxxx. 5) - Pesquisar as caractersticas do Start Kit para a famlia TMS320C5xx e o ambiente de desenvolvimento disponibilizado para a famlia de PDS da Texas.Ao (A):- Havendo problemas no resultado dos exerccios propostos, estudar o conceito de Processamento Digital de Sinais.53APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IISEMINRIOS DE MICROPROCESSADORES Apresentar os seguintes itens no trabalho relativo ao microcontrolador escolhido: - CARACTERISTICAS BSICAS - ARQUITETURA BSICA - MAPEAMENTO DA MEMRIA INTERNA/EXTERNA - DESCRIO BSICA DOS REGISTRADORES DE CONTROLE (TIMER, INTERRUPO, SERIAL, WATCH-DOG, ETC.) - CONJUNTO DE INSTRUES MOSTRANDO APENAS O SIGNIFICADO BSICO DAS MESMAS. - APLICAO TPICA LISTA DE MICROCONTROLADORES: MICROCHIP (WWW.MICROCHIP.COM) PIC10F200 PIC16F628A PIC18F1320 TEXAS INSTRUMENTS (WWW.TI.COM) MSP430F135 MOTOROLA (WWW.MOTOROLA.COM) 68HC11 NATIONAL SEMICONDUCTOR (www.national.com) COP 8 CYPRESS (www.cypress.com) PSOC54APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIPRIMEIRO TRABALHO DE MICROPROCESSADORES II Turma: 8F 1)a) - Fazer uma rotina para habilitar as interrupes seriais, timer 1 e externa 0, dando prioridade para a comunicao serial. b)- Um microcontrolador desenvolvido no Laboratrio de Microprocessadores do Mackenzie (MACK3) possui uma entrada de reset ativa em nvel baixo, entrada de cristal at 20 Mhz, memria FLASH de 4 Kbytes (sem acesso a memria externa) e 2 ports de comunicao (Port PA com 8 bits e Port PB com 6 bits). Fazer um esquema mostrando a ligao do MACK3 com um display LCD de 2 linhas x 20 caracteres. 2) - Imaginando que voc esteja fazendo um trabalho voluntrio para o GreenPeace, foi encomendado um controlador ecolgico para impedir um gasto desnecessrio de energia de escola com at 5 salas com as seguintes caractersticas: -Microcontrolador 8031 com Eprom 27512, Cristal de 32 Khz, Reset automtico e manual. -Display LCD 2 x 16 com endereo de acesso 4000H-5FFFH. -Entrada de 5 sensores de presena infra-vermelho. -Sada para 5 contatores que controlaro 5 sistemas de iluminao. -Comunicao Serial. -Entrada de um boto de emergncia ligada a INTERRUPO 0. 3) - Em relao ao projeto acima, fazer os seguintes programas separadamente: a)-Fazer um programa para que o primeiro sensor ligue a segunda sada em nvel alto e desligue em nvel baixo. Ficar em loop. b)-Fazer um programa para escrever no display a mensagem "GREEN PEACE" "CONTROLADOR". Configurar o display para 2 linhas, sem cursor, deslocamento a direita. Fazer a rotina de escrita no display. c)-Fazer um programa para incrementar a posio 50H da memria interna todas as vezes que o boto de emergncia for acionado. Utilizar a interrupo. 4) a) - Qual a funo dos sinais Enable e C/D em um mdulo de display? O que um back-light em um display de LCD? Mostre 1 vantagem e uma desvantagem de um display de LCD. b) - Mostrar um esquema de um sistema com o 8951 e um mdulo com o Display de LCD utilizando apenas os Ports P0 e P1 (modo de acionamento direto sem mapeamento de memria). Fazer uma rotina para escrever a letra do seu primeiro nome no display.55APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES IIc) - Suponha que voc esteja projetando um microcontrolador com um temporizador T de 16 bits, vetor com endereo 06h e com contador DECRESCENTE a cada pulso de entrada do timer. Os registradores de controle so iguais ao do timer T0 do 8051. Explicar o conceito do vetor 06h. O que existe (qual rotina) neste endereo do programa? Supondo que a freqncia de contagem na ENTRADA do timer seja de 100 Khz, calcular o valor do temporizador T para o tempo de 3 milisegundos. Fazer uma rotina de inicializao para o timer T. 5)- Voc o engenheiro da empresa ELEICOES ELETRONICAS e responsvel pelo projeto de uma urna eletrnica com as seguintes caractersticas: -Microcontrolador 8951, cristal de 8 Mhz, Reset automtico e manual. -Display de LCD com endereo entre 0 e 1fffH -Entrada para 10 teclas numricas e 3 teclas de funo (CORRIGE, BRANCO, CONFIRMA). Um sistema lgico ativa a interrupo externa 1 quando acionada uma tecla. -1 alto-falante (buzzer). 6) - Fazer em Linguagem Assembler separadamente os seguintes programas: a) (1,5 pontos) - Inicializar o display (2 x 16 linhas, com cursos piscando, escrevendo da esquerda para a direita). Escrever no display: URNA ELETRONICA CANDIDATO: b) (1,5 pontos)- Fazer um programa para guardar a posio das teclas na memria a partir do endereo 25H. Se for digitada a tecla CORRIGE, ligar o buzzer por 1 segundo. 7) - Fazer um projeto com um microcontrolador 8031 com as seguintes caractersticas: - Projeto de um torno microprocessado CNC. - Cristal com freqncia de 11.059 Mhz e reset automtico. - Display LCD inteligente possuindo 2 linhas e 20 caracteres (endereo 001FH). - Comunicao full-duplex com dado de 8 bits, start e stop/bit, sem paridade, 9600 baunds e interface RS232 com line drivers MAX 232. - Sada para controle de 2 motores trifsicos, 3 indicadores luminosos (lmpadas) e uma chave. - Conversor ADC 808 de 8 canais (endereo 20H-3FH). 8) - Fazer os seguintes programas para o projeto acima:56APOSTILA DE TEORIAMACKENZIEMICROPROCESSADORES II- Inicializao da interface serial, do sistema de interrupo habilitando a interrupo serial e display configurando-o para deslocamento de mensagens a esquerda e sem cursor. Colocar comentrios indicando cada comando. - Rotina para escrever na linha superior do display o seu nome completo centralizado (abreviar os nomes do meio se necessrio) e o seu nmero de matrcula na linha de baixo. - Rotina para receber dados pela interface serial atravs da interrupo serial, colocando os dados recebidos na posio de memria 50H. - Ler o canal 3 do conversor ADC, colocar o valor lido no endereo 40 H. - Ligar os 2 motores se a chave estiver em nvel alto 9)- Vamos supor que voc esteja programando um novo microcontrolador que possua um temporizador interno com as seguintes caractersticas: Contador DECRESCENTE de 16 bits. Entrada para o temporizador externo (pino TENTR) que decrementa o temporizador de 1 unidade a cada pulso. Interrupo com endereo 0010H Registradores de modo (TMOD) e controle (TCON) idnticos ao 8051. Mneumnicos para programao em linguagem Assembler compatvel com o 8051. a)- Supondo a entrada de um sinal de 100 Khz na entrada TENTR, qual o nmero a ser colocado dentro do timer para o mesmo fornecer um tempo de 10 mseg? Justificar mostrando o clculo b)- Fazer um programa em linguagem Assembler para incrementar apenas o registrador R3 a cada 10 mseg. 10)- Fazer um projeto com o microcontrolador 8031 com as seguintes caractersticas a) - Cristal de 8 Mhz. Reset automtico e manual. Sada para controle de 3 motores (representar o acionamento apenas de 1 motor). Entrada do contador externo (interrupo externa 1). Entrada de 1 chave para controle dos motores. Display de L.C.D. com endereamento de 2000H a 3FFFH. b) - Fazer um programa para ler a chave a cada 1 mseg. Se a chave estiver em nvel alto, ligar todos os motores. Caso contrario, deslig-los. c)- Fazer um programa para incrementar o registrador R5 a cada pulso do contador externo (elaborar apenas a rotina de interrupo) .57