20
Portas I/O Digitais Curso Engenharia de Controle e Automação Alex Vidigal Bastos www.decom.ufop.br/alex/ [email protected] 1

Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Embed Size (px)

Citation preview

Page 1: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Portas I/O Digitais Curso Engenharia de Controle e Automação

Alex Vidigal Bastos

www.decom.ufop.br/alex/

[email protected]

1

Page 2: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Agenda

• Introdução

• Sentido do Fluxo de Dados da porta

• Controle de entrada dos pinos das portas

2

Page 3: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Introdução

• São portas de entrada e saída de dados , cujos valores

alternam entre “0” e “1”;

• O PIC18F4550 tem 5 grupos de portas disponíveis (A, B, C, D,

E);

• Os pinos associados a elas são multiplexados;

• Cada porta tem três registradores associados à configuração;

3

Page 4: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Pinagem do PIC18F4550

4Distribuição dos pinos no microcontrolador PIC18F4550

Page 5: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Introdução

• Registrador TRIS: configura o sentido do fluxo de dados

de uma determinada porta;

• Registrador PORT: escreve e lê o nível dos pinos

associados a uma porta;

• Registrador LAT: armazena o valor do último comando de

escrita;

5

Page 6: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Sentido do fluxo de dados da

porta

• O sentido do fluxo de uma determinada porta é configurado

pelo registrador TRIS;

• Tem 8 bits, sendo cada elemento correspondente à

configuração de um determinado pino de I∕O, sendo:

• 0 – saída (output)

• 1 – entrada (input)

• O Maplab C18 suporta comandos de acesso simultâneo dos 8

bits do registrador TRIS, como também de um único bit;6

Page 7: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

TRISA, TRISB, TRISC, TRISD,

TRISE

Sintaxe:

• TRISx = valor

• Valor = TRISx

• Sendo:

• x = nome da porta (letra maiúscula)

• valor = valor de 8 bits (0 – saídae 1 – entrada)

TRISB = 0b00000001;

7

Page 8: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

TRISA, TRISB, TRISC, TRISD,

TRISE

8

Page 9: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

TRISA, TRISB, TRISC, TRISD,

TRISE

9

Page 10: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

TRISA, TRISB, TRISC, TRISD,

TRISE

• Exemplos:

• TRISA: 0b00000011 ∕∕ RA0 e RA1 – entrada RA2 até RA7

saída

• TRISB: 0b11110000 ∕∕ RB0 e RB3 – saída RB4 até RB7

entrada

• TRISE: 0b00000000 ∕∕ RE0 e RE7 – saída10

Page 11: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

TRISAbits, TRISBbits, TRISCbits,

TRISD bits, TRISE bits

• Essas estrutura permitem o acesso a um único bit;

Sintaxe:

• TRISxbits.TRISxy = valor_bit

• Valor_bit = TRISxbits.TRISxy

• Sendo:

• x = nome da porta (letra maiúscula);

• y = número do pino;

• valor = 0 – saída e 1 – entrada) 11

Page 12: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

TRISAbits, TRISBbits, TRISCbits,

TRISD bits, TRISE bits

• Exemplos:

• TRISAbits.TRISA5 = 1 ∕ ∕ RA5 - entrada

• TRISBbits.TRISB3 = 0; ∕ ∕ RB3 – saída

• TRISEbits.TRISE4 = 0; ∕ ∕ RE4 - saída

12

Page 13: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Controle do Estado dos pinos

das portas

• O status dos pinos da portas é armazenado no registrador

PORT;

• Possui um tamanho de 8 bits, sendo responsável pelas

operações de escrita e leitura dos pinos relacionados às

portas. Sendo 0 – Vss e 1 – Vcc;

13

Page 14: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

PORTA, PORTB, PORTC,

PORTD, PORTE • Para um comando de leitura, o registrador PORT realiza a

leitura dos estados dos pinos e para um comando de escrita, o

valor é enviado para a porta LAT que vai modificar os níveis

dos pinos I∕O configurados como saída.

Sintaxe:

• PORTx = valor

• Valor = PORTx

• Sendo:

• x = nome da porta (letra maiúscula)

• valor = valor de 8 bits (0 – saídae 1 – entrada)14

Page 15: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

PORTA, PORTB, PORTC,

PORTD, PORTE

• Suponha que todos os pinos da porta B estejam configurados

como saída (TRISB = 00x0), então podemos selecionar os

pinos na porta do PIC, conforme abaixo:

• PORTB = 0b00100101;

15

Page 16: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

PORTA, PORTB, PORTC,

PORTD, PORTE

16

Page 17: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

PORTA, PORTB, PORTC,

PORTD, PORTE

17

• Exemplos:

• TRISD = 0b0000000 ∕∕ RD0 e RD7 –saída

• TRISEbits.TRISE1 = 0; ∕∕RE1 - saída

• PORTD = 0b01010010∕∕ RB0 e RB3 – saída RB4 até RB7

entrada

• PORTEbits.RE1 = ~PORTEbits.RE1 ∕∕ Inverte o estado do

pino RE1

Page 18: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

PORTAbits, PORTBbits, PORTCbits,

PORTDbits, PORTEbits

18

• Essas estrutura permitem o acesso a um único bit do

registrador PORT;

Sintaxe:

• PORTxbits.PORTxy = valor_bit

• Valor_bit = PORTxbits.PORTxy

• Sendo:

• x = nome da porta (letra maiúscula);

• y = número do pino;

• valor = 0 – saída e 1 – entrada)

Page 19: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Exercícios

19

• Exercícios

Page 20: Portas I/O Digitais - DECOM-UFOP · Introdução • São portas de entrada e saída de dados , cujos valores alternamentre “0”e“1”; • OPIC18F4550tem5gruposdeportasdisponíveis(A,B,C,D,

Perguntas