Sunteți pe pagina 1din 12

Cada pino da porta consiste em trs bits do registro: DDxn, PORTxn e PINxn.

Como mostrado em "


Descrio Register ", na pgina 65, os bits DDxn so acessadas no endereo DDRx I/O, os bits PORTxn no
endereo PORTx I / O, e os bits PINxn no endereo PINx I / O.
O bit DDxn no DDRx Registro seleciona a direo deste pino. Se DDxn est escrito lgica um,(1) PXn
configurado como um pino de sada. Se DDxn escrito zero lgico(0), PXN configurado como um pino
de entrada.
Se PORTxn escrito um lgico(1) quando o pino configurado como um pino de entrada, a resistncia de
pull-up ativado. Para mudar o resistor de pull-up off, PORTxn tem de ser escrito lgica zero ou o pino
tem que ser configurado como um pino de sada. Os pinos da porta so tri-indicado quando uma condio
de reposio se torna ativo, mesmo que no os relgios esto em execuo
Se PORTxn escrito um lgico quando o pino configurado como um pino de sada, o pino da porta
colocada em alta (um). Se PORTxn escrito lgica zero quando o pino configurado como um pino de
sada, impulsionado a portpin baixa (zero).
Ao alternar entre tri-state ({DDxn, PORTxn} = 0b00) e sada de alta ({DDxn, PORTxn} = 0b11), um estado
intermedirio ou com pull-up habilitado ({DDxn, PORTxn} = 0b01) ou de sada baixa ({DDxn, PORTxn} =
0b10) deve ocorrer.
Normalmente, o estado de pull-up habilitado totalmente aceitvel, como um ambiente de alta
impedncia no vai notar a diferena entre um driver de alto forte e um pull-up.
Se este no for o caso, o bit PUD no SFIOR Register pode ser sett desativar tudo
pull-ups em todas as portas.
Alternar entre entrada com pull-up e sada de baixa gera o mesmo problema. O usurio deve utilizar o
tri-state ({DDxn, PORTxn} = 0b00) ou a sada elevado estado ({DDxn, PORTxn} = 0b11) como um passo
intermedirio.
Table 12-1 summarizes the control signals for the pin value.

12.2.2 Reading the Pin Value


Independente da configurao de direo de dados bit DDxn, o pino de porta pode ser lido atravs do bit
de registro PINxn. Como mostrado na Figura 12-2, o bit do registro de PINxn e a trava anterior constituem
um sincronizador.
Isso necessrio para evitar a metaestabilidade se o pino fsico altera valor prximo borda do relgio
interno, mas tambm introduz um atraso. Figura 12-3 mostra um diagrama de temporizao da
sincronizao ao ler um valor de pinos aplicado externamente. Os atrasos de propagao de mximo e
mnimo so denotados tpd, max e tpd, min respectivamente.

Considere o perodo de relgio, comeando logo aps a primeira queda borda do relgio do sistema. A
trava fechada quando o relgio baixo e fica transparente quando o relgio alto, como indicado pela
regio sombreada do sinal "SYNC trava". O valor do sinal fechado quando o relgio do sistema for baixo.
Isso cronometrado para o registo de PINxn na borda positiva do clock sucedendo. Como indicado por
duas setas t ATmega16A sistema CLK instrues SYNC trava PINxn r17 T pd, XXXXXX max , uma transio
de nico sinal no pino ser adiada entre e 1 sistema relgio perodo dependendo do momento da
declarao. PD, min, quando volta a ler um software atribudo o valor de pin, uma instruo nop deve ser
inserida como indicado na Figura 12-4. O out instruo define o sinal de "SYNC trava" na borda positiva do
relgio. Neste caso, o atraso tpd atravs do sincronizador um perodo de relgio do sistema.

O seguinte cdigo exemplo mostra como definir a porta B pinos 0 e 1 alta, 2 e 3 de baixa e definir
os porta pinos de 4 a 7 como entrada com pull-ups atribudos porta pinos 6 e 7. Os valores
resultantes do pino so ler de volta novamente, mas como j discutidos, uma instruo nop
includa para ser capaz de ler de volta o valor recentemente atribudo a alguns dos pinos.

Nota: 1. para o programa de montagem, dois registros temporrios so usados para minimizar o
tempo de pullups so definidas em pinos 0, 1, 6 e 7, at que os bits de direo esto definidos
corretamente, definindo o bit e 3As baixa e redefinindo os bits 0 e 1 como drivers de altos fortes

12.2.3 Digital Input Enable and Sleep Modes

Como mostrado na Figura 12-2, o sinal digital de entrada pode ser fixado ao solo na entrada do
schmitt-gatilho. O sinal indicado sono na figura, definida pelo controlador de dormir de MCU
em modo Power-down, Power save mode, modo de espera e modo Standby prolongado para
evitar o consumo de alta potncia, se alguns sinais de entrada so deixadas flutuando, ou tem
um nvel de sinal analgico perto V/2. SONO substitudo por porta pinos habilitados como
pinos de interrupo externa. Se o externo interromper CC (1)
:.
; Define pull-ups e set outputs high
; Define directions for port pins

ldi r16,(1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0)
ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0)
out PORTB,r16
out DDRB,r17
; Insert nop for synchronization
nop
; Read port pins
in r16,PINB
:.

C Code Example
(1)

unsigned char i;
:.
/* Define pull-ups and set outputs high */
/* Define directions for port pins */
PORTB = (1<<PB7)|(1<<PB6)|(1<<PB1)|(1<<PB0);
DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);
/* Insert nop for synchronization*/
_NOP();
/* Read port pins */
i = PINB;
:.

Pedido no estiver habilitado, o sono ativo tambm para estes pinos. SONO tambm
substitudo por vrias outras funes alternativas, conforme descrito em
Alternate Port Functions on page 54.
Se um nvel elevado de lgica ("um") est presente em um pino de interrupo externa
assncrono configurado como "Interrupo na Rising borda, borda de queda ou qualquer
mudana de lgica no pino", enquanto a interrupo externa no estiver habilitado, a bandeira de
interrupo externa correspondente ser definida quando continuando a partir do acima
mencionado os modos de repouso, como o aperto nestes modos de sono produz a alterao
solicitada lgica..
12.2.4 Sem ligao de pinos

Se alguns pinos so utilizados, recomendvel para assegurar que estes pinos tm um nvel
definido. Mesmo que a maioria das entradas digitais est desabilitada nos modos de sono
profundo, como descrito acima, flutuar entradas deve ser evitado para reduzir o consumo de
corrente em todos os outros modos onde as entradas digitais esto habilitadas (Reset, ativas e
Idle mode). O mtodo mais simples para assegurar um nvel definido de um pino no utilizado,
permitir que o pull-up interno.Neste caso, o pull-up ser desativado durante a reinicializao. Se
o baixo consumo de energia durante a reinicializao importante, recomendvel usar um
pull-up externo ou pull-down. Conectar os pinos no usados diretamente ao V ou GND no
recomendado, pois pode causar excessivas correntes se acidentalmente, o pino configurado
como uma sada.

12.3 Funes do Porto alternativo


A maioria dos pinos da porta tem funes alternativas, alm de ser General Digital I/Os. Figura 12-5
mostra como os sinais de controle Porto pino de simplificado da figura 12-2 podem ser substitudos por
funes alternativas. Os sinais de substituio podem no estar presentes em todos os pinos da porta,
mas a figura serve como uma descrio genrica aplicvel a todos os pinos do porto da famlia de
microcontroladores AVR.

Nota: 1. WPx, WDx, RRx, RPx e RDx so comuns a todos os pinos dentro a mesma porta.
clkI/O, sono e DPU so comuns a todas as portas. Todos os outros sinais so exclusivos para
cada pino.
Tabela 21summarizes a funo do substituir os sinais. Os ndices de pin e portos da Figura 26
no so mostrados nas tabelas seguintes. Os sinais de substituio so gerados internamente
nos mdulos tendo a funo alternativa. As subsees a seguir logo descrevem as funes
alternativas para cada porta e os sinais de substituio se relacionar a funo alternativa.
Consulte a descrio de funo alternativa para obter mais detalhes.

Signal

Name Full

Name Description

PUOE

Pull-up Override
Enable

PUOV

Pull-up Override
Value

DDOE

Data Direction
Override Enable

DDOV

Data Direction
Override Value

PVOE

Port Value
Override
Enable

PVOV

Port Value
Override
Value
Digital Input Enable Se este bit for definido, a entrada Digital permitem controlada
Override Enable
pelo sinal DIEOV. Se este sinal estiver desmarcado, a entrada
Digital permitem determinado estado de MCU (modo Normal,
os modos de repouso).
Digital Input Enable Se DIEOE for definida, a entrada Digital ativada/desativada
Override Value
quando DIEOV conjunto/desmarcada, independentemente do
estado MCU (modo Normal, os modos de repouso).
Digital Input
Esta a entrada Digital para funes alternativas. Na figura, o
sinal conectado sada do disparador schmitt, mas antes o
sincronizador. A menos que a entrada Digital usada como uma
fonte de relgio, o mdulo com a funo alternativa usar seu
prprio sincronizador.
Analog Input/
Esta a entrada/sada analgica de/para funes alternativas. O
output
sinal est ligado diretamente almofada e pode ser usado
bidirecionalmente.

DIEOE

DIEOV

DI

AIO

Se esse sinal for definido, habilitar o pull-up controlada pelo


sinal PUOV. Se este sinal estiver desmarcado, o pull-up
ativado quando {DDxn, PORTxn, PUD} = 0b010.
Se esse sinal for definido, habilitar o pull-up controlada pelo
sinal PUOV. Se este sinal estiver desmarcado, o pull-up
ativado quando {DDxn, PORTxn, PUD} = 0b010.
Se esse sinal for definido, habilitar o Driver de sada
controlada pelo sinal DDOV. Se este sinal estiver desmarcado, o
driver de sada enabledby que bit DDxn registo.
Se DDOE for definida, o Driver de sada habilitado/desabilitado
quando DDOV conjunto/desmarcada, independentemente da
configurao do registro DDxn bit.
Se este sinal definido e o Driver de sada habilitado, o valor
da porta controlado pelo sinal PVOV. Se PVOE estiver
desmarcada, e o Driver de sada habilitado, o porto, o valor
controlado pelo bit de registro PORTxn.
Se PVOE for definida, o valor da porta definido como PVOV,
independentemente da configurao da broca PORTxn registo

As subsees a seguir logo descrevem as funes alternativas para cada porta e os sinais de
substituio se relacionar a funo alternativa. Consulte a descrio de funo alternativo para
obter mais detalhes.
Special Function I/O
Register SFIOR

Bit 2 PUD: Pull-up disable


Quando este bit escrito a um, os pull-ups em portas de e/s esto desabilitados, mesmo se o
DDxn e o PORTxn registra configurado para permitir que os pull-ups ({DDxn, PORTxn} =
0b01). Consulte "Configurando o pino" na pgina 51for mais detalhes sobre esse recurso.
Alternativo funes de porta A porta tem uma funo alternativa como entrada para a ADC,
conforme mostrado na tabela 22 analgica. Se alguns pinos da PortA esto configurados como
sadas, essencial que estas no trocar quando uma converso em andamento. Isso pode
corromper o resultado da converso.

Tabela 23and tabela 24relate as funes alternativas de PortA para os sinais de substituio
mostradas na Figura 26 na pgina 55.

Pinos de funes do Porto B o Porto B alternativos com funes alternativos so mostrados na


tabela 25.

A configurao de pinos alternativo o seguinte:


SCK Port B, Bit 7
SCK: Sada de pulso de disparo mestre, entrada pino de relgio escravo para canal SPI. Quando
o SPI habilitado como um escravo, este pino configurado como uma entrada,
independentemente da configurao de DDB7. Quando o SPI habilitado como mestre, a
direo de dados deste pino controlada pelo DDB7. Quando o pino forado pela SPI para ser
uma entrada, o pull-up ainda pode ser controlado pelo bit PORTB7.
MISO Port B, Bit 6
MISO: Entrada de dados mestre, escravo dados sada pino para canal SPI. Quando o SPI
habilitado como mestre, este pino configurado como uma entrada, independentemente da
configurao de DDB6. Quando o SPI habilitado como um escravo, a direo de dados deste
pino controlada pelo DDB6. Quando o pino forado pela SPI para ser uma entrada, o pull-up
ainda pode ser controlado pelo bit PORTB6.
MOSI Port B, Bit 5
MOSI: SPI Master Data de sada, entrada de dados do escravo para canal SPI. Quando o SPI
habilitado como um escravo, este pino configurado como uma entrada, independentemente da
configurao de DDB5. Quando o SPI habilitado como mestre, a direo de dados deste pino
controlada pelo DDB5. Quando o pino forado pela SPI para ser uma entrada, o pull-up ainda
pode ser controlado pelo bit
PORTB5.SS Port B, Bit 4
SS: Selecionar entrada de escravo. Quando o SPI habilitado como um escravo, este pino
configurado como uma entrada, independentemente da configurao do DDB4. Como um
escravo, a SPI ativado quando este pino conduzido baixo. Quando o SPI habilitado como
mestre, a direo de dados deste pino controlada pela DDB4. Quando o pino forado pela
SPI para ser uma entrada, o pull-up ainda pode ser controlado pelo bit PORTB4.
AIN1/OC0 Port B, Bit 3
AIN1Comparador analgico de entrada negativa. Configurar o pino de porta como entrada com o
interno pull-up desligada para evitar a funo de porta digital de interferir com a funo do
comparador analgico de. OC0, sada sada comparar correspondncia: PB3 o pino pode servir
como uma sada externa para o temporizador/Counter0 comparar jogo. O pino PB3 precisa ser
configurada como sada (conjunto de DDB3 (1)) para servir a essa funo. O pino de OC0
tambm o pino de sada para a funo de temporizador de modo PWM.
AIN0/INT2 Port B, Bit 2
AIN0, Analgico comparador positivo de entrada. Configurar o pino de porta como entrada com o
interno pull-up desligada para evitar a funo de porta digital de interferir com a funo do
comparador analgico de.
INT2, External Interrupt Source 2: O pino de PB2 pode servir como uma fonte de interrupo
externa para o MCU.

T1 Port B, Bit 1
T1, Timer/Counter1 Fonte do contador.
T0/XCK Port B, Bit 0
T0, Timer/Counter0 Counter Source.
XCK, USART relgio externo. A direo de dados registrar (DDB0) controla se o relgio sada
(conjunto DDB0) ou entrada (DDB0 desmarcada). O pino XCK est ativo somente quando a
USART opera no modo sncrono. Tabela 26and tabela 27relate as funes de suplentes de
PortB a sinais de substituio mostradas na Figura 26 na pgina 55. SPI MSTR de entrada e
sada de escravo SPI constituem o sinal MISO, enquanto MOSI dividido em SPI MSTR sada e
entrada de escravo SPI.

Pinos de funes do Porto C


O porto C alternativos com funes alternativos so mostrados na tabela 28. Se a interface
JTAG habilitada, os resistores pull-up nos pinos PC5(TDI), PC3 (TMS) e PC2(TCK) sero
ativados mesmo se ocorre um reset.

The alternate pin configuration is as follows:


TOSC2 Port C, Bit 7
TOSC2, pino oscilador temporizador 2: quando o AS2 bit no ASSR definido (um) para habilitar
a temporizao assncrona de Timer/Counter2, pino PC7 desconectado da porta e se torna a
sada Inversora do amplificador oscilador. Neste modo, um oscilador de cristal conectado a
este pino e o pino no pode ser usado como um pino de I/O.
TOSC1 Port C, Bit 6
TOSC1, pino oscilador temporizador 1: quando o AS2 bit no ASSR definido (um) para habilitar
a temporizao assncrona de Timer/Counter2, pino PC6 desconectado da porta e torna-se a
entrada do amplificador Inversora oscilador. Neste modo, um oscilador de cristal conectado a
este pino e o pino no pode ser usado como um pino de I/O.
TDI Port C, Bit 5
TDI, dados de teste de JTAG em: Serial dados de entrada a ser deslocada na instruo registrar
dados registrar (correntes de varredura). Quando a interface JTAG habilitada, este pino no
pode ser usado como um pino de I/O.
TDO Port C, Bit 4
: TDO JTAG teste Data Out sada Serial dados de instruo registrar ou registrar de dados.
Quando a interface JTAG habilitada, este pino no pode ser usado como um pino de I/O. O
pino TD0 tri-indicado a menos que a TAP afirma que turnos dados so inseridos.
TMS Port C, Bit 3
TMS, JTAG Test Mode Select: Este pino usado para navegar atravs da mquina de estado do
controlador de torneira. Quando a interface JTAG habilitada, este pino no pode ser usado
como um pino de I/O.
TCK Port C, Bit 2
TCK, JTAG teste relgio: Operao de JTAG sncrona para TCK. Quando a interface JTAG
habilitada, este pino no pode ser usado como um pino de I/O
. SDA Port C, Bit 1
SDA, Two-wire Serial Interface dados: Quando o TWEN bit no TWCR definido (um) para
habilitar a Interface Serial de dois fios, pino PC1 desconectado da porta e torna-se o pino de
e/s de dados Serial para Interface Serial de dois fios. Neste modo, existe um filtro de pico sobre
o pino para suprimir picos inferiores a 50 ns sobre o sinal de entrada e o pino conduzido por
um motorista de dreno aberto com limitao de taxa de pntano. Quando este pino usado
bythe Two-wire Interface Serial, o pull-up ainda pode ser controlado pelo bit PORTC1.
SCL Port C, Bit 0
SCL, Two-wire Serial Interface relgio: Quando o TWEN bit no TWCR definido (um) para
habilitar a Interface Serial de dois fios, pino PC0 desconectado da porta e torna-se o pino de
e/s Serial do relgio para a Interface de srie Two-wire. Neste modo, existe um filtro de pico
sobre o pino para suprimir picos inferiores a 50 ns sobre o sinal de entrada e o pino conduzido
por um motorista de dreno aberto com limitao de taxa de pntano. Quando este pino usado
bythe Two-wire Interface Serial, o pull-up ainda pode ser controlado pelo bit PORTC0. Tabela
29e tabela 30relate as funes alternativas do Porto C para o substituir sinais mostrados na
Figura 26 na pgina 55.

Nota: 1. quando habilitado, a Interface de srie Dois fios permite que os controles de taxa de
pntano em pinos de sada PC0 e PC1. Isso no mostrado na figura. Alm disso, os filtros de
spike so conectados entre as sadas AIO, mostradas na figura a porta e a lgica digital do
mdulo TWI. Pinos de funes de Porto D o porto D alternativos com funes alternativos so
mostrados na tabela 31

A configurao de pinos alternativo o seguinte:


OC2 Port D, Bit 7
OC2, sada Timer/Counter2 sada comparar correspondncia: PD7 o pino pode servir como uma
sada externa para o temporizador/Counter2 sada comparar. O pino deve ser configurado como
uma sada (conjunto de DDD7 (1)), para servir a essa funo. O pino de OC2 tambm o pino
de sada para a funo de temporizador de modo PWM.
ICP1 Port D, Bit 6
ICP1 Pin de captura de entrada: The PD6 pino pode atuar como um pino de entrada capturar
por temporizador/Counter1

OC1A Port D, Bit 5


OC1A, Compare sada combinar uma sada: PD5 o pino pode servir como uma sada externa
para o temporizador/Counter1 sada comparar. O pino deve ser configurado como uma sada
(conjunto de DDD5 (1)), para servir a essa funo. O pino OC1A tambm o pino de sada para
a funo de temporizador de modo PWM.
OC1B Port D, Bit 4
OC1B, sada comparar jogo B sada: The PD4 pino pode servir como uma sada externa para o
temporizador/Counter1 sada comparar B. O pino deve ser configurado como uma sada (DDD4
conjunto (1)), para servir a essa funo. O pino de OC1B tambm o pino de sada para a
funo de temporizador de modo PWM.
INT1 Port D, Bit 3
INT1, Fonte de interrupo externa 1: O pino de PD3 pode servir como uma fonte de interrupo
externa.
INT0 Port D, Bit 2
INT0 Fonte de interrupo externa 0: PD2 o pino pode servir como uma fonte de interrupo
externa.
TXD Port D, Bit 1
TXD, Transmitir dados (pino de sada de dados para a USART). Quando o transmissor USART
est habilitado, este pino configurado como uma sada independentemente do valor da DDD1
RXD Port D, Bit 0
RXD, receber dados (entrada pino dados para a USART). Quando o receptor USART est
habilitado este pino configurado como uma entrada, independentemente do valor da DDD0.
Quando a USART foras deste pino ser uma entrada, o pull-up ainda pode ser controlado pelo
bit PORTD0.
Tabela 32and tabela 33relate as funes de suplentes de Porto D para o substituir sinais
mostrados na Figura 26 na pgina 55.

Register Description for I/O Ports Port A Data Register PORTA

Port A Data Direction Register DDRA

Port A Input Pins Address PINA

Port B Data Register PORTB

Port B Data Direction Register DDRB

Port B Input Pins Address PINB

S-ar putea să vă placă și