Teorica 3 Ports IO 7segmentos
-
Upload
andreseabra -
Category
Documents
-
view
7 -
download
0
description
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