apostila processadores 2

download apostila processadores 2

of 58

Transcript of apostila processadores 2

  • 8/8/2019 apostila processadores 2

    1/58

    www.mackenzie.com.br

    APOSTILA

    MICROPROCESSADORES II - EEUM

    SEGUNDO SEMESTRE 2006

    PROF. IVAIR REIS N. ABREU

    02/08/2006

  • 8/8/2019 apostila processadores 2

    2/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    2

    PLANEJAMENTO DIDTICO PEDAGGICO DA DISCIPLINAMICROPROCESSADORES II SEGUNDO SEMESTRE 2006

    ESCOLA DE ENGENHARIA UPM

    UNIDADE: Engenharia Eltrica DISCIPLINA: Microprocessadores II

    PROFESSOR: Mst. Ivair Reis Neves Abreu

    Departamento: Eletrnica ETAPA: 8 CARGA HORRIA: 2 aulas

    Introduo: a proposta deste planejamento pedaggico baseia-se no processode Qualidade Total (TQM) tendo como base o principio PDCA, ou seja, PLAN,

    DO, CHECK e ACT. O planejamento o prprio documento proposto, comobjetivos, pr-requisitos, plano de aulas, avaliao e bibliografia deixando bemclaro a proposta do curso de forma a ajustar as expectativas necessrias. Anfase no ciclo e no apenas no processo de avaliao (comum em cursospedaggicos) leva a entender que o objetivo o processo de capacitao doaluno dentro do objetivo proposto atravs de um plano de aulas gradual,acompanhada de verificaes contnuas e principalmente processo de aocorretiva.

    Internet -> no site www.ivair.com.br, ler texto de Sistema PDCA e acessar linksdeSistemas da Qualidade

    07/06/2006 10/12/2006x------------------------------------------------------------------xPr-Requisito -> 14 semanas -> Objetivo Final

    OBJETIVOS: o aluno dever adquirir os conceitos bsicos de sistemas com

    microcontroladores, processadores digitais de sinal e embbeded PC . Com estesconceitos ser obtido a capacitao em projetos com microcontroladores e seus principaisperifricos (LCD, Teclado Matricial, Comunicao Serial e Conversor A/D) e programaodestes sistemas em linguagem Assembler com nfase em estruturas utilizadas emlinguagem C.

    EMENTA:

  • 8/8/2019 apostila processadores 2

    3/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    3

    Reviso de Conceitos de Microprocessadores (Arquitetura e Linguagem Assembler)e Microcontrolador (famlia 8051)

    Sistema de Interrupo Microcontrolador 8051Estudo de Interfaces para Controle com Microcontroladores 8051Projetos com microcontroladores 8051.Estudo dos microcontroladores MSP430, Z8, Freescale e PIC.Introduo ao estudo de Processadores Digitais de Sinais

    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 abordadosdiretamente 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 - 02/10/2006P2 = segunda prova semestral. - SECRETARIAT1 = Trabalho MicrocontroladoresLab = laboratrio

    Mdia > 7 -> aluno aprovado5,5 80%Se mdia < 5 -> aluno reprovado

    CONTEDO PROGRAMTICO

    - Reviso de Conceitos de Microprocessadores (Arquitetura e LinguagemAssembler) e Microcontrolador (famlia 8051)

    - Estudo do Sistema de Interrupo do microcontrolador 8051. Aplicaes.

    - Estudo do Sistema de Temporizao do microcontrolador 8051. Aplicaes.- Interface para teclados e displays com varredura. Aplicaes.- Interface para display de cristal lquido. Aplicaes.- Conversores A/D e D/A com microcontroladores- Projetos completos de sistemas de controle com microcontroladores 8051.- Estudo dos microcontroladores MSP430, Z8, 6811 e PIC (Seminrios).- Introduo ao estudo de Processadores Digitais de Sinais. Diferenas bsicas em

    relao aos processadores tradicionais. Estudo da Arquitetura do TMS320. Sistemas

  • 8/8/2019 apostila processadores 2

    4/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    4

    Mnimo com o TMS320. Estudo da rotina de filtro finito (FIR) e digitalizao de sinais deudio.

    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.- 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.comwww.8052.comwww.vidal.com.brwww.asm51.eng.brwww.icmaster.comwww.microchip.comwww.ti.comwww.zilog.com

    www.freescale.comwww.cypress.comwww.asm51.eng.br

    Plano de Aula: Segundo Semestre de 2006

    Incio: 07/08/2006Trmino: 27/11/2006Prazo entrega final das notas: 14/12/2006Falta Prevista: -Aulas Previstas: 13 aulas de teoria.

  • 8/8/2019 apostila processadores 2

    5/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    5

    1) - Reviso da Arquitetura do Microcontrolador 8051

    Planejamento (P):

    Este captulo capacitar o aluno nos seguintes pontos:

    - Reviso dos conceitos de sistemas programveis.- Reviso da arquitetura 8051.- Reviso do conjunto de instrues 8051.- Reviso dos conceitos de LCD- Exerccios de CLP + LCD.

    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 2sinais de leitura (PSEN -> rea de programa - RD -> rea dedados). Esta estrutura conhecida como 'arquiteturaHARVARD'.

    - 256 instrues otimizadas para controle.

    1.2) - Arquitetura do Microntrolador 8051:

  • 8/8/2019 apostila processadores 2

    6/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    6

    Figura Arquitetura MCS-51

    1.2.1) - Pinagem:

    - Vcc,Gnd: alimentao nica de 5 V.

    - X1-X2: conectada ao cristal externo (12 Mhz tpico).O sistema de temporizao interno divide a frequncia docristal por 12, proporcionando um ciclo tpico de mquina de1 mseg.

    - RST: entrada de inicializao ativa em nvel alto__- EA ("external acess"): em nvel baixo, desabita os 4

    kbytes de memria de programa interna. Toda a busca deinstruo realizada externamente (atravs de uma EPROM).Em nvel alto habilita a memria interna.

    - ALE ("Address Latch Enable"): na utilizao dememria de programa externa, este pino tem a funo deindicar a presena de endereo (em nvel alto) ou dado (emnvel baixo) no barramento de endereo/dado multiplexado(AD0-AD7).

    ____

  • 8/8/2019 apostila processadores 2

    7/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    7

    - PSEN ("Program Strobe Enable"): em nvel baixo indicaleitura de uma instruo da rea de programa. Normalmente

    ligado ao pino RD da memria de programa.- Port P0 (P0.0-P0.7): seus 8 pinos podem ter dupla

    funo. Se no houver memria externa, so utilizados comosinais de entrada/sada do "latch" bidirecional P0. Sehouver memria externa, atua como 8 sinais multiplexados dedados/endereo (AD0-AD7). O sinal de ALE indica a condiodeste barramento.

    - Port P1 (P1.0-P1.7): 8 pinos de entrada/sada do"latch" bidirecional P1.

    - Port P2 (P2.0-P2.7): seus 8 pinos tambm podem ter

    dupla funo. Se no houver memria externa com mais de 256endereos, so utilizados como sinais de entrada/sada do"latch" bidirecional P2. Se houver necessidade deendereamento maior que 8 bits, atua como 8 sinais deendereo A8-A15.

    - Port P3 (P3.0-P3.7): novamente, seus 8 sinais temdupla funo:

    - P3.0: RxD (recepo serial) / port P3.0- P3.1: TxD (transmisso serial) / port P3.1- P3.2: INT0 (interrupo 0) / port P3.2- P3.3: INT1 (interrupo 1) / port P3.3

    - P3.4: T0 (entrada Timer 0) / port P3.4- P3.5: T1 (entrada Timer 1) / port P3.5- P3.6: WR (sinal de escrita da RAM externa)/port

    P3.6- P3.7: RD (sinal de leitura da RAM externa)/port

    P3.7

    1.2.2) - A memria RAM interna:

    - rea de Registradores R0-R7 (00-1FH): o 8051 possui 4bancos de registradores selecionados atravs dos bits RS1 eRS0 do registrador PSW. Normalmente estes registradores

    armazenam endereos da rea de rascunho (modo deendereamento indireto).

    - rea Booleana (binria) (20H-2FH): 16 bytesendereados bit a bit (totalizando 128 bits). Pode-seacessar cada bit individualmente indicando uma determinadacondio binria (por exemplo: a tecla A de um teclado foiacionada). Estes bits so acessados pelas instruesbooleanas do 8051.

  • 8/8/2019 apostila processadores 2

    8/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    8

    - rea de Rascunho (30H-7FH): memria de uso geral ondese localiza a pilha do sistema.

    - rea de Registradores Especiais (SFR) (80H-FFH): reaonde se localiza todos os registradores com funo especial.O nmero destes registradores varia de acordo com as funesdisponveis dentro do processador. Os registradoresespeciais mais comuns so:

    - PO (80H): port P0.- P1 (90H).- P2 (A0H).- P3 (B0H).- ACC (E0H): acumulador.- B (F0H)

    - PSW (D0H): registrador de status- SP (81H): apontador de pilha- DPL (82H): byte menos significativo do

    registrador DPTR.- DPH (83H): byte mais significativo do

    registrador DPTR.- PCON (87H): registrador de controle de consumo

    do 8051.- IE (A8H): registrador de habilitao do sistema

    de interrupes.- IP (B8H): registrador indicador de prioridade do

    sistema de interrupo.- TMOD (89H): registrador de modo dos timers.

    - TCON (88H): registrador de controle do timer 1- T2CON (C8H): registrador de controle do timer 2.- TL0 (8AH): byte inferior do timer 1.- TH0 (8CH): byte superior do timer 1.- TL1 (8DH): byte inferior do timer 2.- TH1 (8BH): byte superior do timer 2.

    1.3) - Cdigos de operao do microcontrolador 8051:

    (Ver conjunto de instrues anexo 1 e 2)

    1.4) Projeto Bsico de Controle:

    1.4.1) - CLP Bsico:

    - 1 sensor fotoeltirco / 1 lmpada- Firmware para controlar lmpada atravs do sensor fotoeltrico.

  • 8/8/2019 apostila processadores 2

    9/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    9

    Fazer o mesmo projeto com o 10F200 e 16F628A (www.microchip.com)

    1.4.2) - Forno de Microondas com o 8031.

    - Sadas: 1 motor de prato1 lmpada1 vlvula microondas1 bip (buzzer)

    - Entradas: 1 chave liga/desliga1 chave da porta2 chaves gerais

    - Firmware: Se a chave liga/desliga estiver acionada e a porta fechada ligar todas as sadas

    (menos o bip) por 1 minuto. Aps este tempo, acionar o bip por 0,5 segundo e voltar aonicio do processo. Se a porta abrir durante o tempo de 1 minuto, desligar as sadas eesperar a porta fechar para finalizar processo.

    Verificao:

    1.5) Exerccio:

    1) - Sistema de Automao de Iluminao de um escritrio com o 89S51 (www.atmel.com)- Sadas: 2 lmpadas externas.

    8 lmpadas internas (1 para cada sala).

    - Entradas: 1 sensor fotoeltrico para controle das lmpadas externas.1 sensor de presena em cada sala.

    - Firmware:lmpadas externas-> ligar quando o sensor fotoeltrico estiver indicando escuro.lmpadas internas -> ligar quando for detectada a presena de alguma pessoa na

    sada. Desligar na ausncia.

    2) - Fazer um projeto com as seguintes caractersticas:

    - 89S53- Teclado 16 teclas- Comunicao serial RS232- Conversor A/D de 8 canais (ADC0808) -> 0-1fffh- Display 16x2 -> 2000h-3fffh- 1 chave liga/desliga- 1 solenide

  • 8/8/2019 apostila processadores 2

    10/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    10

    - 1 lmpada- 1 sensor fotoeltrico

    Em relao da projeto fsico acima, fazer os seguintes programas:

    3) - Considere que voc trabalhe em uma empresa e um grande cliente da reaautomobilstica solicitou o projeto de um computador de bordo com as seguintescaractersticas: processador 89S51 com WatchDog interno, display LCD ligado aos ports, 2sadas de leds, 2 sada para solenide, 2 botoeiras, 1 sada buzina e um modem GSM ligadoa interface serial.a)Fazer o circuito do computador acima considerando a ligao do display LCD no port P0e o sinais de controle no port P1.b) Piscar seqencialmente os 2 leds (intervalo de 0,5 segundos). Se o segundo boto

    estiver em zero ligar o primeiro solenide. Caso contrrio desligar o primeiro solenide.Ficar em loop.

    Ao

    - Rever os conceitos de arquitetura do microcontrolador 8051.- Rever conjunto de instrues 8051.- Procurar o professor ou monitor para tirar dvidas

    1.6) - Interface para Display de Cristal Lquido (L.C.D.):

    A figura a seguir mostra os principais controles destes tipos de displays:

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

  • 8/8/2019 apostila processadores 2

    11/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    11

    Figura - Display 16 x 2 (www.displaytec.com.br)

    Descrio dos sinais:

    - D0-D7: barramento de dados com dupla funo: envio dos comandos deprogramao do display (posicionamento do cursor, endereo do caracter a serutilizado, etc.) e dos dados a serem escritos no display.

    _

    - C/D (RS): em nvel baixo, indica que o barramento de dados D0-D7carrega a informao de controle (configurao geral do display). Em nvel alto,informao de dados (informao a ser mostrado no display). Sinal normalmenteligado 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 E2para 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 pontoshorizontais

    - Display 16x1, caracter 8x5

  • 8/8/2019 apostila processadores 2

    12/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    12

    - 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).

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

  • 8/8/2019 apostila processadores 2

    13/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    13

    Controle (C/D = 0)

    Com o sinal C/D colocado em nvel baixo temos a configurao bsica dodisplay. 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

    Para o posicionamento do cursor/mensagem dentro do display basta fornecermoscomo comando o endereamento da tabela de endereamento do displayfornecida abaixo:

    1P 2P 3P ...... 39P 40P

    1 L -> 80H 81H 82H A6H A7H2 L -> C0H C1H C2H E6H E7H

    Programao de Dados (C/D = 1)

    Para a escrita de dados no display, colocamos o comando C/D em nvelALTO (endereo impar). O display necessita ser inicializado e o cursorposicionado na posio do primeiro caracter. Uma vez posicionado este caracter,automaticamente o display incrementa a posio do cursor, no necessitando dereprogramaes constantes do posicionamento do display.

    Verificao (C):

    Exerccios:

    1) Fazer um projeto de um CLP com as seguintes caractersticas:

  • 8/8/2019 apostila processadores 2

    14/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    14

    - 89S52 com sensor de presena em P3.2, ventilador P3.3 e uma lmpada em P3.4. LCD noendereo E000-FFFFh.

    - Fazer uma firmware para escrever no LCD

    " REVISAO "" MICROCONTROLADOR"

    e 1 segundo depois indicar no LCD a condio de SALA VAZIA / SAIDASDESLIGADAS ou SALA OCUPADA / SAIDAS LIGADAS.

  • 8/8/2019 apostila processadores 2

    15/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    15

    2) Supervisrio (Watch Dog) e Controle Potncia

    Planejamento (P):

    Este captulo capacitar o aluno nos seguintes pontos:

    - Inicializao do Supervisrio WDT do 89S51.- Modos Idle e Power Down do 89S51

    Execuo (D):

    2.1 Supervisrio (watch dog)

    O registrador Watch Dog um timer incrementado pelo sinal do oscilador (1/12fcristal) que quando atinge o valor de 3fffh (14 bits) inicializa o sistema. Paraativar o Watch Dog ou reinicializ-lo basta escrever 01Eh e 0E1h na seqncia noregistrador WDTRST (registrador SFR -> endereo 0A6h)

    Rotina de Inicializao:

    wdtrst equ 0a6h

    INIWDT: mov wdtrst,#01ehmov wdtrst,#0e1h

    Para clock de 12 Mhz o WDT precisa ser reinicializado a cada (1 x 3fffh = 16,8mseg.)

    2.2 Controle de Potncia:

    Registrador PCON: registrador SFR (endereo 087h)

    PCON: SMOD - - - GF1 GF2 PD IDL

    SMOD: nos modos 1,2 e 3 de operao do SBUF, SMOD=1 dobra ataxa de transmisso binria (ser estudada na comunicao serial).

    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

  • 8/8/2019 apostila processadores 2

    16/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    16

    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.

    pcon equ 087h

    mov pcon,#00000010b ;modo power downmov pcon,#00000001b ;model idle

    Verificao (C)

    1) Fazer um projeto de um sistema de controle de iluminao com as seguintescaractersticas:

    - 89S51- 1 chave (P1.0) para desligar sistema.- Cristal de 11.059Mhz- 1 sensor de presena (P1.1).- 3 lmpadas (P1.2 a P1.4).- 3 ventiladores (P1.5 a P1.7)- Display LCD (endereo 2000-3fffh).

    Ligar as sadas se houver presena na sala. Colocar no LCD a mensagem< SAIDAS ATIVADAS>. Caso contrrio desligar as sadas e colocar a mensagem

    < SAIDAS DESATIVADAS>. Se for acionada a chave P1.0 colocar o sistema emPower Down. Inicializar o sistema de WDT.

    Ao

    - Rever os conceitos de WDT e controle de potncia do 8051.

  • 8/8/2019 apostila processadores 2

    17/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    17

    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 anteriorMicroprocessadores I.

    Particularizando o conceito para o microcontrolador 8051, esta famliapossui 5 interrupes com vetores fixos, com a prioridade mais alta podendo serprogramada pelo registrador IP. O nvel de prioridade default e os vetores deinterrupo so apresentados abaixo:

    IE0 (interrupo externa 0) -> 0003H -> + prioridadeTF0 (interrupo do timer 0) -> 000BHIE1 (interrupo externa 1) -> 0013HTF1 (interrupo do timer 1) -> 001BHSRT (interface serial) -> 0023H -> - prioridade

    As interrupes do 8051 so do tipo nesting , ou seja, a interrupo acontecendoINTERROMPE o programa e a interrupo que est sendo executada, desde quetenha a prioridade mais alta (ver IP abaixo). Se o nvel for a mesma serobedecida a prioridade interna acima. As interrupes externas so sensveis aborda de subida ou a nvel (alto). As interrupes do timer so ativadasinternamente 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 interrupesES: em nvel baixo, desabilita interrupo serialET1: em nvel baixo, desabilita interrupo do timer 1

  • 8/8/2019 apostila processadores 2

    18/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    18

    EX1: em nvel baixo, desabilita interrupo externa 1ET0: 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 eativar a interrupo serial.

    3) - Supondo uma chave (ativa em nvel alto) ligada a IE0 (pino 3.2), gerar umpulso 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 eemular 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 seguinteconfigurao:

    - Display de LCD (end. 2000-3fffh). Mensagem padro: CONTROLADOR DEACESSO.

    - Catraca com sensor tipo reed switch entrando a interrupo IE0. Contar onmero de eventos incrementando o registrador 30H (a partir do zero) tocando umbuzzer (P1.0) por 0,5 segundos a cada acesso. Quando o valor do registrador30H chegar a 100 pessoas, acionar o buzzer por 5 segundos colocando pelomesmo 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.

  • 8/8/2019 apostila processadores 2

    19/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    19

    Ao (A):

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

    3.2) - Aplicao de interrupo externa -> Sistema de Leitura direta de teclas.

    Achave lida de forma direta pelo microcontrolador. Apesar da grandesimplicidade de programa para a leitura das chaves, apresenta comodesvantagem 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 lercada chave colocar sua condio nos bits 20.0H a 21.7H (endereos binrios 00a 0Fh).

    Figura - Varredura direta de 16 teclas

    Pode-se observar que o acionamento de qualquer tecla provoca umainterrupo INT0. Portanto, o programa de tratamento das teclas deve-selocalizar no endereo da interrupo externa 0 (03H):

    ;* PROGRAMA DE LEITURA DE 16 TECLAS DOS PORTS P1 E P2

    ORG 0JMP INICIO

  • 8/8/2019 apostila processadores 2

    20/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    20

    ORG 03h

    JMP LETEC ;SALTA PARA A LEITURA DAS TECLAS

    ORG 30H ;INICIO NORMAL DO PROGRAMAINICIO: MOV SP,#PILHA

    MOV IE,#10000001B...

    ;* ROTINA DE TRATAMENTO DO TECLADOLETEC: PUSH PSW

    MOV C,P1.0 ;LE TECLA 0MOV 20.0,C ;COLOCA TECLA 0 NA AREA BOOLEANAMOV C,P1.1MOV 20.1,C

    .

    .

    .MOV C,P2.7 ;LE LTIMA TECLAMOV 21.7,CPOP PSWRETI

    Verificao (C):

    Exerccio

    1) - Fazer um programa utilizando a rotina de leitura de teclado acima para a tecla3 ligar um led (P3.4) e a tecla 4 desligar o mesmo led. Emular este programa nosimulador 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.Ao (A):

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

  • 8/8/2019 apostila processadores 2

    21/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    21

    3.3) - Sistema de temporizao (Timers) 8051:

    O microcontrolador da famlia 8051 possui 2 timers de 16 bits. Seu nmeroprogramado incrementado por pulsos externos (dos pinos Tin1 e Tin2) ou peloclock interno de 1/12 fcristal. Quando o nmero do timer chega a zero, ainterrupo 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 narea de registradores especiais (SFR) que somados formam o contador de 16bits.

    - Registrador TH1 e TL1: registradores de 8 bits do timer 1 localizado narea de registradores especiais (SFR) que somados formam o contador de 16bits.

    - 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 dopino 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 ofuncionamento do timer.-

    C/T: em nvel alto, coloca o timer como contador dos pulsos da entradaTin1 (externa). Em nvel baixo, o timer acionada pelo sinal de freqncia 1/12do oscilador interno.

    M1 M0 : controla modo de operao do timer

  • 8/8/2019 apostila processadores 2

    22/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    22

    0 0 -> possuiu um divisor de 5 bits (TL) e umcontador de 8 bits (TH)

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

    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 naentrada do pino Tin0.

    IT0: em nvel alto indica pulso positivo na entrada do pinoTin0. Em nvel baixo indico pulso negativo.

    Ex.: Configurar o timer 0 para temporizao de 16 bits e timer 1 paratemporizador de 8 bits com carregamento automtico. Colocar o nmero 0AB5Hno timer 0 e 20H no timer 1.

    Verificao (C):

    Exerccios

    1) - Qual o tempo mximo possvel de ser implementado pelos timer 0 e 1 seutilizarmos 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 otempo mximo de temporizao se recebermos um sinal externo quadrado de 1Khz?

    4) - Calcular o valor a ser configurado o timer do 8051 para fc = 12 Mhz e tempodo 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 rotinapara a cada 100 mseg (supor que o cristal do microcontrolar de 6 Mhz) o sensorde nvel de um posio da chave localizada no port P1.0 seja armazenado na

  • 8/8/2019 apostila processadores 2

    23/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    23

    posio de memria booleana 20.0H. Se a chave estiver em nvel alto, ligar umavlvula 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 ESIMULAR 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 asvlvulas). Utilizar Timer 1 com tempo de leitura de 30 msegundos e cristal de 12Mhz. Escrever em um LCD < CONTROLE DE 4 TANQUES>.

    8) - Fazer um programa para o port P1.0 gerar um pulso de 0,5 segundo quando10 garrafas passarem por um feixe luminoso. Utilizar o timer 0 configurado comocontador.

    9) - Gerar um sinal de 10 Khz no port P1 utilizando o Timer 0. Idem para 5 Khz e2 kHz.

    10) - Fazer um relgio de 1 segundo (utilizando T0, fc = 12 Mhz). Colocar nodisplay o valor do dgito. Dica: criar um contador de 20 eventos para um timer de50 msegundos.

    11) - Utilizando o kit do laboratrio, fazer o led do kit piscar 2 vezes por segundoutilizando o timer 0. Escrever no LCD

    Ao (A):

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

  • 8/8/2019 apostila processadores 2

    24/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    24

    3.4) - Sistema de varredura de Teclado/Display.

    As teclas esto localizadas na interseco de linhas (portsde sada) ecolunas (portsde entrada). Ao acionar uma determinada tecla, o sinal da linha colocado na coluna para ser lida. Um sistema de varredura (com freqnciasuperior da freqncia de toque das teclas) garante um sinal em nvel alto (oubaixo) durante um pequeno perodo suficiente para ser reconhecido pelo portdeentrada 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. Utilizaros 4 bits P1.0 a P1.3 para gerar os sinais de varredura. Fazer um programa paraler cada chave colocar sua condio nos bits 20.0H a 21.7H. Ler o teclado acada 10 mseg. utilizando o timer 0.

    ;* timer 0 -> 0d8efH (calculado no exerccio 5 - item 2.3)

    ;* definio dos ports

    COLUNA1 BIT P1.0COLUNA2 BIT P1.1COLUNA3 BIT P1.2COLUNA4 BIT P1.3LINHA1 BIT P1.4LINHA2 BIT P1.5LINHA3 BIT P1.6LINHA4 BIT P1.7

  • 8/8/2019 apostila processadores 2

    25/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    25

    ;* definio da rea boolena

    CHAVE1 EQU 0 ;*POSIO 20.0CHAVE2 EQU 1CHAVE3 EQU 2CHAVE4 EQU 3CHAVE5 EQU 4CHAVE6 EQU 5CHAVE7 EQU 6CHAVE8 EQU 7CHAVE9 EQU 8CHAVE10 EQU 9CHAVE11 EQU 0aH

    CHAVE12 EQU 0bHCHAVE13 EQU 0cHCHAVE14 EQU 0dHCHAVE15 EQU 0eHCHAVE16 EQU 0fH ;POSIO 21.7

    ;* INICIO DO PROGRAMA

    ORG 0JMP INICIO

    ORG 0BH ;TIMER 0JMP LECHAVE

    ORG 30HINICIO: MOV SP,#60H

    MOV IE,#10000010B ;HABILITA TIMER 0MOV TH0,#0D8H ; TIMER 0 - 10 MSEG.MOV TL0,#0EFHMOV TMOD,#00010001BSETB TR0 ;LIGA TIMER0CLR TR1 ;DESLIGA TIMER1

    .;*SUBROTINA DA INTERRUPO

    LECHAVE: MOV TH0,#0D8HMOV TL0,#0EFHMOV 20H,#00H ;ZERA REA BOOLENAMOV 21H,#00HSETB LINHA1 ;SETA LINHA1

  • 8/8/2019 apostila processadores 2

    26/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    26

    SETB LINHA2SETB LINHA3

    SETB LINHA4;* INICIA VARREDURA DA LINHA1CLR LINHA1 ;ZERA LINHA 1JB COLUNA1,SALTO1 ;SE A TECHA1 NAO

    ESTIVER;ACIONADA, SALTA

    SETB CHAVE1 ;INDICA CHAVE1 ACIONADASALTO1: JB COLUNA2,SALTO2 ;SE A TECLA2 NAOESTIVER

    ;ACIONADA, SALTASETB CHAVE2 ;INDICA CHAVE2 ACIONADA

    SALTO2: JB COLUNA3,SALTO3SETB CHAVE3SALTO3: JB COLUNA4,SALTO4

    SETB CHAVE4SALTO4: SETB LINHA1 ;LIBERA LINHA 1

    CLR LINHA2 ;ZERA LINHA 2JB COLUNA1,SALTO5 ;SE A TECHA5 NAO

    ESTIVER;ACIONADA, SALTA

    SETB CHAVE5 ;INDICA CHAVE5 ACIONADASALTO5: JB COLUNA2,SALTO6 ;SE A TECLA6 NAO

    ESTIVER ;ACIONADA, SALTASETB CHAVE6 ;INDICA CHAVE6 ACIONADA

    SALTO6: JB COLUNA3,SALTO7SETB CHAVE7

    SALTO7: JB COLUNA4,SALTO8SETB CHAVE8

    SALTO8: SETB LINHA2 ;LIBERA LINHA 2CLR LINHA3 ;ZERA LINHA 3JB COLUNA1,SALTO9 ;SE A TECHA9 NAO

    ESTIVER ;ACIONADA, SALTASETB CHAVE9 ;INDICA CHAVE9 ACIONADA

    SALTO9: JB COLUNA2,SALTO10;SE A TECLA10 NAO ESTIVER;ACIONADA, SALTA

    SETB CHAVE10 ;INDICA CHAVE10 ACIONADASALTO10: JB COLUNA3,SALTO11

    SETB CHAVE11

  • 8/8/2019 apostila processadores 2

    27/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    27

    SALTO11: JB COLUNA4,SALTO12SETB CHAVE12

    SALTO12: SETB LINHA3 ;LIBERA LINHA 3CLR LINHA4 ;ZERA LINHA 4JB COLUNA1,SALTO13;SE A TECHA13 NAO ESTIVER

    ;ACIONADA, SALTASETB CHAVE13 ;INDICA CHAVE13 ACIONADA

    SALTO13: JB COLUNA2,SALTO14;SE A TECLA14 NAO ESTIVER;ACIONADA, SALTA

    SETB CHAVE14 ;INDICA CHAVE10 ACIONADASALTO14: JB COLUNA3,SALTO15

    SETB CHAVE15

    SALTO15: JB COLUNA4,SALTO16SETB CHAVE16SALTO16: SETB LINHA4 ;LIBERA LINHA 4

    RETI ;RETORNA DA INTERRUPCAO

    Verificao (C):

    Exerccios1) - Fazer um projeto de um teclado telefnico de 12 teclas utilizando os portsP1.1 a P1.7 (igual ao KIT do Laboratrio). Fazer uma rotina LETECLADOguardando a condio das teclas na rea booleana 20.0 a 21.3. Criar um flagF_TEC que indicar sempre que uma tecla for acionada. A rea booleana serzerada no tratamento da tecla. No programa principal, a tecla ir ligar o led dokit (P3.3) e a tecla ir desligar o led do kit. Testar o programa no kit dolaboratrio.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 segundoa cada acionamento do teclado.4) - Fazer uma rotina para enviar a tecla digitada na o meio da segunda linha dodisplay.

    TESTE TECLADOX

    Ao (A):

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

  • 8/8/2019 apostila processadores 2

    28/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    28

    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 dacomunicao full-duplex ou 1 via no caso da comunicao half-duplex, rede defibras ticas, cabo coaxial utilizado em redes padro ETHERNET). Acomunicao serial proporciona maior economia a infraestrutura de transfernciade dados (menor nmero de vias nos cabos, menor nmero de canais nosrepetidores de linha, etc.), maior imunidade a rudos, maior alcance. Apresentacomo desvantagem bsica a menor velocidade de processamento (variando de300 b.p.s - baunds at redes de alta velocidade de 100 Mbits/seg) em secomparando com a velocidade de transferncia paralela interna doscomputadores (atravs dos barramentos internos).

    Para baixas velocidades, podemos subdividir a comunicao serial emcomunicao assncrona e sncrona:

    4.1.1) - Comunicao Assncrona:

    A comunicao assncrona envia dados de incio (start bit) e fim detransmisso (stop bit). Bits de paridade so opcionais. Apesar da simplicidade ealta utilizao utilizada apenas em sistemas de baixa velocidade, devido a perdade rendimento introduzido pelos sinais START BIT, STOP BIT e PARIDADE.

    Figura - Estrutura bsica da comunicao assncrona

  • 8/8/2019 apostila processadores 2

    29/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    29

    Os dispositivos seriais programveis presentes dentro de chips dedicados

    ou microcontroladores recebem o nome de UART (UNIDADE ASSNCRONA DERECEPO TRANSMISSO)

    4.1.2) - Comunicao Sncrona:

    Na comunicao sncrona a transmisso de um bloco de caracter comadio de controles apenas no incio e final do bloco. O nmero de blocostransmitidos varia bastante. Um caracter de CHECK-SUMgarante a integridadeda comunicao. Um protocolo padro garante a qualidade e integridade dacomunicao (atravs de comandos como NACKe ACK)

    Figura - Estrutura bsica de comunicao sncrona.

    Os dispositivos seriais programveis assncronos/sncronos presentesdentro 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 rudoincrementando os nveis de tenso dos bits 0 e 1 transmitidos.

    Figura - Sinais padro TTL e RS-232

  • 8/8/2019 apostila processadores 2

    30/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    30

    A implementao mais comum realizada atravs de line-driversintegrados (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 somostrados abaixo. Uma aplicao tpica desta configurao implementada nacomunicao 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 umsinal 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 necessitaestar 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-setransmitir e receber uma comunicao simultaneamente. Como existe um bufferde recepo (SBUF) possvel esperar-se a leitura deste buffer sem a perda doprximo dado de recepo. Este mesmo buffer SBUF utilizado para atransmisso de dados.

    O port serial opera de 4 modos:

    - Modo 0: comunicao serial de 8 bits (sem STARTe STOP BIT). Bit LSB o primeiro. Baud-ratefixo em 1/12 da freqncia do cristal.

    - Modo 1: comunicao serial de 10 bits (com STARTe STOP BIT). Narecepo, o STOP BITvai para o RB8 do registrador SCON se SM2=0. Baud-rateprogramvel de acordo com carga do timer 1.

    - Modo 2: comunicao serial de 11 bits (com START, STOP BITePARIDADE). O bit de paridade programvel atravs do bit TB8 de SCON. Narecepo, o bit de paridade guardado em RB8 de SCON. O baud rate programvel pelo bit SMOD do registrador PCON. Com SMOD=0, baud rate

  • 8/8/2019 apostila processadores 2

    31/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    31

    1/64 da freqncia do cristal. Com SMOD=1, baud-rate 1/32 da freqncia docristal.

    - 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 gerenciamentode energia nas verses CMOS

    ----------------------------------------PCON: SMOD - - - GF1 GF2 PD IDL

    ----------------------------------------

  • 8/8/2019 apostila processadores 2

    32/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    32

    SMOD: nos modos 1,2 e 3 de operao do SBUF, SMOD=1 dobra ataxa de transmisso binria.

    GF1 e GF2: bits genricos.PD e IDLE: gerenciam modos de economia de energia. PDsuspende por completo as operaes do processador (voltando apenas com oreset) e o modo IDLE deixa ativados apenas os perifricos internos (timer, uart,interrupes, etc.) representando uma economia de energia de 85%. Sai domodo 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 erecepo.

    - SCON: registrador de controle serial:

    SM0 SM1 SM2 REN TB8 RB8 TI RI

    SM0 - SM1: modo de operao0 0 modo 00 1 modo 11 0 modo 21 1 modo 3

    SM2: no modo 1, se SM2=1, RI no ser ativado se no for recebidoo STOP BIT. Se SM2=0, RI ser sempre ativado e RB8 recebe o STOP BIT. Nomodo 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=0sempre.

    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 decorreo de erro. No modo 0, RB8 no utilizado.

    TI: bit indicador de dado transmitido. Necessita ser limpo porsoftware.

  • 8/8/2019 apostila processadores 2

    33/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    33

    RI: bit indicador de dado recebido. Necessita ser limpo porsoftware.

    Nos modos 1 e 3, h a necessidade de utilizar-se o timer 1 para a geraodo 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 nomanual (onde temos a frmula de clculo para outros cristais) e reproduzidaabaixo:

    smodTaxa = 2 x (freq. cristal)

    ---- --------------32 12 x (256 - TH1)

    Para o cristal de 11.059 Mhz e 6 Mhz temos os valores tabelados abaixoconsiderando SMOD=0:

    Baud-rate fcristal Carga do timer

    19,2 k 11.059 Mhz FD h ( SMOD = 1)9,6 k 11.059 Mhz FD h ( SMOD = 0)4,8 k 11.059 Mhz F4 h (SMOD = 1)2,4 k 11.059 Mhz F4 h (SMOD = 0)

    Para cristal de 22,1 Mhz a taxa de transmisso acima dobrada.

    Exemplos:

    1) - Programar o registrador SCON e o TIMER 1 para 8 bits de dado, semparidade, habilitao de RX e baud-ratede 9600 baunds. Supor a utilizao decristal de 11.059 Mhz

    MOV TH1,# 0FD h ;carrega cristal 1 com reloadMOV TMOD,# 0010XXXXb ; programa timer 1 c/ reload

    MOV TCON,# 010X0000b ;roda timer 1MOV IE,# 10011XXXb ;habilita inter. serial e t1MOV PCON,#10000000B ;SMOD = 1MOV SCON, # 01010000b ;modo 1 e rx habilitado

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

  • 8/8/2019 apostila processadores 2

    34/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    34

    3) - Fazer uma rotina de interrupo serial para colocar o dado recebido noendereo indicado por R0. Utilizar a rotina de inicializao do exemplo 1.

    ORG 0JMP INICIO...ORG 23HJMP SERIAL...ORG 30H

    INICIO: MOV TH1,# 0FD h ;carrega cristal 1 com reloadMOV TMOD,# 0010XXXXb ; programa timer 1 c/ reloadMOV TCON, # 010X0000b ;roda timer 1MOV IE,# 10011XXXb ;habilita inter. serial e t1

    MOV SCON, # 01010000b ;modo 1 e rx habilitado...SERIAL: PUSH ACC

    MOV A,SBUFMOV @R0,ACLR RIPOP ACCRETI

    4) - Idem esperando o dado atravs do bit RI

    ...WAITRX: JNB RI,WAITRXMOV A,SBUFMOV @R0,ACLR RI...

    5) - Transmitir o dado presente na posio de memria indicada por R0. Utilizar ainicializao do exemplo 1

    ...

    ORG 30 hMOV TH1,# 0FD h ;carrega cristal 1 com reloadMOV TMOD,# 0010XXXXb ; programa timer 1 c/ reloadMOV TCON, # 010X0000b ;roda timer 1MOV IE,# 10011XXXb ;habilita inter. serial e t1MOV SCON, # 01010000b ;modo 1 e rx habilitado...

    TXBUF: MOV A,@R0

  • 8/8/2019 apostila processadores 2

    35/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    35

    MOV SBUF,A ;CARREGA DADO A SER TXJNB TI,$ ;ESPERA TRANSMITIR

    CLR TI...

    6) - Idem transmitindo a palavra MACK em ASCII.

    TX: MOV A,MCALL TX1MOV A,ACALL TX1MOV A,CCALL TX1

    MOV A,KCALL TX1...

    TX1: MOV SBUF,AJNB TI,$CLR TIRET

    Verificao (C):

    Exerccios:

    1) - Fazer uma rotina para transmitir uma string de uma tabela. Transmitir paraum computador a 9600 bps a string . Testarutilizando 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 aletra , acender o led (P3.3). Se receber a letra apagar o led. Testar esteprograma com um computador e o KIT.

    Ao (A):

    - Havendo problemas no resultado dos exerccios propostos, estudar o conceitode comunicao serial. Importante a utilizao das ferramentas de laboratrio.

  • 8/8/2019 apostila processadores 2

    36/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    36

    5) Conversores Analgico/Digitais

    Planejamento (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 conversorA / 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 valoranalgico deve ser ajustado para este valor)

    - Freqncia de Amostragem: determina o perodo entre duas amostras. Pelo Teorema deNyquest, a freqncia de amostragem no mnimo 2 vezes a freqncia mxima do sinal.

  • 8/8/2019 apostila processadores 2

    37/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    37

    fa = 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 CVref = 2,5 Vn = 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 0804

  • 8/8/2019 apostila processadores 2

    38/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    38

    Figura - Sistema Mnimo 89S51 / ADC0804 (endereo 2000H - 3FFFH)

  • 8/8/2019 apostila processadores 2

    39/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    39

    5.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 oaquecedor 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 conceitode comunicao serial. Importante a utilizao das ferramentas de laboratrio.

  • 8/8/2019 apostila processadores 2

    40/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    40

    5.4) Micrcontroladores com A/D embarcado

    MSP430F135 -> www.ti.com

    figura Arquitetura MSP430F135 (www.ti.com)

  • 8/8/2019 apostila processadores 2

    41/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    41

    PIC18F1320 -> www.microchip.com

  • 8/8/2019 apostila processadores 2

    42/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    42

    PRIMEIRO TRABALHO DE MICROPROCESSADORES IITurma: 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 doMackenzie (MACK3) possui uma entrada de resetativa em nvel baixo, entrada decristal 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 umesquema mostrandoa ligao do MACK3 com um display LCD de 2 linhas x 20 caracteres.

    2) - Imaginando que voc esteja fazendo um trabalho voluntrio para oGreenPeace, foi encomendado um controlador ecolgico para impedir um gastodesnecessrio de energia de escola com at 5 salas com as seguintescaractersticas:-Microcontrolador 8031 com Eprom 27512, Cristal de 32 Khz, Reset automtico emanual.-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 nvelalto 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, deslocamentoa direita. Fazer a rotina de escrita no display.c)-Fazer um programa para incrementar a posio 50H da memria interna todasas 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-lightem um display de LCD? Mostre 1 vantagem e uma desvantagemde um display de LCD.b) - Mostrar um esquema de um sistema com o 8951 e um mdulo com o Displayde LCD utilizando apenas os Ports P0 e P1 (modo de acionamento direto semmapeamento de memria). Fazer uma rotina para escrever a letra do seuprimeiro nome no display.

  • 8/8/2019 apostila processadores 2

    43/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    43

    c) - Suponha que voc esteja projetando um microcontrolador com umtemporizador T de 16 bits, vetor com endereo 06h e com contador

    DECRESCENTE a cada pulso de entrada do timer. Os registradores de controleso iguais ao do timer T0 do 8051.Explicar o conceito do vetor 06h. O que existe (qual rotina) neste endereo doprograma?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 umarotina 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, Resetautomtico 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 acionadauma 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 ELETRONICACANDIDATO:

    b) (1,5 pontos)- Fazer um programa para guardar a posio das teclas namemria a partir do endereo 25H. Se for digitada a tecla CORRIGE, ligar obuzzerpor 1 segundo.

    7) - Fazer um projeto com um microcontrolador 8031 com as seguintescaractersticas:

    - 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 00-

    1FH).- Comunicao full-duplexcom dado de 8 bits, start e stop/bit, sem

    paridade, 9600 baundse interface RS232 com line driversMAX 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:

  • 8/8/2019 apostila processadores 2

    44/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    44

    - Inicializao da interface serial, do sistema de interrupo habilitando ainterrupo 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 completocentralizado (abreviar os nomes do meio se necessrio) e o seu nmero dematrcula na linha de baixo.

    - Rotina para receber dados pela interface serial atravs da interruposerial, 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 (pinoTENTR) que decrementa o temporizador de 1 unidade a cada pulso. Interrupocom endereo 0010HRegistradores de modo (TMOD) e controle (TCON) idnticos ao 8051.Mneumnicos para programao em linguagem Assembler compatvel com o8051.a)- Supondo a entrada de um sinal de 100 Khz na entrada TENTR, qual o nmeroa ser colocado dentro do timer para o mesmo fornecer um tempo de 10 mseg?Justificar mostrando o clculob)- 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 seguintescaractersticas

    a) - Cristal de 8 Mhz. Reset automtico e manual. Sada para controle de 3motores (representar o acionamento apenas de 1 motor). Entrada do contadorexterno (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 emnvel alto, ligar todos os motores. Caso contrario, deslig-los.

    c)- Fazer um programa para incrementar o registrador R5 a cada pulso docontador externo (elaborar apenas a rotina de interrupo) .

  • 8/8/2019 apostila processadores 2

    45/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    45

    Anexo - Conjunto de Instrues MCS-51

    Fonte: Manual ATMEL MICROCONTROLLERS 8051 HARDWARE MANUAL (www.ivair.com.br)

  • 8/8/2019 apostila processadores 2

    46/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    46

  • 8/8/2019 apostila processadores 2

    47/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    47

  • 8/8/2019 apostila processadores 2

    48/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    48

  • 8/8/2019 apostila processadores 2

    49/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    49

    Anexo - Instrues e Alterao do FLAG (PSW)

    Fonte: Manual ATMEL MICROCONTROLLERS 8051 HARDWARE MANUAL (www.ivair.com.br)

  • 8/8/2019 apostila processadores 2

    50/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    50

    Anexo - Conjunto de Instrues - Cdigos de OperaoFonte:Manual ATMEL MICROCONTROLLERS 8051 HARDWARE MANUAL (www.iv

  • 8/8/2019 apostila processadores 2

    51/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    51

  • 8/8/2019 apostila processadores 2

    52/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    52

  • 8/8/2019 apostila processadores 2

    53/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    53

  • 8/8/2019 apostila processadores 2

    54/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    54

  • 8/8/2019 apostila processadores 2

    55/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    55

  • 8/8/2019 apostila processadores 2

    56/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    56

  • 8/8/2019 apostila processadores 2

    57/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    57

    Anexo Esquema KIT89S51

  • 8/8/2019 apostila processadores 2

    58/58

    APOSTILA DE TEORIA MACKENZIE MICROPROCESSADORES II

    Anexo Serigrafia Kit 89S51