Você está na página 1de 45

Universidade Federal de Santa Catarina

Engenharia da Computação

Microprocessadores e Microcontroladores
DEC7511

Microcontroladores PIC

Prof. Roderval Marcelino, Dr.

1
Microcontroladores PIC

• FABRICANTE MICROCHIP www.microchip.com


•ARQUITETURA HARVARD
•FILOSOFIA RISC - 35 INSTRUÇÕES
•BARRAMENTO DE DADOS 8, 16, 32 BITS
•BARRAMENTO INSTRUÇÃO 12, 14 OU 16 BITS

2
Microcontroladores PIC -Famílias

•PIC 10
•PIC 12
•PIC 14
•PIC 16
•PIC 17
•PIC 18
•PIC 24F/PIC 24H
•dsPIC30/dsPIC33
•PIC 32

3
PIC 16F877A

• Microcontrolador de 40 pinos
• 33 Portas configuráveis como entrada ou saída
• 14 Interrupções disponíveis
• Memória de programa Flash de 8kWords
• 8 Bits
PIC 16F877A

• Memória EEPROM (não volátil) interna (256Bytes);

• Memória RAM com 386 Bytes;

• Três Timers(2x8bits e 1x16 bits);

• Comunicação serial (USART, SPI, I2C);

• 8 conversores A/D de 10 bits;

• Dois modulos CCP: Capture, compare e PWM


PIC16F877A
PIC 16F877A-Pinagem
PIC16F877A
PIC 16F877A-Descrição dos pinos
PIC 16F877A-Descrição dos pinos
PIC 16F877A-Descrição dos pinos
PIC 16F877A-Descrição
DESCRIÇÃO DOS PINOS dos pinos
A Estrutura Interna
Clock com circuito RC

Tabela com valores de RC e frequências

Clolck com resistor e capacitor

12
Os Ciclos de Máquina
• O Clock interno é equivalente ao externo dividido
por 4.

• Logo, se CK externo
CK= 4Mhz,
INT= CK/4 interno 1 Mhz, ciclo
de máquina=1μs.

Fonte: Datasheet do fabricante

Vídeo Efeito Piezoelétrico


Sistema de reset dos Microprocessadores

Sistema de reset Curva de carga do capacitor


Primeiro exemplo-Blinking-Pisca Led
Montar o circuito abaixo no Proteus:

15
Primeiro exemplo-Blinking-Sem Delay

Desenvolver o software no
MpLab X 5.35

Usar compilador MPASM

https://www.microchip.com/development-tools/pic-and-dspic-downloads-archive

16
Primeiro exemplo-Blinking-Com delay

17
Memória de Programa (FLASH)

• Vetor de reset (0x0000);

• Vetor de Interrupção (0x0004);

• 8kWords = 8192 endereços;

• Conceito de paginação;

• Stack de 8 níveis.
Memória de Programa (FLASH)

19
Memória de Programa (FLASH)

20
Memória de Dados (RAM)

• Memória volátil dividida em SFR e uso geral;

• 512 Bytes divididos em 4 bancos;

• 386 Bytes para uso geral;

• 77 Bytes de SFR’s;

• E2PROM (EEPROM) Memória de dados não volátil.


Memória de Dados (RAM)-Bancos

22
Memória de Dados (RAM)-Bancos

23
Segundo exemplo-Entrada/Saída
– Montar o circuito abaixo no Proteus:

24
Segundo exemplo-IO

25
Tipos de instruções

26
Tipos de instruções

27
Tipos de instruções

28
Exercício 1:

– Faça um programa assembly para PIC 16F877A que deixe


piscando um led a cada aproximadamente 1s após um botão ser
apertado.
– Fazer o hardware e software

29
Exercício 2:
– Desenvolva um sistema embarcado para comandar uma mini prensa. Ao ser
pressionado 2 botões simultaneamente o pistão aciona por 2s e volta a posição
original aguardando novo acionamento.

30
Tipos de Invólucros

31
Tipos de Invólucros

32
Características Elétricas
Fonte de alimentação linear

34
Fonte de alimentação linear

35
Fonte de alimentação Chaveada

36
Portas de Comunicação

37
Portas de Comunicação-Port B

38
Portas de Comunicação-Port C

39
Portas de Comunicação-Port D e E

40
Exercício 3:
– Faça um sistema embarcado para contar e mostrar num display
de 7 segmentos os valores selecionados.

– O sistema deve possuir dois botões, um de incremento e outro de


decremento.

– Dois display de 7 segmentos deverão mostrar o valor, sendo que


os limites são 00 e 99.

41
Exercício 4:
– Incremente o exercício anterior.
– O sistema deve possui um botão de enter, aceita configuração, ou
seja, ao selecionar um valor com os botões de incremento e
decremento o enter irá confirmar a seleção e memorizar o valor
selecionado.
– Após a seleção o display zera.
– Outro botão chamado pulso terá a função de incrementar
contagens no display quando pressionado.
– Ao atingir a contagem um led irá acionar mostrando que a
contagem alcançou o valor setado.
– Nova contagem ou configuração pode ser realizada.

42
Exercício 5: Carro de transporte

43
Exercício 5: Carro de transporte
– O processo abaixo é baseado num transporte de material.
a. A posição inicial é com sensor acionado e carro à esquerda
b. O processo inicia após apertar o botão m
c. O carro se move até o sensor b ser acionado
d. Em seguida a comporta abre e carrega o carro
e. Quando o sensor p acionar é porque o peso foi atingido
f. Fecha a comporta
g. O carro aguarda 5s para fechamento da comporta e retorna à
esquerda até acionar o sensor a
h. Aguarda novo ciclo

44
Final do Tópico:
Microcontroladores PIC

45

Você também pode gostar