Você está na página 1de 69

Dispositivos de I/O

(teclado matricial, LCD, motores)

Disciplina de Microcontroladores

Prof. Ronnier
Prof. Rubão
Portas de I/O no 8051
- AT89C5131 tem 05 ports de 8 bits (P0 a P4)
Portas de I/O no 8051
Portas de I/O no 8051
- É possível realizar escritas e leituras individualmente em
todos os bits de I/O disponíveis, não havendo necessidade
de pré programar cada porta, especificamente como saída
ou entrada.
- Exemplos: Para se escrever um byte no Port 1 (8 bits de
saída), pode-se utilizar a instrução MOV P1, #byte. Para se
ler um byte do port P3 (8 bits de entrada), pode-se utilizar a
instrução MOV A, P3.
- Para acessar bits individuais dos Ports pode-se fazer uso da
instrução MOV bit, C para efetuar operações de saída e a
instrução MOV C, bit para efetuar operações de entrada.
Além de instruções de transferência de dados, também é
possível utilizar instruções lógicas (ANL, ORL, XRL),
aritméticas (ADD, ADDC, DEC, INC, SUBB), de manipulação
de variáveis booleanas (CLR, CPL, SETB) e de controle de
programa (CJNE, DJNZ, JB, JNB, JBC)
Portas de I/O no 8051
Estrutura simplificada de um terminal de I/O (Port 1)

No caso de leitura, cada bit comporta-se como um buffer tri-


state e no caso de escrita comporta-se como um flip-flop D.
Portas de I/O no 8051
Estrutura simplificada de um terminal de I/O (Port 1)

- Quando um bit é escrito no Port, este trafega pelo


barramento de dados interno do microcontrolador até a
entrada do flip-flop D e, após um pulso na entrada de clock,
é levado à saída do mesmo. O restante do circuito
eletrônico encarrega-se de levar o nível lógico adequado ao
terminal externo.
- No caso de leitura do Port, algumas das instruções lêem o
estado dos terminais, enquanto outras leem o estado dos
flip-flops internos. As instruções que leem o estado dos flip-
flops são aquelas que alteram e escrevem novamente o
valor dos bits (INC, DEC, CPL, JBC, DJNZ, ANL, ORL e
XRL). As demais instruções leem o estado presente nos
terminais externos.
Teclado Matricial
Teclado Matricial
Teclado Matricial
Teclado Matricial
Varredura em teclado
Teclado Matricial
Varredura
Teclado Matricial
Diodos de proteção
Teclado Matricial
Debouncing
- Teclas mecânicas (ruído causado pelo rebote - Bounce)

- Depende do tipo de tecla


- Dura de dezenas de microssegundos a centenas de milissegundos
Teclado Matricial
Técnicas de Debouncing
- Remoção por software (temporização)
- Remoção por hardware

Usar Schmitt Trigger

Usar MC14043 – 04 FF tipo RS


Display LCD

Modo Alfanumérico
Modo Gráfico
Display LCD
Display LCD
Alfanumérico
Display LCD
Modo Alfanumérico
Display LCD
Modo Alfanumérico Controlador interno HD 44780
Display LCD
Modo Alfanumérico Controlador interno HD 44780

- Caractere composto em uma matriz de pixels com 8x5


Display LCD
Modo Alfanumérico
Display LCD
Ligação LCD em microcontrolador PIC
Display LCD
Temporização
Display LCD
Temporização
Display LCD
Instruções LCD
modo
alfanumérico
Display LCD
Sequência
Inicialização
Display LCD
Sequência
Inicialização
Endereços dos caracteres
Display LCD
Endereços dos caracteres
Display LCD
Observação

Para ilustrar, o endereçamento de um display LCD 16X02 é o


seguinte:

Como devemos, obrigatoriamente fazer com que o bit mais


significativo do endereço seja 1, o valor que devemos passar
para o LCD é:
Display LCD Tabela de Caracteres

Existe uma memória interna pré-programada com caracteres

Tabela conhecida como ROM Code A00


Display LCD Tabela de Caracteres
Obs. Existem alguns LCD que possuem esta tabela, mas são mais
raros e antigos

Tabela conhecida como ROM Code A02


Caracteres especiais
Display LCD
- Pode personalizar 08 caracteres
- Armazenados em uma memória RAM – CGRAM
- Ou seja, se perdem ao desligar o LCD.
- Os endereços 0x00 à 0x07 são reservados para
caracteres criados pelo usuário.
- Envia-se para o LCD a condição (0 ou 1) de cada pixel
do caractere em 8 bits.
- Para criá-lo, define-se como será com base em uma matriz 5x8
Caracteres especiais
Display LCD
Caracteres especiais
Display LCD
Caracteres especiais
Display LCD

Com o caractere pronto, basta programá-lo na CGRAM


enviando a sequência de comando correta;
- Primeiro, o comando “SET CGRAM ADRESS” + o
endereço inicial;
- Para o primeiro caractere disponível : 00010000;
- Em seguida, os 8 bytes que formam o caractere.
- Se continuarmos inserindo informações de bytes, o
ponteiro passará para o segundo endereço do caractere e
assim por diante;
- Então, para programar os caracteres disponíveis, basta
enviar o comando “SET CGRAM ADRESS”+ o
endereço 0x00 e passarmos, em seguida, os 64 bytes que
formarão os 8 novos caracteres;
Display Gráfico
Display Gráfico
Pinagem
Display Gráfico
Paginamento
Display Gráfico
Ligação
Display Gráfico
Comandos
Motores
Motor DC Motor-de-passo

Servo-motor
Motor DC

- Apenas dois fios (os de baixa potência)


- Motor “analógico” – varia tensão e corrente, varia torque e velocidade
- Necessita drivers de corrente para utilização em microcontroladores
Motor DC

- Pode se variar a velocidade, também, em modo digital

PWM – Pulse Width Modulation


PWM Motor DC
Motor DC

- Também pode ser invertido o sentido de rotação

Ponte H
Motor-de-passo
- Também chamado de motor “digital”
- Rotação independe da corrente e tensão aplicada nas fases
Motor-de-passo
Tipos
Motor-de-passo
Diagrama de ligação – Motores Unipolares
Motor-de-passo
Diagrama de ligação – Motores Bipolares

Utilização de Ponte H integrada (ou discreta)

Circuito integrado L298


Motor-de-passo
Utilização de controlador adicional – L297

Motor
Bipolar
Motor-de-passo
Utilização de controlador adicional – L297

Motor
Unipolar
Motor-de-passo
• Passo – incremento mecânico no rotor. Pode ser sentido
nos dedos cada passo do motor, pois há engrenagem
mecânica em repouso para isso
• Normalmente o motor é classificado pelo número de passos. Ex.
200 passos
• Se um motor tem 200 passos, em cada rotação
(360º), significa que cada passo possui 1,8º.

Modos de Operação
• PASSO COMPLETO
• MEIO-PASSO
• MICROPASSO
Motor-de-passo
Modos de Operação
• PASSO COMPLETO
Nesta condição, supondo que o motor tenha 200 passos por
revolução, cada passo possui 1,8º de resolução. Apenas um
enrolamento é acionado por vez *.

• MEIO-PASSO
Meio-passo significa que o motor de passo gira a 400 passos
por rotação. Nesse modo, um enrolamento é energizado e,
em seguida, dois enrolamentos são energizados de forma
alternada, fazendo com que o rotor gire pela metade da
distância, ou seja, 0,9°. Embora produza aproximadamente
30% menos torque, o modo meio-passo gera um movimento
mais suave que o modo de passo completo.

* Vide exceção posteriormente


Motor-de-passo
Modos de Operação

• Observação
Existe, ainda, uma variabilidade no modo de operação normal,
onde dois enrolamentos são acionados por vez AO MESMO
TEMPO. Não há variação de velocidade, mas o torque é
aumentado significativamente. Óbvio que a corrente de
consumo e a dissipação de potência no mesmo dobram.
Motor-de-passo
Modos de Operação

• MICROPASSO
O micropasso é uma tecnologia que controla a corrente no
enrolamento do motor a um determinado grau que chega a
subdividir o número das posições entre os pólos. Há
necessidade de acionadores especiais (circuito especial) que
são capazes de dividir um passo completo (1,8°) em 256
micropassos, o que resulta em 51.200 passos por rotação
(0,007°/passo). Normalmente, o micropasso é utilizado em
aplicações que exigem posicionamento exato e movimentos
suaves em uma grande variedade de velocidades. Também
produz 30% menos torque que o modo de passo completo.
Motor-de-passo
Sequência de acionamento dos enrolamentos
Motor-de-passo
Controlador de micropasso
Motor-de-passo
Controlador de micropasso
Servo-motor
É um motor DC realimentado em malha fechada
- Alta exatidão no controle
- Torque alto
- Alta velocidade

Micro
Servo-motor
É um motor DC realimentado em malha fechada
Servo-motor
Servo-motor
Utiliza-se um PWM para controle de posição
Servo-motor
Utiliza-se um PWM para controle de posição
Servo-motor
Utiliza-se um PWM para controle de posição
Servo-motor - Aplicações
Automatic Tinder
Finger
1ª Experiência de Laboratório
Projetar uma fechadura eletrônica para cofres, conforme a
figura
1ª Experiência de Laboratório
Especificação

-Deverá possuir LCD, teclado matricial, buzzer sonoro e


acionador eletromecânico baseado em motor-de-passo
-O usuário deverá gravar duas senhas padrão de 04 dígitos
na memória de programa.
-Uma mensagem texto deverá aparecer apresentando o
produto personalizado.
-O teclado deverá conter, pelo menos, 0-9, ESC e ENTER
-Ao digitar a senha, deve aparecer apenas * na tela, ao
mesmo tempo que um beep sonoro curto deve soar a cada
pressionar de tecla. Após digitar a senha, validar com ENTER.
-Caso erre a senha, ou desista da operação, tecle ESC
1ª Experiência de Laboratório
Especificação

-A validação deverá ser visual no LCD com mensagens de


senha correta ou incorreta. Caso senha esteja correta, um
beep de 01 segundo deve soar e o motor-de-passo deverá
acionar um mecanismo indicando a movimentação da lingueta
de uma fechadura (acionador mecânico por conta da equipe).
-Este mecanismo deverá ficar acionado por 03 segundos e
posteriormente deverá recolher automaticamente à posição
original.
-Um beep sonoro indicando que a senha está correta deve
ser acionado concomitantemente.
-Caso o usuário digite a senha errada, um beep sonoro
diferenciado de 02 segundos indicará senha incorreta. O
mecanismo não deve ser acionado.
1ª Experiência de Laboratório
Especificação

-A cada tentativa de inserção de senha errada, o sistema


deve ficar inerte por aproximadamente 03 segundos, voltando
a automático após este tempo.
-O teclado não deve possuir bounce
-Caracteres estranhos no LCD idem.
-Pode utilizar buzzer com oscilador interno

Você também pode gostar