Estudante
Portas de Entrada/Saída Digital
Fábio Souza
Interface com circuitos externo
• A interface com circuitos externos é feitas através de pinos que são agrupados em PORTs.
PORTX
• OS PORTs são agrupados em até 8 pinos (bits) e são denominados:
PORTA, PORTB, PORTC .... Conforme a quantidade de pinos que o microcontrolador apresenta.
Pinos de I/O no PIC16F84
• O PIC16F84 possui 2 PORTs :
• PORTA
• PORTB
Os PORTs estão divididos da seguinte forma:
PORTA:
RA0
RA1
RA2
RA3
RA4
PORTB:
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
Configuração
• Os pinos de I/O podem ser configuradas como entrada ou saída conforme a necessidade do hardware.
C1
R2
10k
22p
X1
C2
22p
BT1
U1
CRYSTAL
16
15
4
OSC1/CLKIN
OSC2/CLKOUT
MCLR
RA0
RA1
RA2
RA3
RA4/TOCKI
RB0/INT
RB1
RB2
RB3
RB4
RB5
RB6
RB7
R1
10k
PIC16F84
17
18
1
2
3
6
7
8
9
10
11
12
13
R3
330R
D1
LED-GREEN
Registradores para configuração
• Para definir se um pino será utilizado como entrada ou saída utiliza-se o registrador TRISX.
• No PIC16F84
• TRISA
• TRISB
Entrada ou Saída?
• Configurando:
• Entrada -> bit = 1;
• Saída -> bit = 0
Escrita em pino
• Para escrita, o pino correspondente deve estar configurado como saída no registrador TRISX correspondente.
• A escrita é é feita através do registrador PORTX correspondente.
• Exemplo: PORTA -> PIC16F84A
Exemplo: Acionando um LED
• LED apagado:
0V
RB7 = 0;
Ou
TRISB =0b00000000;
• LED aceso:
5V
RB7 = 1;
Ou
TRISB =0b10000000;
Leitura de nível lógico no pino
• Para leitura, o pino correspondente deve estar configurado como entrada no registrador TRISX correspondente.
• A leitura é feita através do registrador PORTx.
• Exemplo: PORTA -> PIC16F84A
Exemplo:
Leitura de tecla com resistor de pull-up
• Tecla solta
• Tecla pressionada
RA0 = 1;
Ou
PORTA = 0bXXXXXXX1;
5V
RA0 = 0;
Ou
PORTA =