8085 Interrupções
Interrupções São desvios do programa ocasionados por eventos externos. Interrupção por Software Interrupção por Hardware Nível Borda Ascendente Borda Descendente Borda e nível
Interrupções no 8085 CPU  RAM RST0 0000H  2000H  ........ RST3 0018H  2018H RST4 0020H  2020H RST5 0028H  2028H
Interrupções no 8085 Prioridade TRAP  0024  1 20D1H RST5.5 002C  4 20C8H RST6 0030  2030H RST6.5 0034   3 20CBH RST7 0038H 2038H RST7.5 003C   2 20CEH
Interrupções no 8085 Flags usados IP – Interrupt Priority IE – Interrupt Enable 5.5  6.5 7.5 EA 5.5  6.5 7.5
Interrupções no 8085 ; A Interrupção 7.5 deve zerar o contador ; Teste quais são os problemas ???? LXI SP,2060H  ; Inicializa pilha MVI A,18H  ; Habilita 5.5, 6.5 7.5 SIM inicio: MVI A,00H EI
Interrupções no 8085 LOOP:   ADI 01H ; INR A não  CY) DAA ; utiliza CY flag na corr. PUSH PSW  ; Salva contagem MVI D,0 MOV E,A CALL MOSTRAD MVI D,05H  ; Atraso de 500ms CALL DELAY POP PSW  ; Recupera A JMP LOOP
Interrupções no 8085 T75:  MVI A,0 EI RET ORG RST5.5 ; Evitar RST 5.5 EI RET ORG RST6.5  ; evitar RST 6.5 EI RET ORG  RST7.5  ; Desvio da RST 7.5 JMP T75 ORG  TRAP  ; não Mascarável   EI RET END
Interrupções no 8085 LXI SP,20C0H  ; Inicializa pilha MVI A,18H  ; Habilita 5.5, 6.5 e7.5  SIM EI LOOP: LDA CONTA ADI 01H  DAA  ; Ajusta p/Decimal STA CONTA CALL MOSTRAA MVI D,05H  ; Atraso de 500ms CALL DELAY JMP LOOP TRATADOR: MVI A,00H STA CONTA EI RET CONTA:  DB 00H ORG RST7.5  ; Desvio da RST 7.5 JMP TRATADOR END     ints85a.asm
Interrupções no 8085 LXI SP,20C0H  ; Inicializa pilha MVI A,18H SIM   ; Habilita 5.5, 6.5 e 7.5 MVI A,00H  STA STATE ; Flag de contagem STA COUNT ; Inicializa  EI LOOP:  LDA COUNT ADI 01H  DAA ; Utiliza CY na correção STA COUNT CALL MOSTRAA MVI D,05H  ; Atraso de 500ms CALL DELAY LDA STATE CPI 00H  ; Testa se houve INT JZ LOOP  ; Continua contando  MVI A,00H
Interrupções no 8085 LDA STATE CPI 00H  ; Testa critério  JZ LOOP  ; Continua  MVI A,00H STA COUNT  ; zera a contagem STA STATE  ; Reinicializa flag JMP LOOP HNDLR:  PUSH PSW MVI A,01H STA STATE EI POP PSW RET STATE  DB 00H  ; Flag global INT COUNT  DB 00H  ; Contagem ORG RST7.5  ; Desvio da RST  JMP HNDLR END
Interrupções no 8085 ;Um contador cujo incremento deve ser  ;alternado entre 1 e 2 com int7.5 MVI A,00H  STA STATE ; Flag de reset  STA COUNT  ; Inicializa cont. EI LOOP:  LDA COUNT LXI H,INCRE ADD M ;  DAA  ; Utiliza CY  STA COUNT CALL MOSTRAA MVI D,05H  ; Atraso de 500ms CALL DELAY LDA STATE CPI 00H  ;Testa de houve INT JZ LOOP  ;Continua ate STATE = 0
Interrupções no 8085 LDA INCRE CPI 1 JZ DOIS MVI A,1 STA INCRE JMP CONTINUA DOIS: MVI A,2   STA INCRE CONTINUA  ; STA COUNT  ; CASO  MVI A,0  STA STATE  ; reinicializa Flag JMP LOOP T75: PUSH PSW MVI A,01H STA STATE EI POP PSW RET
Interrupções no 8085 STATE  DB 00H ; Flag global COUNT  DB 00H ; Contagem incremento DB  ORG RST7.5  ;Desvio RST 7.5 JMP T75 END
Características de um tratador de interrupção Local do tratador Tamanho - Pequeno Não alterar Registradores Não alterar a pilha Interrupções

8085 3

  • 1.
  • 2.
    Interrupções São desviosdo programa ocasionados por eventos externos. Interrupção por Software Interrupção por Hardware Nível Borda Ascendente Borda Descendente Borda e nível
  • 3.
    Interrupções no 8085CPU RAM RST0 0000H 2000H ........ RST3 0018H 2018H RST4 0020H 2020H RST5 0028H 2028H
  • 4.
    Interrupções no 8085Prioridade TRAP 0024 1 20D1H RST5.5 002C 4 20C8H RST6 0030 2030H RST6.5 0034 3 20CBH RST7 0038H 2038H RST7.5 003C 2 20CEH
  • 5.
    Interrupções no 8085Flags usados IP – Interrupt Priority IE – Interrupt Enable 5.5 6.5 7.5 EA 5.5 6.5 7.5
  • 6.
    Interrupções no 8085; A Interrupção 7.5 deve zerar o contador ; Teste quais são os problemas ???? LXI SP,2060H ; Inicializa pilha MVI A,18H ; Habilita 5.5, 6.5 7.5 SIM inicio: MVI A,00H EI
  • 7.
    Interrupções no 8085LOOP: ADI 01H ; INR A não CY) DAA ; utiliza CY flag na corr. PUSH PSW ; Salva contagem MVI D,0 MOV E,A CALL MOSTRAD MVI D,05H ; Atraso de 500ms CALL DELAY POP PSW ; Recupera A JMP LOOP
  • 8.
    Interrupções no 8085T75: MVI A,0 EI RET ORG RST5.5 ; Evitar RST 5.5 EI RET ORG RST6.5 ; evitar RST 6.5 EI RET ORG RST7.5 ; Desvio da RST 7.5 JMP T75 ORG TRAP ; não Mascarável EI RET END
  • 9.
    Interrupções no 8085LXI SP,20C0H ; Inicializa pilha MVI A,18H ; Habilita 5.5, 6.5 e7.5 SIM EI LOOP: LDA CONTA ADI 01H DAA ; Ajusta p/Decimal STA CONTA CALL MOSTRAA MVI D,05H ; Atraso de 500ms CALL DELAY JMP LOOP TRATADOR: MVI A,00H STA CONTA EI RET CONTA: DB 00H ORG RST7.5 ; Desvio da RST 7.5 JMP TRATADOR END ints85a.asm
  • 10.
    Interrupções no 8085LXI SP,20C0H ; Inicializa pilha MVI A,18H SIM ; Habilita 5.5, 6.5 e 7.5 MVI A,00H STA STATE ; Flag de contagem STA COUNT ; Inicializa EI LOOP: LDA COUNT ADI 01H DAA ; Utiliza CY na correção STA COUNT CALL MOSTRAA MVI D,05H ; Atraso de 500ms CALL DELAY LDA STATE CPI 00H ; Testa se houve INT JZ LOOP ; Continua contando MVI A,00H
  • 11.
    Interrupções no 8085LDA STATE CPI 00H ; Testa critério JZ LOOP ; Continua MVI A,00H STA COUNT ; zera a contagem STA STATE ; Reinicializa flag JMP LOOP HNDLR: PUSH PSW MVI A,01H STA STATE EI POP PSW RET STATE DB 00H ; Flag global INT COUNT DB 00H ; Contagem ORG RST7.5 ; Desvio da RST JMP HNDLR END
  • 12.
    Interrupções no 8085;Um contador cujo incremento deve ser ;alternado entre 1 e 2 com int7.5 MVI A,00H STA STATE ; Flag de reset STA COUNT ; Inicializa cont. EI LOOP: LDA COUNT LXI H,INCRE ADD M ; DAA ; Utiliza CY STA COUNT CALL MOSTRAA MVI D,05H ; Atraso de 500ms CALL DELAY LDA STATE CPI 00H ;Testa de houve INT JZ LOOP ;Continua ate STATE = 0
  • 13.
    Interrupções no 8085LDA INCRE CPI 1 JZ DOIS MVI A,1 STA INCRE JMP CONTINUA DOIS: MVI A,2 STA INCRE CONTINUA ; STA COUNT ; CASO MVI A,0 STA STATE ; reinicializa Flag JMP LOOP T75: PUSH PSW MVI A,01H STA STATE EI POP PSW RET
  • 14.
    Interrupções no 8085STATE DB 00H ; Flag global COUNT DB 00H ; Contagem incremento DB ORG RST7.5 ;Desvio RST 7.5 JMP T75 END
  • 15.
    Características de umtratador de interrupção Local do tratador Tamanho - Pequeno Não alterar Registradores Não alterar a pilha Interrupções