Aula3 120922184753-phpapp02
-
Upload
bruno-santos-ferreira -
Category
Technology
-
view
98 -
download
0
Transcript of Aula3 120922184753-phpapp02
Instrução de acesso à tabela
MOV DPTR , #TABELA
MOVC A , @A + DPTR
TABELA: DB 10,20,30,40,50,60
5 de agosto de 2012 2 Minicurso: Assembly para 8051 GDESTE
Interrupções
Quando uma interrupção é aceita, a CPU guarda na memória de dados o endereço de ROM que contém a próxima instrução do programa normal que seria executada e desloca-se para um novo endereço de memória de programa específico daquela interrupção, procurando por instruções da sub-rotina de interrupção.
5 de agosto de 2012 3 Minicurso: Assembly para 8051 GDESTE
Propriedades
• Vetorada ou não vetorada: todas as interrupções do 8051 são do tipo não vetorada. Isso significa que ele possui um endereço fixo de interrupção. Quando o microcontrolador permite que o dispositivo que o interrompeu envie o endereço do desvio é chamada de vetorada.
5 de agosto de 2012 4 Minicurso: Assembly para 8051 GDESTE
Propriedades
• Mascaramento: é a propriedade de permitir ou não que dispositivos internos ou externos interrompam o microcontrolador. No 8051 as interrupções são habilitadas por software.
• Prioridade: Define a prioridade de cada evento de interrupção, para não haver conflito de disputas de interrupção.
5 de agosto de 2012 5 Minicurso: Assembly para 8051 GDESTE
Propriedades
• Tipos de disparo: é propriedade das interrupções externas. Pode-se programar o microcontrolador para ser interrompido por nível(0 ou 1) ou borda(subida ou descida).
5 de agosto de 2012 6 Minicurso: Assembly para 8051 GDESTE
Endereços das Interrupções
5 de agosto de 2012 7 Minicurso: Assembly para 8051 GDESTE
INTERRUPÇÃO ENDEREÇO
Reset 000H
Externa 0 003H
Timer 0 00BH
Externa 1 0013H
Timer 1 01BH
Serial 023H
Habilitação
5 de agosto de 2012 8 Minicurso: Assembly para 8051 GDESTE
SÍMBOLO FUNÇÃO
EA Todas as interrupções
ES Porta Serial
ET1 Timer 1
EX1 Interrupção externa 1
ET0 Timer 0
EX0 Interrupção externa 0
REGISTRO IE (Interrupt enable)
EA - - ES ET1 EX1 ET0 EX0
Prioridade das Interrupções
5 de agosto de 2012 9 Minicurso: Assembly para 8051 GDESTE
REGISTRO IP (Interrupt priority)
- - - PS PT1 PX1 PT0 PX0
SÍMBOLO FUNÇÃO
PS Porta Serial
PT1 Timer 1
PX1 Interrupção externa 1
PT0 Timer 0
PX0 Interrupção externa 0
1 -> Alta prioridade / 0 -> Baixa prioridade
Flags
5 de agosto de 2012 10 Minicurso: Assembly para 8051 GDESTE
Flag Interrupção
RI E TI Porta Serial
TF1 Timer 1
IE1 Interrupção externa 1
TF0 Timer 0
IE0 Interrupção externa 0
Interrupções externas 0 e 1
São utilizadas quando uma determinada sub-rotina deve ser executada conforme um sinal de controle externo, que pode ser uma chave, um sensor, outro microcontrolador etc.
5 de agosto de 2012 11 Minicurso: Assembly para 8051 GDESTE
Interrupções externas 0 e 1
5 de agosto de 2012 12 Minicurso: Assembly para 8051 GDESTE
INTERRUPÇÃO EXTERNA
BIT DE PROGRAMAÇÃO
MODO DE DISPARO
SINAL APLICADO
0
IT0 = 1 Borda
IT0 = 0 Nível
1
IT1 = 1 Borda
IT0 = 0 Nível
Temporizadores
O 8051 possui dois Temporizadores/Contadores de 16 bits. Cada Timer é formado por duas posições de RAM, a parte alta e a parte baixa.
5 de agosto de 2012 13 Minicurso: Assembly para 8051 GDESTE
TIMER
0 TH0 (Parte alta)
TL0 (Parte baixa)
1 TH1 (Parte alta)
TL1 (Parte baixa)
Temporizadores
Quando um timer começa a contar o registro é incrementado a cada contagem. Inicialmente o registro baixo é incrementado e quando este estoura, o registro alto é incrementado.
𝑁º 𝑑𝑒 𝑝𝑢𝑙𝑠𝑜𝑠 = 𝑇𝑒𝑚𝑝𝑜 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑐𝑜𝑛𝑡𝑎𝑔𝑒𝑚 × 𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑖𝑎
12
5 de agosto de 2012 14 Minicurso: Assembly para 8051 GDESTE
Contadores
Os registros baixos dos timers são incrementados a cada transição de nível lógico baixo ( 1 para 0) do sinal aplicado ao pinos externo do respectivo timer.
5 de agosto de 2012 15 Minicurso: Assembly para 8051 GDESTE
TIMER PORTA
0 P3.4
1 P3.5
TMOD (registro de programação)
• Bits não-endereçáveis.
• Responsável pela programação dos dois timers.
5 de agosto de 2012 16 Minicurso: Assembly para 8051 GDESTE
REGISTRO TMOD (Timer Mode Control)
GATE C/T M1 M0 GATE C/T M1 M0
TIMER 0 TIMER 1
TMOD (registro de programação)
• GATE: quando este bit é setado, o controle liga/desliga do timer pode ser feito por um sinal externo ao microcontrolador.
• C/T: quando C/T = 1, o timer funciona como um contador e os pulsos vêm do pino externo. Quando C/T = 0, funciona como temporizador e os pulsos vêm do oscilador interno.
5 de agosto de 2012 17 Minicurso: Assembly para 8051 GDESTE
TMOD (registro de programação)
• M1 E M0: determinam o modo de funcionamento do timer de acordo com a tabela abaixo.
5 de agosto de 2012 18 Minicurso: Assembly para 8051 GDESTE
M1 M0 Modo de Funcionamento
0 0 0
0 1 1
1 0 2
1 1 3
TMOD (registro de programação)
• Modo 0: Funciona como um contador de 13 bits. O contador é composto por todo o registro alto (THx) e os 5 bits menos significativos da parte baixa (TLx). O sinal de flag será gerado quando o bit mais significativo do registro alto mudar de 1 para 0. A contagem máxima é até 8192 pulsos.
5 de agosto de 2012 19 Minicurso: Assembly para 8051 GDESTE
TMOD (registro de programação)
• Modo 1: Funciona como um contador de 16 bits. A contagem máxima vai até 65535 pulsos.
5 de agosto de 2012 20 Minicurso: Assembly para 8051 GDESTE
TMOD (registro de programação)
• Modo 2: funciona como contador de 8 bits com recarga automática. É composto apenas pela parte baixa (TLx). A contagem máxima será até 255. A função da parte alta é guardar o byte que deverá ser carregado automaticamente na parte alta.
5 de agosto de 2012 21 Minicurso: Assembly para 8051 GDESTE