Você está na página 1de 13

Universidade Regional Integrada – Frederico Westphalen

Departamento de Engenharias e Ciência da Computação


Curso de Engenharia Elétrica

Disciplina: Microprocessadores e Microcontroladores – 30–429


Professor: Maicon Luís Flach, EE, Me.

Aula – 02

Esta aula tem por objetivo demostrar a forma de configuração e utilização das portas de
I/O’s do microcontrolador PIC16F887.

Pinos de Entrada e Saída (I/O’s)


O PIC16F887 possui até trinta e cinco pinos de I/O de uso geral. Dependendo de quais
periféricos estão habilitados, alguns, ou todos os pinos podem não estar disponíveis como I/O de
uso geral. Normalmente, quando um periférico está habilitado, o pino associado a este não pode
ser usado como um pino de I/O.
Registradores PORTA

A Porta A, ou PORTA é constituída pelos pinos RA0, RA1, RA2, RA3, RA4, RA5, RA6
e RA7, pinos 2, 3, 4, 5, 6, 7, 14 e 13 respectivamente.

Para a correta utilização, é necessário fazer a configuração dos registradores referentes ao


PORTA do microcontrolador, os três registradores básicos neste caso são:

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

TRISA – responsável por configurar a direção de cada pino do PORT, definindo se o mesmo irá
atuar como entrada ou saída

PORTA – registrador no qual o valor de cada pino pode ser lido ou escrito, dependendo da
operação a ser realizada e da configuração do registrador TRISA.

ANSEL – este registrador é usado para configurar o modo de entrada de um pino de I/O para
analógico. Definir o bit ANSEL apropriado fará com que todas as leituras digitais no pino sejam
lidas como "0" e permitam que as funções analógicas no pino funcionem corretamente. O estado
dos bits ANSEL não afeta as funções de saída digital. Um pino com TRIS "0" e ANSEL "1" ainda
funcionará como uma saída digital, mas o modo de entrada será analógico. Isso pode causar um
comportamento inesperado ao executar instruções de leitura.

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Registradores PORTB

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

WEAK PULL-UPS - Cada um dos pinos do PORTB possui um pull-up interno, configurável
individualmente. Os bits de controle WPUB <7: 0> habilitam ou desabilitam cada pull-up. Cada
pull-up é desligado automaticamente quando o pino da porta é configurado como uma saída.

Registradores PORTC

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Registradores PORTD

Registradores PORTE

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Exemplo 01: Desenvolver um firmware que utilize os pinos RA0, RB0, RC0, RD0 e RE0 para
piscar 5 LEDs de forma sequencial. Dica: utilize a função delay_ms() para gastar tempo se
necessário. Monte o hardware necessário utilizando o Proteus.

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Exemplo 02: Note que neste primeiro firmware os LEDs permanecem acessos e um deles apaga
sequencialmente. Reescreva o Firmware de maneira que somente um permaneça acesso de cada
vez.

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Exemplo 03: Desenvolva um firmware e um hardware que faça 2 LEDs acender através de um
botão enquanto 3 LEDs devem ficar alternando de forma automática, mas, quando o botão estiver
desacionado os LEDs devem permanecem apagados.

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Tarefa 1: Desenvolva um firmware e um hardware que leia um teclado matricial 3x4 e acenda
um LED diferente quando as teclas forem pressionadas.

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

OBS.: Reescreva o Firmware empregando “switch case” no lugar de “if” e “else if”.

Engenharia Elétrica – Microprocessadores e Microcontroladores


Universidade Regional Integrada – Frederico Westphalen
Departamento de Engenharias e Ciência da Computação
Curso de Engenharia Elétrica

Tarefa 2: Display LCD 20x4 LM044L


Desenvolver um firmware que controle o display LCD LM044L, as rotinas de inicialização do
display, assim como as de controle são detalhadas no datasheet do fabricante.

Engenharia Elétrica – Microprocessadores e Microcontroladores

Você também pode gostar