SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Programação Assembly
                8051 – Aula 3


5 de agosto de 2012   Minicurso: Assembly para 8051 GDESTE   1
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     Minicurso: Assembly para 8051 GDESTE   2
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    Minicurso: Assembly para 8051 GDESTE   3
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     Minicurso: Assembly para 8051 GDESTE   4
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     Minicurso: Assembly para 8051 GDESTE    5
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     Minicurso: Assembly para 8051 GDESTE   6
Endereços das Interrupções
                      INTERRUPÇÃO                      ENDEREÇO
                         Reset                            000H
                       Externa 0                          003H
                        Timer 0                           00BH
                        Externa 1                        0013H
                         Timer 1                          01BH
                         Serial                           023H




5 de agosto de 2012    Minicurso: Assembly para 8051 GDESTE       7
Habilitação
                              REGISTRO IE (Interrupt enable)
            EA        -           -     ES       ET1         EX1      ET0   EX0



                          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


5 de agosto de 2012         Minicurso: Assembly para 8051 GDESTE                  8
Prioridade das Interrupções
                                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

5 de agosto de 2012           Minicurso: Assembly para 8051 GDESTE                9
Flags

                       Flag                      Interrupção
                      RI E TI                    Porta Serial
                       TF1                          Timer 1
                       IE1                  Interrupção externa 1
                       TF0                         Timer 0
                       IE0                  Interrupção externa 0




5 de agosto de 2012     Minicurso: Assembly para 8051 GDESTE        10
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     Minicurso: Assembly para 8051 GDESTE   11
Interrupções externas 0 e 1

      INTERRUPÇÃO        BIT DE               MODO DE
                                                               SINAL APLICADO
        EXTERNA       PROGRAMAÇÃO             DISPARO


                         IT0 = 1                Borda
              0
                         IT0 = 0                 Nível


                         IT1 = 1                Borda
              1
                         IT0 = 0                 Nível



5 de agosto de 2012     Minicurso: Assembly para 8051 GDESTE                    12
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.
                                          TIMER
                                            TH0                  (Parte alta)
                      0
                                            TL0                  (Parte baixa)
                                            TH1                  (Parte alta)
                      1
                                            TL1                  (Parte baixa)




5 de agosto de 2012       Minicurso: Assembly para 8051 GDESTE                   13
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        Minicurso: Assembly para 8051 GDESTE         14
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.
                            TIMER                     PORTA
                               0                        P3.4
                               1                        P3.5




5 de agosto de 2012     Minicurso: Assembly para 8051 GDESTE    15
TMOD (registro de programação)
               • Bits não-endereçáveis.
               • Responsável pela programação dos dois
                 timers.


                            REGISTRO TMOD (Timer Mode Control)
            GATE      C/T      M1        M0       GATE       C/T     M1   M0



                       TIMER 1                                 TIMER 0


5 de agosto de 2012         Minicurso: Assembly para 8051 GDESTE               16
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     Minicurso: Assembly para 8051 GDESTE   17
TMOD (registro de programação)
               • M1 E M0: determinam o modo de
                 funcionamento do timer de acordo com a
                 tabela abaixo.

                 M1    M0               Modo de Funcionamento
                  0     0                             0
                  0     1                             1
                  1     0                             2
                  1     1                             3




5 de agosto de 2012    Minicurso: Assembly para 8051 GDESTE     18
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      Minicurso: Assembly para 8051 GDESTE      19
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    Minicurso: Assembly para 8051 GDESTE   20
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    Minicurso: Assembly para 8051 GDESTE   21
TMOD (registro de programação)
               • Modo 3: este modo só pode ser aplicado ao
                 timer 0. Neste modo o timer 0 será dividido
                 em dois timers de 8 bits.




5 de agosto de 2012     Minicurso: Assembly para 8051 GDESTE   22

Mais conteúdo relacionado

Mais procurados

Pic apostila
Pic apostilaPic apostila
Pic apostilamoschen
 
Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timerMayara Mônica
 
Material Auxiliar Para Curso BáSico Msp430 55 A 98
Material Auxiliar Para Curso BáSico Msp430   55 A 98Material Auxiliar Para Curso BáSico Msp430   55 A 98
Material Auxiliar Para Curso BáSico Msp430 55 A 98Texas Instruments
 
2ª SATEC - SENAI - Arduino + CLP + Maquina de estados
2ª SATEC - SENAI - Arduino + CLP + Maquina de estados2ª SATEC - SENAI - Arduino + CLP + Maquina de estados
2ª SATEC - SENAI - Arduino + CLP + Maquina de estadosHamilton Sena
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardFabio Souza
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônicaFabio Souza
 
Utilizando um Display de LCD
Utilizando um Display de LCDUtilizando um Display de LCD
Utilizando um Display de LCDRodrigo Almeida
 
Leitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialLeitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialRodrigo Almeida
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicampFrancisco Fambrini
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduinoRui Alves
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladoresDanilo Morais Pagano
 

Mais procurados (20)

Pic apostila
Pic apostilaPic apostila
Pic apostila
 
Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timer
 
Material Auxiliar Para Curso BáSico Msp430 55 A 98
Material Auxiliar Para Curso BáSico Msp430   55 A 98Material Auxiliar Para Curso BáSico Msp430   55 A 98
Material Auxiliar Para Curso BáSico Msp430 55 A 98
 
HC11
HC11HC11
HC11
 
Apostila cpic
Apostila cpicApostila cpic
Apostila cpic
 
2ª SATEC - SENAI - Arduino + CLP + Maquina de estados
2ª SATEC - SENAI - Arduino + CLP + Maquina de estados2ª SATEC - SENAI - Arduino + CLP + Maquina de estados
2ª SATEC - SENAI - Arduino + CLP + Maquina de estados
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Workshop Microchip Curiosity Board
Workshop Microchip Curiosity BoardWorkshop Microchip Curiosity Board
Workshop Microchip Curiosity Board
 
Roteiro exp9
Roteiro exp9Roteiro exp9
Roteiro exp9
 
Processador intel 4040
Processador intel 4040Processador intel 4040
Processador intel 4040
 
Pro2 10p
Pro2 10pPro2 10p
Pro2 10p
 
Apresentação curso pic básico fbs eletrônica
Apresentação   curso pic básico fbs eletrônicaApresentação   curso pic básico fbs eletrônica
Apresentação curso pic básico fbs eletrônica
 
Utilizando um Display de LCD
Utilizando um Display de LCDUtilizando um Display de LCD
Utilizando um Display de LCD
 
Leitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialLeitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricial
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduino
 
Pisca 2 leds
Pisca 2  ledsPisca 2  leds
Pisca 2 leds
 
Pro2 01p
Pro2 01pPro2 01p
Pro2 01p
 
Programação básica de microcontroladores
Programação básica de microcontroladoresProgramação básica de microcontroladores
Programação básica de microcontroladores
 
Zilog
ZilogZilog
Zilog
 

Destaque

Aula 4 a linguagem assembly
Aula 4   a linguagem assemblyAula 4   a linguagem assembly
Aula 4 a linguagem assemblyLCCIMETRO
 
Aula 6 emu8086
Aula 6   emu8086Aula 6   emu8086
Aula 6 emu8086LCCIMETRO
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyElaine Cecília Gatto
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programaçãoLCCIMETRO
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasFelipe J. R. Vieira
 
Seminário: JavaScript
Seminário: JavaScriptSeminário: JavaScript
Seminário: JavaScriptIvna Valença
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programáticoLCCIMETRO
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadoresLCCIMETRO
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 

Destaque (20)

Aula 4 a linguagem assembly
Aula 4   a linguagem assemblyAula 4   a linguagem assembly
Aula 4 a linguagem assembly
 
Aula 6 emu8086
Aula 6   emu8086Aula 6   emu8086
Aula 6 emu8086
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Assembly
AssemblyAssembly
Assembly
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: Assembly
 
Seminário: C#
Seminário: C#Seminário: C#
Seminário: C#
 
Ruby
RubyRuby
Ruby
 
Pascal
PascalPascal
Pascal
 
Seminário: Delphi
Seminário: DelphiSeminário: Delphi
Seminário: Delphi
 
Seminário: Lisp
Seminário: LispSeminário: Lisp
Seminário: Lisp
 
Seminário: C++
Seminário: C++Seminário: C++
Seminário: C++
 
Phyton
PhytonPhyton
Phyton
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
Seminário: JavaScript
Seminário: JavaScriptSeminário: JavaScript
Seminário: JavaScript
 
Seminário: Lua
Seminário: LuaSeminário: Lua
Seminário: Lua
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programático
 
Pascal
PascalPascal
Pascal
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 

Semelhante a Aula 3 - Assembly - 8051

APRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdf
APRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdfAPRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdf
APRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdfAlbertoEmoto
 
AA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdfAA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdfSilvanildoManoeldaSi
 
Proteção e seletividade cap. 3 - dispositivos de proteção parte 1
Proteção e seletividade   cap. 3 - dispositivos de proteção   parte 1Proteção e seletividade   cap. 3 - dispositivos de proteção   parte 1
Proteção e seletividade cap. 3 - dispositivos de proteção parte 1Alexandre Esteves Reis
 
gk_2021_01_Aula07-twi.pdf
gk_2021_01_Aula07-twi.pdfgk_2021_01_Aula07-twi.pdf
gk_2021_01_Aula07-twi.pdfMicaelMarques13
 
Cartilha Micro-Controlador 80c51 - Assembly
Cartilha Micro-Controlador 80c51 - AssemblyCartilha Micro-Controlador 80c51 - Assembly
Cartilha Micro-Controlador 80c51 - AssemblyPedro Raphael
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFengelrfs
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 

Semelhante a Aula 3 - Assembly - 8051 (11)

Aula3 120922184753-phpapp02
Aula3 120922184753-phpapp02Aula3 120922184753-phpapp02
Aula3 120922184753-phpapp02
 
APRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdf
APRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdfAPRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdf
APRESENTACAO_-_Aula_04_Linguagem_de_Programacao_Ladder.pdf
 
AA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdfAA Apresentacao_TIMER0_PIC16F877A_2016.pdf
AA Apresentacao_TIMER0_PIC16F877A_2016.pdf
 
Aula2 120922184746-phpapp01
Aula2 120922184746-phpapp01Aula2 120922184746-phpapp01
Aula2 120922184746-phpapp01
 
Proteção e seletividade cap. 3 - dispositivos de proteção parte 1
Proteção e seletividade   cap. 3 - dispositivos de proteção   parte 1Proteção e seletividade   cap. 3 - dispositivos de proteção   parte 1
Proteção e seletividade cap. 3 - dispositivos de proteção parte 1
 
gk_2021_01_Aula07-twi.pdf
gk_2021_01_Aula07-twi.pdfgk_2021_01_Aula07-twi.pdf
gk_2021_01_Aula07-twi.pdf
 
945 gcl
945 gcl945 gcl
945 gcl
 
Cartilha Micro-Controlador 80c51 - Assembly
Cartilha Micro-Controlador 80c51 - AssemblyCartilha Micro-Controlador 80c51 - Assembly
Cartilha Micro-Controlador 80c51 - Assembly
 
Aula4 120922184731-phpapp01 (1)
Aula4 120922184731-phpapp01 (1)Aula4 120922184731-phpapp01 (1)
Aula4 120922184731-phpapp01 (1)
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDF
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 

Aula 3 - Assembly - 8051

  • 1. Programação Assembly 8051 – Aula 3 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 1
  • 2. 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 Minicurso: Assembly para 8051 GDESTE 2
  • 3. 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 Minicurso: Assembly para 8051 GDESTE 3
  • 4. 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 Minicurso: Assembly para 8051 GDESTE 4
  • 5. 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 Minicurso: Assembly para 8051 GDESTE 5
  • 6. 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 Minicurso: Assembly para 8051 GDESTE 6
  • 7. Endereços das Interrupções INTERRUPÇÃO ENDEREÇO Reset 000H Externa 0 003H Timer 0 00BH Externa 1 0013H Timer 1 01BH Serial 023H 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 7
  • 8. Habilitação REGISTRO IE (Interrupt enable) EA - - ES ET1 EX1 ET0 EX0 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 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 8
  • 9. Prioridade das Interrupções 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 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 9
  • 10. Flags Flag Interrupção RI E TI Porta Serial TF1 Timer 1 IE1 Interrupção externa 1 TF0 Timer 0 IE0 Interrupção externa 0 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 10
  • 11. 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 Minicurso: Assembly para 8051 GDESTE 11
  • 12. Interrupções externas 0 e 1 INTERRUPÇÃO BIT DE MODO DE SINAL APLICADO EXTERNA PROGRAMAÇÃO DISPARO IT0 = 1 Borda 0 IT0 = 0 Nível IT1 = 1 Borda 1 IT0 = 0 Nível 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 12
  • 13. 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. TIMER TH0 (Parte alta) 0 TL0 (Parte baixa) TH1 (Parte alta) 1 TL1 (Parte baixa) 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 13
  • 14. 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 Minicurso: Assembly para 8051 GDESTE 14
  • 15. 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. TIMER PORTA 0 P3.4 1 P3.5 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 15
  • 16. TMOD (registro de programação) • Bits não-endereçáveis. • Responsável pela programação dos dois timers. REGISTRO TMOD (Timer Mode Control) GATE C/T M1 M0 GATE C/T M1 M0 TIMER 1 TIMER 0 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 16
  • 17. 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 Minicurso: Assembly para 8051 GDESTE 17
  • 18. TMOD (registro de programação) • M1 E M0: determinam o modo de funcionamento do timer de acordo com a tabela abaixo. M1 M0 Modo de Funcionamento 0 0 0 0 1 1 1 0 2 1 1 3 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 18
  • 19. 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 Minicurso: Assembly para 8051 GDESTE 19
  • 20. 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 Minicurso: Assembly para 8051 GDESTE 20
  • 21. 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 Minicurso: Assembly para 8051 GDESTE 21
  • 22. TMOD (registro de programação) • Modo 3: este modo só pode ser aplicado ao timer 0. Neste modo o timer 0 será dividido em dois timers de 8 bits. 5 de agosto de 2012 Minicurso: Assembly para 8051 GDESTE 22