Teorica 3 Ports IO 7segmentos

download Teorica 3 Ports IO 7segmentos

of 21

description

Entradas e saidas de PORTS IO

Transcript of Teorica 3 Ports IO 7segmentos

  • Ports I0, Display 7 segmentos Lino Figueiredo ISEP

    Sistemas Digitais 2 Licenciatura Engenharia Electrotcnica e de Computadores Ano Lectivo 2013-2014

  • Ports IO

    O Atmega 128 possui 53 pinos de IO distribudos por 7 Ports 6 Ports com 8 pinos cada (PortA PortF) 1 Port com 5 pinos (PortG)

    Todos os pinos so bidireccionais com possibilidade de activao de pull-Ups individuais.

    Todos os pinos tem a funo IO digital, sendo a maior parte dos pinos multiplexados com funes alternativas: Pinos analgicos (ADx), transmisso/recepo

    de dados (TX/RX), PWM, etc.

    2 Lino Figueiredo

  • Para cada um dos 7 Ports de IO existem 3 registos DDRx - Configurao do Portx PORTX escrita Portx e activao/desativao resistencias de Pull-Up PINX leitura Portx

    Registos Port IO

    3 Lino Figueiredo

  • Arquitectura pino IO

    4 Lino Figueiredo

  • Registos pino IO

    1. Registo de direco de dados do Port de IO (DDRx). Para cada um dos bits do Port, a escrita de um 0 neste registo programa o porto com entrada de dados. A escrita de um 1 programa o bit do Port como sada de dados.

    2. Registo de sada de dados do Port de IO (PORTx). Se o bit do port estiver programado como sada de dados, a escrita de um 0 ou um 1 neste registo faz com que esse valor aparea no pino de sada (5). Se o bit estiver programado como entrada de dados, a escrita de um 0 desactiva o Pull-Up interno, a escrita de um 1 activa o Pull-Up interno.

    3. Registo de entrada de dados do Porto de IO (PINx). Se o bit do Port estiver programado como entrada, os valores presentes no pino exterior (5) podem ser lidos para o registo PINx.

    4. Resistncia de pull-up interna. No caso do bit do port estar programado como entrada de dados, podemos optar por inserir esta resistncia de Pull-Up caso o dispositivo exterior no consiga definir o valor lgico 1.

    5. Pino exterior para entrada / sada de dados.

    5 Lino Figueiredo

  • Resistncia de Pull-Up I

    A funo bsica de uma resistncia de Pull-Up para garantir que uma dada entrada nunca fica no ar, ou seja, possui um valor bem definido.

    A resitncia de Pull-Up define uma dada linha com o estado lgico 1

    6 Lino Figueiredo

    Se nada for ligado ao pino 1, o valor da entrada considerado flutuante

    Qualquer rudo elctrico pode comutar a sada

  • Resistncia de Pull-Up II

    Adio de uma resistncia de Pull-Up Serve para limitar a corrente. Quando o interruptor S1 est aberto (OFF), o

    pino 1 est ligado a Vcc atravs da resistncia.

    Quando o interruptor S1 est fechado (ON), o pino 1 tem uma ligao directa GND o que define o seu nvel lgico a zero.

    Ir fluir atravs de R1 uma corrente desde VCC at GND.

    R1 ir limitar a quantidade de corrente que pode fluir para uma quantidade muito pequena.

    7 Lino Figueiredo

  • Pull-Up interno ATmega128

    Todos os pinos de cada Port do Atmega128 tm resistncia de pull-up interna.

    A activao da resistncia de Pull-Up feita individualmente para cada pino. A activao da resistncia de Pull-Up interna s vlida para os pinos

    configurados como entradas.

    A activao das resistncias de envolve a configurao de 2 registos de IO 1. Configurar os pinos como entrada no registo DDRx

    2. Activar os Pull-Up internos no registo PORTx

    O bit PUD do registo SFIOR desactiva todos os Pull-up internos de todos os Ports do Atmega 128

    8 Lino Figueiredo

  • Configurao pino IO

    Quadro resumo configurao dos pinos

    9 Lino Figueiredo

  • Exemplos prticos I

    Programar o PortA como entrada de dados, activando os pull-ups internos

    Programar o PortC como sada de dados e inicializ-lo com o valor 8 (0b00001000)

    10 Lino Figueiredo

  • Exemplos prticos II

    Programar os 6 bits menos significativos do PortA como entrada de dados e os 2 bits mais significativos como sada de dados. Desactivar os Pull-Ups internos das entradas e inicializar os bits de sada com 11

    11 Lino Figueiredo

    Nota: Os pinos que no so utilizados devem ser configurados como entradas com as resistncias de Pull-Up activadas

  • ATmega128 Placa IO

    12 Lino Figueiredo

    Entradas - Interruptores P0

    Sadas - Leds P1

    Display 7 Segmentos P2

  • Placa IO - Entradas

    6 entradas com Pull-Ups

    13 Lino Figueiredo

  • Placa IO - Sadas

    8 Sadas de Leds

    14 Lino Figueiredo

  • Display 7 Segmentos

    O display de sete segmentos um invlucro com sete leds com formato de segmento, posicionados de modo a possibilitar a formao de nmeros decimais e algumas letras utilizadas no cdigo hexadecimal

    15 Lino Figueiredo

  • Tipos de Displays Display nodo comum - os terminais nodo de todos os segmentos esto

    interligados internamente (terminal comum ligado em Vcc)

    Display ctodo comum - os terminais ctodo de todos os segmentos esto interligados internamente (terminal comum ligado em GND)

    16 Lino Figueiredo

  • Desenhar os Nmeros

    Interface com microcontrolador

    17 Lino Figueiredo

  • Multiplexagem Displays

    18 Lino Figueiredo

    Em cada instante apenas um display est ligado (frequncia > 50Hz)

  • Placo IO - 4 displays 7 segmentos

    19 Lino Figueiredo

  • Placa IO Tabela de segmentos

    Para acender um segmento deve ser colocado no respectivo pino o valor lgico 0, para apagar um segmento deve ser colocado o valor lgico 1

    Para seleccionar o display da direita os valores dos pinos de controlo do multiplexer (P0.6 e P0.7) devem ser 11.

    20 Lino Figueiredo

  • Bibliografia

    Microcontroladores - Joo Paulo Baptista, ISEP Electrnica Geral - Guilherme Amaral, ISEP

    21 Lino Figueiredo

    Ports I0, Display 7 segmentosPorts IORegistos Port IOArquitectura pino IORegistos pino IOResistncia de Pull-Up I Resistncia de Pull-Up IIPull-Up interno ATmega128Configurao pino IOExemplos prticos IExemplos prticos IIATmega128 Placa IOPlaca IO - EntradasPlaca IO - SadasDisplay 7 SegmentosTipos de DisplaysDesenhar os NmerosMultiplexagem DisplaysPlaco IO - 4 displays 7 segmentosPlaca IO Tabela de segmentosBibliografia