Escolar Documentos
Profissional Documentos
Cultura Documentos
MICROPROCESSADORES E
MICROCONTROLADORES
Parte 2
Microcontrolador 8051
1
Prof. José Wilson Lima Nerys 1 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
2
Prof. José Wilson Lima Nerys 2 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Leitura de Tabela no 8085 x 8051
Mostra valores menores que 50H e valores maiores que 85H
Início Início
S
A < 50H? S
A = FFH? Fim
N
N
S S
A > 85H? A < 50H?
N N
Display ß A S
A > 85H?
HL ß HL + 1
LßA N
P1 ß A
N
A = 60H? R7 ß R7 + 1
S
Fim
3
Prof. José Wilson Lima Nerys 3 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Assembly do 8085
Endereço Mnemônico Endereço Dado Endereço Mnemônico
2000H LXI SP, 2070H 2050H 10H 2030H MVI C,50H
2003H LXI H,2050H 2051H 50H 2032H DCR C
2006H MOV A,M 2052H 25H 2033H JNZ 2032H
2007H CPI 50H 2053H 60H 2036H RET
2009H JC 2014H 2054H 65H
200CH CPI 85H 2055H A0H
200EH JC 201CH 2056H 70H
2011H JZ 201CH 2057H 90H
2014H PUSH H 2058H 85H 2069H
2015H CALL MOSTRA 2059H 87H 206AH
2018H CALL ATRASO 205AH 45H 206BH
201BH POP H 205BH 39H 206CH 1BH
201CH INX H 205CH C5H 206DH 20H
201DH MOV A,L 205DH 11H 206EH 55H
4
201EH CPI 60H 205EH 33H 206FH 20H
42020H
Prof. José Wilson LimaJNZ 2006H
Nerys 205FH D2H 2070H 4 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
JZ V2 50H
ORG 30H MOSTRA: MOV P1,R0 25H
INICIO: MOV SP,#2FH LCALL ATRASO 60H
MOV DPTR,#TABELA V2: INC R7 65H
MOV R7,#00H SJMP V0 A0H
V0: MOV A,R7 70H
MOVC A,@A+DPTR ATRASO: MOV R1,#200 90H
CJNE A,#0FFH,V1 DJNZ R1,$ 85H
SJMP FIM RET 87H
V1: CLR CY 45H
MOV R0,A 39H
SUBB A,#50H C5H
JC MOSTRA 11H
MOV A,R0 33H
SUBB A,#85H D2H
5
Prof. José Wilson Lima Nerys 5 FFH
Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
6
Prof. José Wilson Lima Nerys 6 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
7
Prof. José Wilson Lima Nerys 7 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Memória RAM
8
Prof. José Wilson Lima Nerys 8 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Memória RAM
9
Prof. José Wilson Lima Nerys 9 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Memória RAM
10
10
Prof. José Wilson Lima Nerys 10 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Memória RAM
11
11
Prof. José Wilson Lima Nerys 11 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Conteúdo de A é armazenado
Conteúdo de A é armazenado no registrador especial 80H,
na posição 80H da memória que corresponde à Porta P0
RAM
12
12
Prof. José Wilson Lima Nerys 12 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Registradores
Especiais
13
Prof. José Wilson Lima Nerys 13 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Registradores Especiais
14
Prof. José Wilson Lima Nerys 14 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Instrução Descrição
MOV A,#Dado8 Carrega acumulador com o Dado de 8 bits
MOV Rn,#Dado8 Carrega registrador Rn (n=0 a 7) com o Dado de 8 bits
MOV A,B Copia no registrador A (acumulador) o conteúdo do registrador B
MOV Rn,A Copia no registrador Rn (n = 0 a 7) o conteúdo do acumulador
Copia em A o conteúdo do registrador identificado pelo endereço
MOV A,direto
“direto”
Copia no registrador identificado pelo endereço “dir1” o conteúdo do
MOV dir1,dir2
registrador identificado pelo endereço “dir2”
MOV @R0,A Copia o conteúdo de A na posição apontada por R0
MOV DPTR,#dado16 O registrador duplo DPTR recebe um dado de 16 bits
MOVC A,@A+DPTR Carrega acumulador com o conteúdo da posição apontada por A+DPTR
15
Prof. José Wilson Lima Nerys 15 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Codificação: 80 XX, onde XX = número de bytes (em complemento de 2) a ser adicionado ao endereço
da próxima instrução, para desviar para o endereço “ender”
16
Prof. José Wilson Lima Nerys 16 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Instrução Descrição
ADD A,Rn Adiciona o conteúdo de Rn (n = 0 a 7) ao conteúdo do acumulador
ADD A,#dado8 Adiciona o “dado8”, de 8 bits ao conteúdo do acumulador
Subtrai o conteúdo do registrador identificado pelo endereço “direto”, do
SUBB A,direto
conteúdo do acumulador
Subtrai o conteúdo da posição apontada pelo registrador R0 do conteúdo
SUBB A,@R0
do acumulador
RL A Rotaciona o conteúdo de A para a esquerda
RR A Rotaciona o conteúdo de A para a direita
DA A Faz o ajuste decimal do conteúdo de A
INC Rn Incrementa em uma unidade o conteúdo do registrador Rn
INC DPTR Incrementa em uma unidade o conteúdo do registrador duplo DPTR
CPL A Complementa o conteúdo do acumulador
17
Prof. José Wilson Lima Nerys 17 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Instrução Descrição
Multiplica o conteúdo de A pelo conteúdo de B. O resultado está em B A. O
MUL AB resultado da multiplicação é um número de 16 bits, por isso precisa de dois
registradores para o resultado.
DIV AB Divide o conteúdo de A pelo conteúdo de B. A recebe o quociente e B o resto.
ANL A,#dado Faz a operação AND, bit a bit, entre o acumulador e o dado de 8 bits
ORL A,#dado Faz a operação OR, bit a bit, entre o acumulador e o dado de 8 bits
Faz a troca dos nibbles do acumulador, ou seja, o nibble mais significativo
passa a ocupar os quatro primeiros bits do acumulador e o nibble menos
SWAP A
significativo passa a ocupar os quatro últimos bits. Por exemplo, se
originalmente, A = 35 H, após a instrução, A = 53 H.
18
Prof. José Wilson Lima Nerys 18 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Instrução Descrição
Desvia para a posição “desvio”, caso o “bit” esteja setado (se bit=1).
JB bit,desvio Exemplo: Se F0 = 1, então a instrução JB F0,V1 faz o processamento desviar
para a posição “V1”
JNB bit,desvio Desvia para “desvio”, caso o “bit” seja zero (se bit = 0).
SETB bit Faz bit = 1
CLR bit Faz bit = 0
CPL bit Complementa o “bit”. Se bit = 1, então bit torna-se bit=0.
MOV bit,C Copia no “bit” o conteúdo da Flag de Carry.
19
Prof. José Wilson Lima Nerys 19 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
20
Prof. José Wilson Lima Nerys 20 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Contagem crescente
Rótulo Mnemônico Comentário sobre o Efeito da Operação Tempo
ORG 00H A próxima instrução estará no endereço 00h
LJMP INICIO Pula para o endereço indicado com o rótulo ´inicio´
21
Prof. José Wilson Lima Nerys 21 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
ORG 30H
INICIO: MOV A,#00H
V1: MOV P1,A 1 µs
INC A 1 µs
SJMP V1 2 µs
END 4 µs
Período medido com o Proteus: 1020 µs
Intervalo entre cada dois envios para a Porta P1: 4 µs Cristal oscilador: 12 MHz
22
Prof. José Wilson Lima Nerys 22 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
A ß 00H
LJMP INICIO Pula para o endereço indicado com o rótulo ´inicio´
23
Prof. José Wilson Lima Nerys 23 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Contagem crescente e decrescente
Saída do Conversor Digital-Analógico: Onda Triangular
ORG 30H
INICIO: MOV A,#00H 255 x 4 µs
V1: MOV P0,A 1 µs = 1020 µs
INC A 1 µs
CJNE A,#0FFH,V1 2 µs
µs=765 µs
24
Prof. José Wilson Lima Nerys 24 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Contagem crescente e decrescente
Saída do Conversor Digital-Analógico: Onda Triangular
ORG 30H
INICIO: MOV A,#00H 255 x 4 µs
V1: MOV P0,A 1 µs = 1020 µs
INC A 1 µs
CJNE A,#0FFH,V1 2 µs
V2: MOV P0,A 1 µs
255 x 4µs =
1020 µs
SJMP V1
Instrução NOP (No Operation) usada apenas para
END gerar um atraso de 1 µs. 25
25
Prof. José Wilson Lima Nerys 25 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
26
Prof. José Wilson Lima Nerys 26 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Leitura de Tabela adaptada para ler 256 valores que, enviados para o Conversor DA,
resulta em uma curva senoidal
Como a Tabela de seno tem 256 valores, não há necessidade fazer uma
contagem desses valores, uma vez que o CONTADOR volta ao valor zero após
atingir o valor máximo FFh. Assim, a leitura volta para o início da Tabela após
CONTADOR = FFh.
27
27
Prof. José Wilson Lima Nerys 27 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Parte 1 Parte 2 Parte 3 Parte 4 Parte 5 Parte 6
DB 127 DB 205 DB 250 DB 243 DB 186 DB 104
DB 130 DB 208 DB 251 DB 241 DB 183 DB 101
DB 133 DB 210 DB 252 DB 240 DB 180 DB 98
DB 136 DB 213 DB 252 DB 239 DB 177 DB 95
DB 139 DB 215 DB 253 DB 237 DB 174 DB 91
DB 143 DB 217 DB 253 DB 235 DB 171 DB 88
Tabela: seno
29
Prof. José Wilson Lima Nerys 29 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
ORG 00H
LJMP INICIO
ORG 30H
Primeira parte
INICIO: MOV SP,#2FH
do programa: MOV DPTR,#Tabela
MOV CONTADOR,#00h
30
30
Prof. José Wilson Lima Nerys 30 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
31
Prof. José Wilson Lima Nerys 31 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
32
32
Prof. José Wilson Lima Nerys 32 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Essa tabela, com apenas 4 valores, pode ser usada para o acionamento de um
motor de passo (PASSO COMPLETO). A tabela com 8 valores é para
acionamento do motor de passo com MEIO PASSO. O motor deve estar
conectado, através de um driver, ao nibble inferior da Porta P1.
33
33
Prof. José Wilson Lima Nerys 33 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
34
Prof. José Wilson Lima Nerys 34 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Rótulo Mnemônico Rótulo Mnemônico
Usando Chaves externas para
CH0 EQU P2.0 V0: JB CH0,VCH1
escolher a configuração do
CH1 EQU P2.1
acionamento MOV DPTR,#Tabela1
CH2 EQU P2.2 SJMP V2
CH3 EQU P2.3
CH0 sentido horário com passo completo VCH1: JB CH1,VCH2
CH1 sentido anti-horário com passo completo MOV DPTR,#Tabela2
ORG 00H CH2 sentido horário com meio passo SJMP V2
CH3 sentido anti-horário com meio passo
LJMP INICIO VCH2: JB CH2,VCH3
MOV DPTR,#Tabela3
Tarefa:
ORG 30H SJMP V2
1. Escolher uma das chaves para
INICIO: MOV SP,#2FH Ligar/Desligar VCH3: JB CH3,V0
V1: MOV R7,#00h 2. Escolher uma das chaves para definir o MOV DPTR,#Tabela4
sentido horário ou anti-horário
V2: MOV A,R7
Rótulo Mnemônico 3. Escolher uma das chaves para definir se o
acionamento é com meio passo ou passo MOVC A,@A+DPTR
ATRASO: MOV R0,#80
completo CJNE A,#0FFH,V4
V3: MOV R1,#25
SJMP V1
DJNZ R1,$
Tabela1: DB 03H, 06H, 0CH, 09H, 0FFH V4: MOV P1,A
DJNZ R0,V3
Tabela2: DB 09H, 0CH, 06H, 03H, 0FFH LCALL ATRASO
RET
INC R7
Tabela3: DB 01H, 03H, 02H, 06H, 04H, 0CH, 08H, 09H, 0FFH
SJMP V2
Tabela4: DB 09H, 08H, 0CH, 04H, 06H, 02H, 03H, 01H, 0FFH
35
Prof. José Wilson Lima Nerys 35 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
A ß R7
A ß ((A + DPTR))
S
A = FF?
N
S P1 ß R0
A >= R0?
R0 ß A N
Fim
R7 ß R7 + 1
36
Prof. José Wilson Lima Nerys 36 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
37
Prof. José Wilson Lima Nerys 37 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
38
Prof. José Wilson Lima Nerys 38 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Relógio HH:MM:SS
39
Prof. José Wilson Lima Nerys 39 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
40
Prof. José Wilson Lima Nerys 40 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Cronômetro: MM:SS
41
Prof. José Wilson Lima Nerys 41 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
42
Prof. José Wilson Lima Nerys 42 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
43
Prof. José Wilson Lima Nerys 43 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Interrupções do 8051
Endereços de Desvio das Interrupções:
44
Prof. José Wilson Lima Nerys 44 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
46
Prof. José Wilson Lima Nerys 46 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
47
Prof. José Wilson Lima Nerys 47 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Uma interrupção ter prioridade alta (Prioridade 1) significa que ela será atendida
sempre que solicitada, mesmo quando o programa está executando uma outra
interrupção. No caso de todos os canais de interrupção terem prioridade 0 ou 1, a
escala de prioridade é como segue:
Interrupção Prioridade
Externa 0 Maior
Temporizador 0
Externa 1
Temporizador 1
Serial Menor
48
Prof. José Wilson Lima Nerys 48 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
49
Prof. José Wilson Lima Nerys 49 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
50
Prof. José Wilson Lima Nerys 50 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
51
Prof. José Wilson Lima Nerys 51 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
52
Prof. José Wilson Lima Nerys 52 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
53
Prof. José Wilson Lima Nerys 53 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
54
Prof. José Wilson Lima Nerys 54 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
ORG 00H
LJMP INICIO
ORG 30H
INICIO: MOV SP,#2FH
MOV XH,#40H
MOV XL,#00H
MOV YH,#35H
MOV YL,#50H
MOV A,XL
ADD A,YL ; Adição do byte inferior, sem carry
MOV ZL,A
MOV A,XH
ADDC A,YH ; Adição do byte superior, com carry
MOV ZH,A
MOV ZOV,C
END
55
Prof. José Wilson Lima Nerys 55 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
; SUBTRAÇÃO DE NÚMEROS DE 16 BITS Z = X - Y
ORG 00H
LJMP INICIO
ORG 30H
INICIO: MOV SP,#2FH
MOV XH,#40H
MOV XL,#00H
MOV YH,#35H
MOV YL,#50H
MOV A,XL
CLR CY
SUBB A,YL
MOV ZL,A
MOV A,XH
SUBB A,YH
MOV ZH,A
MOV ZOV,C
END
56
Prof. José Wilson Lima Nerys 56 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
57
Prof. José Wilson Lima Nerys 57 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Programa que envia uma contagem crescente para a porta P1 a cada solicitação da
interrupção INT0 (através do pino P3.2). Contagem encerra quando A retorna para 00
RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO
ORG 00H CONTAGEM: MOV P1,A
Exemplos
Programa que envia uma contagem crescente para a porta P1 a cada solicitação da
interrupção INT0 e uma decrescente a cada solicitação da INT1.
RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO
ORG 00H ATENDE0: PUSH ACC ATENDE1: PUSH ACC
Programa que envia uma contagem decimal crescente para a porta P1 a cada solicitação da
interrupção INT0 e uma decimal decrescente a cada solicitação da INT1.
RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO
ORG 00H ATENDE0: PUSH ACC ATENDE1: PUSH ACC
LJMP INICIO V1: MOV P1,A V2: ADD A,#99H
DA A
ADD A,#01H
MOV P1,A
ORG 03H DA A
LCALL ATRASO
LJMP ATENDE0 LCALL ATRASO
CJNE A,#00H,V2
CJNE A,#00H,V1 POP ACC
ORG 13H POP ACC RETI
LJMP ATENDE1 RETI
ATRASO: MOV R0,#250
Adiciona 1 e faz
ORG 30H Subtrai 1 e faz V3: MOV R1,#250
ajuste decimal
INICIO: MOV SP, #2FH ajuste decimal DJNZ R1, $
Programa que envia uma contagem crescente para a porta P1 a cada solicitação da
interrupção INT0 e uma decrescente a cada solicitação da INT1 (Prioridade alta).
RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO RÓTULO MNEMÔNICO
ORG 00H ATENDE0: PUSH ACC ATENDE1: PUSH ACC
INT0 mostra em P1 maior valor de uma Tabela. INT1 mostra o menor valor
65
65
Prof. José Wilson Lima Nerys 65 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
INT0 mostra em P1 maior valor de uma Tabela. INT1 mostra o menor valor
Rótulo Mnemônico Rótulo Mnemônico Rótulo Dado
MAIOR: MOV A,R7 MENOR: MOV A,R7 TABELA: DB 05H
MOVC A,@A+DPTR MOVC A,@A+DPTR DB 35H
CJNE A,#0FFH,V2 CJNE A,#0FFH,V4 DB 12H
MOV P1,R0 MOV P1,R1 DB 98H
RETI RETI DB 0A1H
V2: CLR CY V4: CLR CY DB 0B5H
MOV B,A MOV B,A DB 5AH
SUBB A,R0 SUBB A,R1 DB 09H
JC V3 JNC V5 DB 72H
MOV R0,B MOV R1,B DB 40H
V3: INC R7 V5: INC R7 DB 0FFH
SJMP MAIOR SJMP MENOR END
66
66
Prof. José Wilson Lima Nerys 66 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
67
Prof. José Wilson Lima Nerys 67 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Velocidade
Temperatura
Sinal Micro- Sinal
Sinal ADC Sinal
Tensão Digital controlador Digital DAC
Analógico Analógico
Corrente
Pressão
68
68
Prof. José Wilson Lima Nerys 68 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
VREF
I3
R
Vsaída Rsaída I V
I 2 REF
2R
V
I1 REF
I I 3 I 2 I1 I 0 4R
V
I 0 REF
8R
VREF 0
I (2 D3 2 1 D2 2 2 D1 2 3 D0 )
R
V
I REF ( D3 0,5 D2 0,25 D1 0,125 D0 )
R
69
69
Prof. José Wilson Lima Nerys 69 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
De 4 bits 0 0 0 0 0 0
0 0 0 1 0.125 1/15
0 0 1 0 0.250 2/15
0 0 1 1 0.375 3/15
0 1 0 0 0.500 4/15
0 1 0 1 0.625 5/15
0 1 1 0 0.750 6/15
0 1 1 1 0.875 7/15
1 0 0 0 1.000 8/15
1 0 0 1 1.125 9/15
1 0 1 0 1.250 10/15
1 0 1 1 1.375 11/15
1 1 0 0 1.500 12/15
1 1 0 1 1.625 13/15
1 1 1 0 1.750 14/15
1 1 1 1 1.875 70
15/15
70
Prof. José Wilson Lima Nerys 70 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
1 LSB
71
71
Prof. José Wilson Lima Nerys 71 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Resolução de um DA
(a) Cada degrau (menor incremento possível) corresponde a 1 LSB
(bit menos significativo)
72
72
Prof. José Wilson Lima Nerys 72 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Resolução
Número de bits Resolução
Percentual (%)
4 1/15 6,67
8 1/255 0,392
10 1/1023 0,09775
12 1/4095 0,02442
16 1/65535 0,000381
73
73
Prof. José Wilson Lima Nerys 73 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
74
74
Prof. José Wilson Lima Nerys 74 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
75
75
Prof. José Wilson Lima Nerys 75 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
76
76
Prof. José Wilson Lima Nerys 76 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
77
77
Prof. José Wilson Lima Nerys 77 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Saída
Sinais de Controle
CS\ habilita o CI
RD\ habilita a saída dos dados
RW\ trigger 78
78
Prof. José Wilson Lima Nerys 78 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Tempo de conversão
aproximado: 100 µs
79
79
Prof. José Wilson Lima Nerys 79 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
80
Prof. José Wilson Lima Nerys 80 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
81
Prof. José Wilson Lima Nerys 81 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
CS\
INTR
Fim da conversão
WR\
Início da conversão
82
Prof. José Wilson Lima Nerys 82 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
ORG 03H
A cada fim de conversão do conversor AD, um sinal de pedido de
MOV A,P2
interrupção é enviado ao 8051, através do pino P3.2 (interrupção zero).
RETI Assim, o processamento desvia para o endereço 03H, onde o resultado
da conversão (disponibilizado na porta P2) é transferido para A
ORG 30H
INICIO: MOV SP,#2FH
MOV IE,#81H
Interrupção externa zero é habilitada por transição.
MOV TCON,#01H
83
83
Prof. José Wilson Lima Nerys 83 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Pedido de interrupção
para o 8051 (na transição
de alto para baixo)
84
84
Prof. José Wilson Lima Nerys 84 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
ORG 30H
INICIO: MOV SP,#2FH
interrupção externa 1 por transição
MOV IE,#84H
MOV TCON,#04H
Loop infinito: Mostra o conteúdo de A, que é atualizado, através da
interrupção externa 1, a cada vez que o teclado é pressionado
V1: MOV P1,A
SJMP V1
END
85
85
Prof. José Wilson Lima Nerys 85 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
87
Prof. José Wilson Lima Nerys 87 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Temporizadores
88
Prof. José Wilson Lima Nerys 88 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Temporizadores
0 0 Modo 0 0 0 Modo 0
0 1 Modo 1 0 1 Modo 1
1 0 Modo 2 1 0 Modo 2
1 1 Modo 3 1 1 Modo 3
89
Prof. José Wilson Lima Nerys 89 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Temporizadores
90
Prof. José Wilson Lima Nerys 90 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Temporizadores
91
Prof. José Wilson Lima Nerys 91 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Temporizadores
Lógica para
habilitar contagem
92
92
Prof. José Wilson Lima Nerys 92 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Temporizadores
93
Prof. José Wilson Lima Nerys 93 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
94
Prof. José Wilson Lima Nerys 94 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
V1: MOV TH0,#4BH Assim, para gerar uma contagem de 50 ms, são
MOV TL0,#0FFH necessários 46.080 pulsos, ou seja, a contagem
SETB TR0 deve começar de TH0-TL0 = 4BFFH, que
CPL P1.0 corresponde ao número decimal 19.455.
JNB TF0,$ No programa poderia ter sido usado:
CLR TF0
SJMP V1 MOV TH0, #HIGH(19455)
MOV TL0,#LOW(19455)
END
96
Prof. José Wilson Lima Nerys 96 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
97
Prof. José Wilson Lima Nerys 97 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Valor da recarga
O valor de TH0 é mostrado na porta P2
O valor de TL0 é mostrado na prota P1
100
Prof. José Wilson Lima Nerys 100 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
ORG 30H
Assim, cada nova contagem começa do valor anterior de
INICIO: MOV SP,#2FH TH0 + 5.
MOV IE,#81H
MOV TCON,#01H
Subrotina de atendimento da interrupção externa zero
MOV TMOD,#06H
SETB TR0
MOV TH0,#40H IE = 81h = 1000 0001 Interrupção externa zero
habilitada
V1: MOV P2,TH0 TCON = 01H = 0000 0001 Interrupção externa zero por
MOV P1,TL0 transição
SJMP V1
END
101
Prof. José Wilson Lima Nerys 101 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
102
Prof. José Wilson Lima Nerys 102 Microprocessadores
Universidade Federal de Goiás Cristal de 11.0592 MHz
Escola de Engenharia Elétrica, Mecânica e de Computação
103
Prof. José Wilson Lima Nerys Loop infinito esperando interrupção 103 Microprocessadores
Universidade Federal de Goiás Cristal de 11.0592 MHz
Escola de Engenharia Elétrica, Mecânica e de Computação
104
Prof. José Wilson Lima Nerys 104 Microprocessadores
Universidade Federal de Goiás Cristal de 11.0592 MHz
Escola de Engenharia Elétrica, Mecânica e de Computação
105
Prof. José Wilson Lima Nerys 105 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
106
106
Prof. José Wilson Lima Nerys 106 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
107
Prof. José Wilson Lima Nerys 107 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
108
Prof. José Wilson Lima Nerys 108 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Relógio HH:MM:SS
109
Prof. José Wilson Lima Nerys 109 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
110
Prof. José Wilson Lima Nerys 110 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
HH MM SS
111
Prof. José Wilson Lima Nerys 111 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Cronômetro: MM:SS
112
Prof. José Wilson Lima Nerys 112 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
MM SS
114
Prof. José Wilson Lima Nerys 114 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
115
Prof. José Wilson Lima Nerys 115 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
117
117
Prof. José Wilson Lima Nerys 117 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
118
Prof. José Wilson Lima Nerys 118 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Comunicação
Serial
119
119
Prof. José Wilson Lima Nerys 119 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Comunicação Serial
síncrona e assíncrona.
120
120
Prof. José Wilson Lima Nerys 120 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
121
121
Prof. José Wilson Lima Nerys 121 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Um bit de início e outro de fim de transmissão devem ser enviados, além dos dados.
O sinal de parada é de nível lógico alto, após ser recebida a quantidade de bits
previstos.
Além do bit de início (Start bit) e do bit de fim (Stop bit), também pode existir um
terceiro bit extra, que é o bit de paridade, usado para verificar a consistência dos
dados. 122
122
Prof. José Wilson Lima Nerys 122 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
123
123
Prof. José Wilson Lima Nerys 123 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
124
124
Prof. José Wilson Lima Nerys 124 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Taxa de comunicação (baud rate): igual à frequência de clock dividida por 12.
125
Prof. José Wilson Lima Nerys 125 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Rótulo Instruções
MOV SCON,#00H Instrução que dá início à transmissão
MOV A,#00H
Aguarda a transmissão de todos os bits.
V1: MOV SBUF,A Quando o processo acaba, o micro faz TI = 1.
JNB TI,$
Sinais de RxD e TxD durante uma
CLR TI transmissão síncrona
INC A
SJMP V1
END
126
126
Prof. José Wilson Lima Nerys 126 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
SETB TR1
MOV A,#00H
JNB TI,$
CLR TI
INC A
ORG 30H
INICIO: MOV SP,#2FH
MOV SCON,#40H Baud-rate de 9600 bps, no modo 1
MOV TMOD,#20H Cristal oscilador: 11,0592 MHz
MOV TH1,#0FDH
MOV TL1,#0FDH
SETB TR1
MOV DPTR,#MSG1
129
Prof. José Wilson Lima Nerys 129 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
; Transmissão de mensagem via serial. Cristal: 11.0592 MHz. Taxa de transmissão: 4800 bps
ORG 00H
LJMP INICIO
ORG 30H
INICIO: MOV SP,#2FH ; Posição inicial da Pilha: 2FH
MOV SCON,#40H ; Serial no modo 1: assíncrona de 8 bits
MOV TMOD,#20H ; Timer 1 no modo 2 (recarga automática)
MOV TH1,#0FAH ; Valor da recarga: FAH baud rate: 4800 bps
SETB TR1 ; Dispara Timer 1
V1: MOV SBUF,A ; Transfere de A para SBUF o valor ser transmitido via serial
JNB TI,$ ; Aguarda final da transmissão do conteúdo de SBUF
CLR TI ; Limpa a flag TI, de transmissão serial
INC R7 ; Incrementa o valor do Offset
SJMP V3 ; Retorna para V3, para ler o próximo caractere de MSG
MSG: DB ' MICRO 2016 ', 0DH, 0FFH As mensagens MSG e MSG1
MSG1: DB 4DH, 49H, 43H, 52H, 4FH, 20H, 32H, 30H, 31H, 37H, 0DH, 0FFH são equivalentes
END
130
130
Prof. José Wilson Lima Nerys 130 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
132 SJMP V0
Prof. José Wilson Lima Nerys END 132 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
O pacote de comunicação inclui 8 bits de dados, 1 bit extra (RB8 ou TB8), 1 bit de
start e um bit de stop. O bit extra pode ser a paridade.
135
135
Prof. José Wilson Lima Nerys 135 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
136
136
Prof. José Wilson Lima Nerys 136 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
137
Prof. José Wilson Lima Nerys 137 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
RS EQU P3.5 Mensagens: Computador Micro LCD
RW EQU P3.6
EN EQU P3.7 INICIA: MOV A,#38H
LCALL INSTR_WR TEXTO_WR:SETB EN
DADOS EQU P0 CLR RW
MOV A,#38H SETB RS
ORG 00H LCALL INSTR_WR MOV DADOS,A
LJMP INICIO CLR EN
MOV A,#0EH LCALL ATRASO_LCD
ORG 23H LCALL INSTR_WR RET
CLR RI
MOV A,SBUF MOV A,#06H ATRASO_LCD:
MOV P1,A LCALL INSTR_WR MOV R4,#10
LCALL TEXTO_WR V6: MOV R5,#80
RETI MOV A,#01H DJNZ R5,$
LCALL INSTR_WR DJNZ R4,V6
ORG 30H RET RET
INICIO: MOV SP,#2FH
MOV SCON,#40H INSTR_WR: SETB EN END
MOV IE,#90H CLR RW
MOV TMOD,#20H CLR RS Subrotina de inicialização do LCD
MOV TL1,#0FDH MOV DADOS,A
MOV TH1,#0FDH CLR EN
MOV R7,#0FFH LCALL ATRASO_LCD
SETB TR1 RET Subrotina para escrever
SETB REN
dados no LCD
LCALL INICIA
A recebe valor via serial e Subrotina para escrever
SJMP $
envia para P1 e para o LCD instrução no LCD
138
Prof. José Wilson Lima Nerys Serial_LCD_22_6.asm 138 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Motor de Passo via serial Rótulo Mnemônico
V2: CJNE R0,#44H,V1
Rótulo Mnemônico LJMP DIREITA
ORG 00H
LJMP INICIO V1: CJNE R0,#45H,V2
LJMP ESQUERDA
139
Prof. José Wilson Lima Nerys Serial_Passo_22_6.asm
139 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
CHAVE EQU P3.3 ; CHAVE (P3.3) – MOTOR LIGA (P3.3 = 0) OU DESLIGA (P3.3 = 1)
STATUS EQU 22H ; registrador que guarda o estado das chaves
M0 EQU P2.2 ; IN0 do driver para acionamento do motor CC
M1 EQU P2.3 ; IN1 do driver para acionamento do motor CC
ORG 00H
LJMP INICIO
Serial_estado_22_6.asm
ORG 30H
INICIO: MOV SP,#2FH ; Pilha no endereço inicial 2Fh
MOV TMOD,#20H ; Temporizador 1 no modo 2 (recarga automática) para o gerar o baud rate
MOV SCON,#40H ; SCON = 0100 0000 – Serial no modo 1
MOV TH1,#0FAH ; Recarga para baud rate de 4800 bps
MOV TL1,#0FAH ; Valor inicial de contagem, desde a primeira contagem
SETB TR1 ; Dispara temporizador 1
MOV R7,#00H ; Contador (offset) para leitura das mensagens a serem enviadas via serial
MOV STATUS,#00H ; Zera o registrador de STATUS para eliminar a possibilidade de “lixo”
CLR M0
Transfere conteúdo de P3 para A, isola o pino P3.3
CLR M1 ; Motor CC parado
e verifica se houve mudança de estado
V1: MOV A,P3 ; Leitura da porta P3 (onde está a chave que liga e desliga o motor)
ANL A,#00001000B ; Faz uma operação AND entre A e 08H, para isolar o pino P3.3
XRL A,STATUS ; Verifica se houve alteração no STATUS
JZ V1 ; Se A XOR STATUS for zero, não houve mudança, então volta para V1 (A=0 e Z=1)
; Se houve mudança na posição da CHAVE, atualiza a situação e o STATUS
JNB CHAVE,LIGA_M ; Se CHAVE = 0, liga o motor
MOV DPTR,#M_OFF ; DPTR aponta para o início da mensagem de motor desligado
LCALL SERIAL ; Chama subrotina para mostrar a mensagem de motor desligado
CLR M0
CLR M1 ; Motor desligado
SETB STATUS.3 ; Atualiza registrador de STATUS com valor 1 na posição
140
STATUS.3
SJMP V1
140
Prof. José Wilson Lima Nerys 140 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
LIGA_M: MOV DPTR,#M_ON ; DPTR aponta para o início da mensagem de motor ligado
LCALL SERIAL ; Chama subrotina para mostrar a mensagem de motor ligado
SETB M0
CLR M1 ; Motor ligado
CLR STATUS.3 ; Atualiza registrador de STATUS com valor 0 na posição STATUS.3
SJMP V1
END
141
141
Prof. José Wilson Lima Nerys 141 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
142
Prof. José Wilson Lima Nerys 142 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
144
Prof. José Wilson Lima Nerys 144 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
CH_STEP EQU P2.0 ;== Acionamento da Lâmpada ===========
CH_MCC EQU P2.1
CH_LAMP EQU P2.2 V5: JNB CH_LAMP,LIGA_Lamp
STATUS indica o estado atual MOV DPTR,#Lamp_OFF
M0 EQU P0.0 dos dispositivos. LCALL SERIAL
M1 EQU P0.1 CLR LAMP
LAMP EQU P0.7 STATUS.0 = 0 motor de SETB STATUS.2
SJMP V2
passo ligado
STATUS EQU 22H
STATUS.1 = 0 motor CC LIGA_Lamp: MOV DPTR,#Lamp_ON
ORG 00H ligado LCALL SERIAL
LJMP INICIO STATUS.2 = 0 lâmpada SETB LAMP
ligada CLR STATUS.2 ;
ORG 30H
INICIO: MOV SP,#2FH ;== Acionamento do Motor CC ============
MOV TMOD,#20H
MOV SCON,#40H Compara o estado atual das V2: JNB CH_MCC,LIGA_M
MOV TH1,#0FAH chaves (leitura de P2) com o MOV DPTR,#M_OFF
MOV TL1,#0FAH conteúdo de STATUS LCALL SERIAL
SETB TR1 (XRL A,STATUS). CLR M0
MOV R7,#00H CLR M1
MOV P1,#00H SETB STATUS.1
Enquanto eles forem iguais SJMP V3
MOV STATUS,#00H (Z=1), aguarda no loop.
CLR M0 LIGA_M: MOV DPTR,#M_ON
CLR M1 Quando houver mudança da LCALL SERIAL
CLR LAMP posição de qualquer das SETB M0
CLR M1
V1: MOV A,P2
chaves, sai desse loop e CLR STATUS.1
ANL A,#00000111B atualiza tudo. 145
XRL A,STATUS
145 JZ V1
Prof. José Wilson Lima Nerys Envia a atualização via serial 145 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
;== Acionamento do Motor de Passo ======= ;== Envia Mensagem via Serial =======
SERIAL: MOV A,R7
V3: JNB CH_STEP,LIGA_P MOVC A,@A+DPTR
MOV DPTR,#PASSO_OFF CJNE A,#0FFH,ENVIA
LCALL SERIAL MOV R7,#00H
MOV P1,#00H RET
SETB STATUS.0
SJMP V1 ENVIA: MOV SBUF,A
JNB TI,$
LIGA_P:MOV DPTR,#PASSO_ON CLR TI
LCALL SERIAL INC R7
CLR STATUS.0 SJMP SERIAL
MOV R6,#11H
V6: MOV P1,R6 ATRASO: MOV R0,#100
LCALL ATRASO V4: MOV R1,#150
DJNZ R1,$
MOV A,P2 DJNZ R0,V4
ANL A,#00000111B RET
XRL A,STATUS
JNZ V5 Lamp_ON: DB 'Lampada Ligada', 0DH, 0FFH
Lamp_OFF: DB 'Lampada Desligada', 0DH, 0FFH
MOV A,R6 Para manter o motor de passo
RL A ligado, é necessário M_ON: DB 'Motor de Corrente Continua Ligado', 0DH, 0FFH
MOV R6,A rotacionar os bits da porta P1. M_OFF: DB 'Motor de Corrente Continua Desligado', 0DH, 0FFH
SJMP V6
Assim, é necessário manter- PASSO_ON: DB 'Motor de Passo Ligado', 0DH, 0DH, 0FFH
PASSO_OFF: DB 'Motor de Passo Desligado', 0DH, 0DH, 0FFH
se nesse loop de V6,
verificando se há mudança END
em alguma chave.
146
Prof. José Wilson Lima Nerys 146 Microprocessadores
Universidade Federal de Goiás
Escola de Engenharia Elétrica, Mecânica e de Computação
Bibliografia
[1] Salvador P. Gimenez, “Microcontroladores 8051: Teoria do hardware
e do software/Aplicações em controle digital/Laboratório e simulação”,
Pearson Education do Brasil, São Paulo, 2002.
ISBN: 85.87918-28-1.
147
Prof. José Wilson Lima Nerys 147 Microprocessadores