Ir ao conteúdo
  • Cadastre-se

MrGui1100

Membros Juniores
  • Total de itens

    1
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Há um tópico parecido aqui no site, mas não solucionou a dúvida. Possuo o conhecimento de como programar interrupções, no entanto, o máximo de delay que elas permitem são 65536us. Como faço para fazer interrupções maiores que esse valor? Esta programação abaixo permite 20.000us (ou 20ms), seu objetivo é incrementar em 1 o acumulador e depois de 20ms, ocorrer uma interrupção: ORG 0000H LJMP 100H ORG 0BH CLR TR0 RETI ORG 100H INICIO: MOV IE ,#82H MOV IP ,#02H MOV TMOD,#01H MOV TH0 ,#HIGH(65535-20000) MOV TL0 ,#LOW (65535-20000) SETB TR0 MOV A ,#00H LOOP: INC A LJMP LOOP END Como faço para aumentar este valor SEM TRAVAR num loop infinito, como no caso abaixo (Seu objetivo foi trocar o estado de P2.5 a cada (20*10)ms no timer1 modo 01), para isso, usei DJNZ para repetir a interrução 10 vezes seguidas (ou seja, travei a programação): ORG 0000H LJMP INICIO ORG 001BH LJMP ROTINA INICIO: CLR P2.5 MOV IE, #88H MOV IP, #08H MOV TCON, #40H MOV TMOD, #10H MOV TH1, #0D8H MOV TL1, #0F1H LJMP $ ; ESCREVA O PROGRAMA PRINCIPAL AQUI. ROTINA: MOV R0, #09H LOOP: MOV TH1, #0D8H MOV TL1, #0F0H JNB TF1,$ ; ESPERA A CONTAGEM TERMINAR (ESPERA O OVERFLOW) - não é possível fazer outras coisas coisas, somos obrigados a esperar TF1, logo, não é o ideal. CLR TF1 ; LIMPA O TF1 POIS ELE NÃO MUDA DE ESTADO AUTOMATICAMENTE QUANDO O OVERFLOW TERMINA. DJNZ R0, LOOP ; ESPERAMOS (TRAVADO) A INTERRUÇÃO ACONTECER 10 VEZES (20*10 = 200ms) CPL P2.5 ; INVERTE O ESTADO LÓGICO DE P2.5 A CADA 200ms RETI Se alguém puder me dizer como faço para programar interrupções de mais de 65535us, eu ficaria agradecido!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×