8085 3

833 visualizações

Publicada em

Publicada em: Tecnologia, Negócios
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
833
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

8085 3

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

×