aplicações: conversão de códigos e motor de passoiris.sel.eesc.usp.br/sel614/aula6.pdf ·...
TRANSCRIPT
![Page 1: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/1.jpg)
Aplicações:Aplicações:Aplicações:Aplicações:
Conversão de Códigos e Motor de PassoConversão de Códigos e Motor de PassoConversão de Códigos e Motor de PassoConversão de Códigos e Motor de Passo
•Prof. Adilson Gonzaga
![Page 2: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/2.jpg)
Conversão de Código ASCII para HexadecimalConversão de Código ASCII para Hexadecimal
• Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de
Vídeo, Displays de Cristal Líquido, comunicam-se usando o código
ASCII (American Standard Code for Information Interchange)
Aplicação 1
• Como toda a operação (lógica ou aritmética) realizada pelo
Microcontrolador é feita em Binário, e nós utilizamos a representação
Hexadecimal para facilidade de interpretação, se for usado um
teclado ASCII para entrada dos dados deve-se proceder à conversão
de ASCII para Hexadecimal.
•Prof. Adilson Gonzaga
•2
![Page 3: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/3.jpg)
• Supondo, por exemplo, que se queira inserir números Hexadecimais
através do Teclado do PC conectado via RS232 com um
Microcontrolador 8051 e utilizar esses dados para deslocar um Motor
de passo de um número fixo de passos.
• Valores Hexadecimais possíveis: 00 a FF
• O Teclado gera códigos ASCII para todos
os números, letras, sinais gráficos e
comandos, de acordo com a Tabela ASCII.
•Prof. Adilson Gonzaga
•3
![Page 4: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/4.jpg)
Teclado ASCII
Se o usuário quiser inserir em uma aplicação qualquer um Se o usuário quiser inserir em uma aplicação qualquer um
código Hexadecimal (um byte), via Teclado ASCII.
• 3F (00111111) � Digita 3 �Teclado gera 33h (00110011), ASCII do dígito 3
� Digita F �Teclado gera 46h (01000110), ASCII do dígito F
Como transformar os dois códigos digitados (33h e 46h) em apenas um byte Hexadecimal (3F) que é o correspondente ao valor digitado pelo usuário?
Por exemplo 3F
•Prof. Adilson Gonzaga
•4
![Page 5: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/5.jpg)
• Duas possibilidades:
1. Ou o dígito é um número ( 0 a 9 )
2. Ou o dígito é uma letra (A a F)
0 1 2 3 4 5 6 7 8 9
| | | | | | | | | |
30h 31h 32h 33h 34h 35h 36h 37h 38h 39h
Número
30h 31h 32h 33h 34h 35h 36h 37h 38h 39h
A B C D E F
| | | | | |
41h 42h 43h 44h 45h 46h
Letra
•Prof. Adilson Gonzaga
•5
![Page 6: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/6.jpg)
Digitado no Teclado
3 F
Códigos ASCII Gerados
33 46
• Logo,
3F
33 46
33h � para ser decodificado para seu valor 3h � 33h – 30h = 3h
• e,
46h � para ser decodificado para seu valor Fh � 46h – 37h = Fh
Ou seja, se o valor digitado for um número basta subtrair 30h do
código ASCII e, se o valor digitado for uma letra basta subtrair 37h do
código ASCII
•Prof. Adilson Gonzaga
•6
![Page 7: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/7.jpg)
• O primeiro dígito é o MSB e seu resultado hexadecimal gerado é 03h
• O segundo dígito é o LSB e seu resultado hexadecimal gerado é 0Fh
• Logo, no exemplo, para montar o caractere (MSB LSB) deve-se
rotacionar o MSB de 4 posições e fundir (OU lógico) com o LSB.
03 � 30 MSB
0F LSB
3F
OR00110000
00001111
00111111
•Prof. Adilson Gonzaga
•7
![Page 8: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/8.jpg)
Conversão ASCII-HEXA de um dígito
SubSub--rotina CONVrotina CONV
• O dígito ASCII entra
pelo Acumulador
•Prof. Adilson Gonzaga
•8
![Page 9: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/9.jpg)
• Converte o MSB
• Troca os nibles
Conversão ASCII-HEXA de dois dígitos
• Converte o LSB
• Funde (OR) os dois bytes
gerando apenas um hexadecimal
•Prof. Adilson Gonzaga
•9
![Page 10: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/10.jpg)
•Prof. Adilson Gonzaga
•10
![Page 11: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/11.jpg)
•Prof. Adilson Gonzaga
•11
![Page 12: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/12.jpg)
Aplicação 2
Conversão de Hexadecimal para Código ASCIIConversão de Hexadecimal para Código ASCII
• Como toda operação (lógica ou aritmética) realizada pelo
Microcontrolador é feita em Binário, e nós utilizamos a representação
Hexadecimal para facilidade de interpretação, se for usado um
Display ou um Monitor de Vídeo ASCII para saída dos dados deve-se
proceder à conversão de Hexadecimal para ASCII.
•Prof. Adilson Gonzaga
•12
![Page 13: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/13.jpg)
ASCII
33 46
Microcontrolador
Hexadecimal 3F
(00111111)
Conversor A/D
•Prof. Adilson Gonzaga
•13
![Page 14: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/14.jpg)
•Hexadecimais possíveis (8 bits): de 00 a FF
Se for um dígito numérico 0 ---- 9 ���� deve-se somar 30h para
se obter o ASCII equivalente entre 30h --- 39h
Se for uma letra A ---- F ���� deve-se somar 37h para se obter Se for uma letra A ---- F ���� deve-se somar 37h para se obter
o ASCII equivalente entre 41h --- 46h
Como não existem valores hexadecimais impossíveis de
serem representados em ASCII, não é necessário adicionar
nenhum filtro.
•Prof. Adilson Gonzaga
•14
![Page 15: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/15.jpg)
SubSub--rotina CONV2rotina CONV2
Conversão HEXA-ASCII de um dígito
•Prof. Adilson Gonzaga
•15
![Page 16: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/16.jpg)
Exemplo
• O conteúdo do Acumulador contém o código 3F Hexadecimal
(8 Bits) que deverá ser enviado para o monitor de vídeo em
ASCII, para ser visualizado.
• Logo,
3F ���� 03 + 30h ���� 33h0F + 37h ���� 46h
• Deve-se, então, dividir o byte em dois com o valor dos
dois nibles posicionados na parte menos significativa de
cada um, zerando-se o nible mais significativo de cada
byte.
•Prof. Adilson Gonzaga
•16
![Page 17: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/17.jpg)
O valor em Hexadecimal entra
pelo Acumulador. ���� Ex: A =
3Fh
Conversão HEXA-ASCII de dois dígitos
Os valores dos dois dígitos em
ASCII saem em:
R0 = LSB ���� Ex: R0 = 46h
A = MSB ���� Ex: A = 33h
•Prof. Adilson Gonzaga
•17
![Page 18: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/18.jpg)
•Prof. Adilson Gonzaga
•18
![Page 19: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/19.jpg)
•Prof. Adilson Gonzaga
•19
![Page 20: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/20.jpg)
Aplicação 3
Conversão de
Hexadecimal para BCD
BCD – Decimal Codificado em Binário
•Prof. Adilson Gonzaga
•20
Neste exemplo será utilizado
sempre o BCD Packed (ou BCD
8421), cuja representação de 2
dígitos BCD é realizada com
apenas 1 Byte.
![Page 21: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/21.jpg)
Conversão de Hexadecimal para BCD
Decimal Hexa
00 00
01 01
02 02
03 03
04 04
05 05
06 06
•Prof. Adilson Gonzaga
•21
06 06
07 07
08 08
09 09
10 0A
11 0B
12 0C
13 0D
14 0E
15 0F
16 10
0 0 0 0 1 0 0 1
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 1
0 0 0 1 0 0 0 0
•Logo, se o número Hexa
estiver entre 0A e 13,
soma-se 1x06
![Page 22: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/22.jpg)
Decimal Hexa
17 11
18 12
19 13
20 14
21 15
22 16
23 17
24 18
25 19
26 1A
11+06=17
12+06=18
13+06=1914+06=1A+06=20
15+06=1B+06=21
16+06=1C+06=22
• Se o número hexa estiver entre 14 e 1D soma-se 2x06
• Se o número estiver
•Logo, se o número Hexa
estiver entre 0A e 13, soma-
se 1x06
•Prof. Adilson Gonzaga
•22
26 1A
27 1B
28 1C
29 1D
30 1E
31 1F
32 20
33 21
34 22
35 23
36 24
17+06=1D+06=23
18+06=1E+06=24
19+06=1F+06=25
1A+06=20+06=26
1B+06=21+06=27
1C+06=22+06=28
1D+06=23+06=29
1E+06+06+06=30
1F+06+06+06=31
20+06+06+06=32
21+06+06+06=33
22+06+06+06=34
• Se o número estiver
entre 1E e 27 soma-se
3x06
![Page 23: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/23.jpg)
•O algoritmo pode ficar bastante complexo seguindo este raciocínio.
• O 8051 possui uma instrução que faz o Ajuste Decimal do Acumulador
DA A
• Esta instrução somente deve ser utilizada quando a operação realizada anteriormente foi com números BCD.
•Prof. Adilson Gonzaga
•23
com números BCD.
Exemplo:
19 + 1 = 1A � DA A � 20
•A instrução não opera corretamente onde isto não acontece.
Exemplo:
1F + 1 = 20 � DA A � 26
![Page 24: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/24.jpg)
Algoritmos para conversão Hexa-BCD
Algoritmo_1:
1. Entrar com o número Hexadecimal a ser convertido em R0
2. Inicializar um contador BCD em Zero
3. Decrementar R0 até zero e simultaneamente incrementar o contador BCD
•Prof. Adilson Gonzaga
•24
O maior número hexadecimal de dois dígitos que pode ser convertido é o : 63h = 99 em BCD
contador BCD
4. Quando o valor do número Hexadecimal chegar em zero, o Acumulador terá realizado o mesmo número de contagens em BCD
![Page 25: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/25.jpg)
•Prof. Adilson Gonzaga
•25
Este exemplo não testa se o número Hexadecimal a ser convertido é menor que 63h, o que deve ser feito externamente no programa principal.
![Page 26: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/26.jpg)
Algoritmo_2:
1. Dividir o número Hexadecimal (8 BITS), a ser convertido, por 10 (0Ah)
2. O resultado da divisão gera um número BCD unpacked, com o MSB no Acumulador e o LSB no registrador B
3. Transformar o BCD unpacked para BCD packed(8421)
•Prof. Adilson Gonzaga
•26
(8421)
0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1
1 0 0 1 1 0 0 1
09 09
99
![Page 27: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/27.jpg)
Exemplo: Programa que gera um Contador BCD na Porta P1, de 00 a 99, continuamente retornando a zero.
•Prof. Adilson Gonzaga
•27
![Page 28: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/28.jpg)
MOTOR DE PASSOMOTOR DE PASSO“Step Motor”“Step Motor”
Define-se MOTOR DE PASSO como um“atuador incremental eletromagnético”.
Aplicação 4
•Prof. Adilson Gonzaga
•28
![Page 29: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/29.jpg)
O Motor de Passo converte “pulsos digitais de entrada” emmovimentos angulares em seu eixo.
Definição prática:Definição prática:
•Prof. Adilson Gonzaga
•29
![Page 30: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/30.jpg)
Características importantesCaracterísticas importantes
• Deslocamento angular diretamente proporcional ao
número de pulsos de entrada.
• Erro angular por passo pequeno ( 5% do passo) e
não acumulativo.não acumulativo.
• Possibilita trabalho em “malha aberta”.
• Capacidade de trabalho em baixíssimas
freqüências.
• Retenção de posição sem uso de freio, etc...
•Prof. Adilson Gonzaga
•30
![Page 31: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/31.jpg)
CURVA CARACTERÍSTICACURVA CARACTERÍSTICA
•Prof. Adilson Gonzaga
•31
![Page 32: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/32.jpg)
TEORIA DE OPERAÇÃOTEORIA DE OPERAÇÃOTEORIA DE OPERAÇÃOTEORIA DE OPERAÇÃO
•Prof. Adilson Gonzaga
•32
![Page 33: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/33.jpg)
Circuito de ControleCircuito de ControleUNIPOLARUNIPOLAR simplificadosimplificado
•Prof. Adilson Gonzaga
•33
![Page 34: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/34.jpg)
Comutação nas FasesComutação nas Fases(excitação dupla)
•Prof. Adilson Gonzaga
•34
![Page 35: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/35.jpg)
Sistema Típico de Controle com Sistema Típico de Controle com Motor de PassoMotor de Passo
•Prof. Adilson Gonzaga
•35
![Page 36: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/36.jpg)
CircuitoCircuito AcionadorAcionador (Indexer + Driver) de Motor de (Indexer + Driver) de Motor de PassoPasso (excitação dupla)
•Prof. Adilson Gonzaga
•36
![Page 37: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/37.jpg)
Exemplo de Conexão de um Microcontrolador Exemplo de Conexão de um Microcontrolador Exemplo de Conexão de um Microcontrolador Exemplo de Conexão de um Microcontrolador 89S52 com um Driver/Indexador de Motor de Passo89S52 com um Driver/Indexador de Motor de Passo89S52 com um Driver/Indexador de Motor de Passo89S52 com um Driver/Indexador de Motor de Passo
Clock
Direção
Inibe
•Prof. Adilson Gonzaga
•37
![Page 38: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/38.jpg)
Clock
Direção
Inibe
O Clock, na descida de borda, armazena a Direção (1 ou 0)
que o motor girará na próxima subida de borda.
• Direção = 0 � Horário
• Direção = 1 �Anti-horário
• Inibe = 1 � Operação Normal
• Inibe = 0 � Pára o Motor de Passo
• Frequência do clock (Hz) = Passos por Segundo (pps) no Motor
•Prof. Adilson Gonzaga
•38
![Page 39: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/39.jpg)
Exemplo de Comando de um pulso em um Motor de Passo
(Usando subrotina de Atraso).
•Prof. Adilson Gonzaga
•39
![Page 40: Aplicações: Conversão de Códigos e Motor de Passoiris.sel.eesc.usp.br/sel614/Aula6.pdf · Microcontrolador8051 e utilizar esses dados para deslocar um Motor de passo de um número](https://reader031.vdocuments.net/reader031/viewer/2022031317/5c4a901a93f3c31f4a7c2b5c/html5/thumbnails/40.jpg)
Comando de Motor de Passo usando Timer e Interrupção
•Prof. Adilson Gonzaga
•40