0% acharam este documento útil (0 voto)
2 visualizações13 páginas

EE12

O documento aborda a programação em assembly para desvios de fluxo e interrupções em sistemas embarcados, utilizando microcontroladores PIC. Exemplos práticos incluem a implementação de um sistema de medição de posição com um encoder e sensores de fim de curso. A literatura recomendada fornece referências técnicas para aprofundamento no tema.

Enviado por

Syntia Silva
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações13 páginas

EE12

O documento aborda a programação em assembly para desvios de fluxo e interrupções em sistemas embarcados, utilizando microcontroladores PIC. Exemplos práticos incluem a implementação de um sistema de medição de posição com um encoder e sensores de fim de curso. A literatura recomendada fornece referências técnicas para aprofundamento no tema.

Enviado por

Syntia Silva
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Eletrônica Embarcada

Atividade 12

Prof. Guillermo Alvarez Bestard, Dr.


guillermo@[Link]
Tópicos
• Programação em assembly de desvios do fluxo de programa e sub-
rotinas de atenção a interrupção por mudança de portas de entrada
digital.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Literatura recomendada
• PICmicro Mid-Range MCU Family Reference Manual. Tópico 8
[Link]
• PEREIRA, Fábio. Microcontroladores PIC - Técnicas Avançadas. Tópico
7.4 [Minha Biblioteca] [Link]
• PIC16F882/883/884/886/887 Data Sheet,
[Link]
f
• PIC16(L)F1826/27 18/20/28-Pin Flash MCU with nanoWatt XLP.
[Link]

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Exemplo 1
Fuso de
Esferas
• Um decodificador rotacional óptico Encoder

(encoder) em quadratura de fase,


que utiliza o código Gray de 2 bits,
está conectado num eixo de um
motor que movimenta uma base Sensor de
móvel de uma máquina ferramenta, Fim de
Curso
utilizando um fuso de esferas.
• O percurso máximo da base
contempla 65535 passos.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Exemplo 1
• O encoder vai indicar a posição absoluta do
eixo da engrenagem utilizando um disco e
um sistema óptico, conforme a tabela.
• Os bits da posição são fornecidos no canal
A e B, conforme exibido nas gráficas para o
movimento para frente (CW) e para trás Disco do
(CCW) sistema
óptico

Posição Binário Gray


0 00 00
1 01 01
2 10 11
3 11 10

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Exemplo 1 1
0

• Outro sensor óptico de fim de


curso indica quando a ferramenta
está na posição inicial (posição
zero).
• Sua saída é a coletor aberto,
ficando em saturação (‘0’) quando
chega luz no sensor.
• Quando a ferramenta chega na
posição inicial o az de luz é
interrompido por uma lâmina
móvel e o sensor muda sua saída
colocando o transistor em corte
(‘1’).

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Exemplo 1
• Implemente um
sistema de medição
da posição
utilizando um
PIC16F887
utilizando
interrupções,
conforme o
esquemático
mostrado na figura.
• A indicação da
posição será feita
com 16 leds.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Exemplo 1
• Precisamos
configurar as
portas C e D como
saída e ativar os
pool-ups dos pinos
RB0, RB4 e RB5
• Vamos usar duas
interrupções:
• INT para detectar
o fim de curso
• e RB (IOC) para o
encoder.

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Registradores utilizados

RB5 RB0 RB4

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


RB0

RB5 RB4 RB0

RB0 RB4 e RB5

RB5 RB4
Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Registradores utilizados

Uso do flag C de STATUS


Lembrar que conseguimos trabalhar com
apenas 8 bits de dados, então para operações Se temos a posição atual
de maior comprimento precisamos Pos = 0000 0000 1111 1110
considerar carry e borrow.
E detectamos um movimento positivo
No caso de Pos, ele ocupa 2 bytes de INCF Pos,F
memória que devem ser tratados de forma Pos = 0000 0000 1111 1111
independente.
No código eles vão ser divididos em Novamente movimento positivo
Pos (parte baixa) e INCF Pos,F
Pos+1 (parte alta) Pos = 0000 0001 0000 0000
INCF Pos+1,F

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]


Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]
Estudo individual
• Procurar informação sobre os tipos de conversores analógico-digitais
e seu principio operacional.
• Descrever funcionamento em cada caso.
• Coloque um resumo de sua pesquisa no Aprender

Eletrônica Embarcada Prof. Guillermo Alvarez Bestard guillermo@[Link]

Você também pode gostar