Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI

Slides:



Advertisements
Apresentações semelhantes
MICROCONTROLADORES Escola Politécnica de Pernambuco - UPE
Advertisements

Execução de Programas Partes de um programa: ‣ Dados
Técnicas para operações E/S
Capítulo 2 A família de Microcontroladores MCS-51 da Intel
Capítulo 7 Os “Timers”/Contadores da família de microcontroladores MCS-51 da Intel Prentice Hall Microcontroladores 8051.
Assembly MAC-1 Implementação de ciclos Ciclo ‘while’ // Em Java : ...
Software Básico Silvio Fernandes
Chip-Select e Controle de Interrupção
Chip-Select e Controle de Interrupção Sistemas Embarcados.
Organização da Memória
Sistemas Operacionais
Problemas com Entrada e Saída
Ivan Saraiva Silva Sistemas de Tempo Real Embutidos
Conhecendo Hardware Parte 1
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.
EEL Microprocessadores
EEL Microprocessadores
Sensor de Temperatura Digital TMP75
O MICROPROCESSADOR INTEL 8080
AULA – RTC – Real Time Counter
Interrupts and Exceptions Understanding the Linux Kernel
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
DSP – TMS320LF2407A.
Interrupções do DSP Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware.
Arquitectura de Computadores II
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da.
Sistemas Operacionais I
Módulo MSSP Jadsonlee da Silva Sá
PIC16F877A Linguagem C e Assembly
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
EEL Microprocessadores
Unidade Central de Processamento
Unidade Central de Processamento
Linguagem de Montagem.
Comparação Processadores Hardwired x Microcoded
Escola Politécnica de Pernambuco - UPE Betânia Ribeiro de Almeida
ORGANIZAÇÃO DE COMPUTADORES
Grupo de Engenharia da Computação Departamento de Informática - UFPE
Sergio Cavalcante Centro de Informática – UFPE
Organização e Arquitetura de Computadores
Suporte de hardware à multiprogramação
Universidade Federal de Pernambuco Professor Orientador:
Prof. Remy Eskinazi - Microcontroladores
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI
SISTEMAS OPERACIONAIS I
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da.
Computação L1: Infra-Estrutura Básica
Módulo Timers - PIC16F877A Jadsonlee da Silva Sá
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquitetura de Computadores
Arquitetura 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Memória de Dados EEPROM Jadsonlee da Silva Sá
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc
Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc
Microprocesadores x Microcontroladores
8088 Assembly Software Básico Mitsuo Takaki.
Disciplina: Microcontroladores
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
2a Aula Pratica Dispositivos Programáveis Roteador 2E-2S e Modularização.
1 Ports Paralelos no 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI.
Engenharia de Sistemas Embarcados Aula 5: Técnicas Especiais de Software.
Engenharia de Sistemas Embarcados Aula 4: O Ambiente de Desenvolvimento.
Afonso Ferreira Miguel
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Módulo Timers - PIC16F877A Jadsonlee da Silva Sá.
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Modos de Endereçamento da família MC8051
EA869 Interrupção Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO.
Arquitetura 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi
Transcrição da apresentação:

Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI Interrupções no 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI

O que é uma Interrupção? Ocorre quando o processador é solicitado a interromper uma atividade atual para atender outra de maior urgência naquele instante MOV A, #0FFh INC DPTR MOV R1, 0 MOV R2, 1 MOV IE, #0 SETB 0 EXT1: PUSH 0Ah PUSH 03H MOV IE, #0FFh RETI EXT1

Outro exemplo interrupt Program Execution return … mov a, #2 mov b, #16 mul ab mov R0, a mov R1, b mov a, #12 mov b, #20 add a, R0 mov a, R1 addc a, b mov R1, a end interrupt ISR: orl P1MDIN, #40h orl P1MDOUT,#40h setb P1.6 here: sjmp here cpl P1.6 reti Program Execution return

Características das interrupções Vetorização – Cada interrupção tem um vetor (endereço) onde começa a rotina de atendimento; Mascaramento – Cada interrupção pode ser habilitada (reconhecida) ou não em dado momento; Priorização – As interrupções podem ter um grau de prioridade de forma a serem “escalonáveis” Modo de acionamento – Maneira como as interrupções são acionadas HW Transição Nível SW Instruções INT

Mapa de Vetores das interrupções no 8051 8 bytes ROM Reset 0002h 0000h 000Ah 0003h 0012h 000Bh 001Ah 0013h 0022h 001Bh 002Ah 0023h 0032h 002Bh 07FFh : 0033h Ext. Int. 0 Timer 0 Ext. Int. 1 Timer 1 Serial Port Timer 2 (8052/32)

Priorização natural (Pooling sequence) Fontes de interrupção O 8051 apresenta 5 fontes de interrupções External Interrupt 0 Timer 0 overflow External Interrupt 1 Timer 1 overflow Serial Port events (buffer full, buffer empty) Variantes do 8051 apresentam mais fontes… timers, programmable counter array, ADC, more external interrupts, another serial port (UART) + Priorização natural (Pooling sequence) _

Seqüência de interrupção Se um pedido de interrupção ocorrer E o flag da interrupção estiver habilitada E o flag de habilitação global estiver habiltado E na seqüência correta das prioridades, então: O PC atual é colocado na pilha; A execução do programa continuano vetor da interrupção (PC  (vetor) ); Quando a instrução RETI é encontrada o valor no topo da pilha é carregado no PC e a execução retorna para o ponto anterior a interrupção

Registradores de Controle das Interrupções IE – Interrupt Enable Habilita as interrupções para as 5 fontes do 8051 standard Serial (UART0) Timer 1 External 1 Timer 0 External 0 Flag de habilitação global 1 = Habilita 0 = Desabilita

Registradores de Controle das Interrupções IP – Interrupt priority 0B8h Prioriza as interrupções para as 5 fontes do 8051 standard Serial (UART0) Timer 1 External 1 Timer 0 External 0 1 = Alta prioridade 0 = Baixa prioridade

Controle das Interrupções Registrador Timer Control (TCON) Controle das interrupções externas Controle dos Timers/Counters TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON (0X88) Modo acionamento de int Ext0 Flag de interrupção int Ext0 Modo acionamento de int Ext1 Flag de interrupção int Ext1 Liga / desliga timer 0 Flag de interrupção int timer 0 Liga / desliga timer 1 Flag de interrupção int timer 1

Controle das Interrupções Registrador Serial Control (SCON) Controle das interrupções externas Controle dos Timers/Counters SM0 SM1 SM2 REN TB8 RB8 RI TI SCON (0X98) Flag de interrupção TX Serial Flag de interrupção RX Serial Recebe bit 8 (9o bit) Transmite bit 8 (9o bit) Habilita Recepção Modo funcional 2 Modo funcional 1 Modo funcional 0

Programa acha zero com controle de interrupção INÍCIO DPTR  ENDEREÇO INICIAL Objetivo: Determinar se em um range de memória existe um byte 0 A  M(DPTR) S F0  1 A=0 ? N DPTR  DPTR+1 N FIM? S RET

Programa acha zero com controle de interrupção ; Autores: Turma Dispositivos ; Descrição: O Programa faz a busca no range 0000h a 01FFh de um byte 0. ; Se existir, sinalizamos com flag F0=1 e saímos do programa com DPTR=Posição ; do byte 0. ;***Reset*** ORG 0; Diretiva de origem no endereco 0 LJMP INICIO; Salto para o inicio do programa ; ; ***INT EXTERNA_0*** ORG 03h; Externa 0 LJMP EXTERNA_0; Salta para Rotina Externa 0 ; ***INT TIMER_0*** ORG 0Bh; TIMER 0 LJMP TIMER_0; Salta para Rotina TIMER 0 ; ***INT EXTERNA_1*** ORG 13h; EXTERNA 1 LJMP EXTERNA_1; Salta para Rotina EXTERNA 1 ; ***INT TIMER_1*** ORG 1Bh; TIMER 1 LJMP TIMER_1; Salta para Rotina TIMER 1 ; ***INT SERIAL*** ORG 23h; SERIAL LJMP SERIAL_COM; Salta para Rotina SERIAL_COM

Programa acha zero com controle de interrupção INICIO: MOV DPTR, #0h ; Inicia Ponteiro CLR F0 ; Limpa Flag F0 REPETE: MOVX A, @DPTR ; Poe o dado da posição indicada pelo DPTR no ; Acumulador CJNE A, #0h, CONTINUA ; Pula para CONTINUA se A=! 0 ACHOU: SETB F0 ; Sinaliza o encontro do valor zero com F0=1 SJMP FIM ; Finaliza programa CONTINUA: INC DPTR ; Se não encontrou byte zero, aponta para próxima posição MOV A, DPH ; CJNE A, #02h, REPETE ; Se DPTR<0200h pula para REPETE FIM: SJMP FIM ; FIM ;Continua ...

Programa acha zero com controle de interrupção ;************************* TRATAMENTO DAS INTERRUPÇÕES ************************* EXTERNA_0: NOP ; Código de tratamento de externa0 RETI TIMER_0: NOP ; Código de tratamento de timer0 EXTERNA_1: NOP ; Código de tratamento de externa1 TIMER_1: NOP ; Código de tratamento de timer1 SERIAL_COM: NOP ; Código de tratamento de serial ;******************************************************************************* END ; Fim de Arquivo p/ compilação

Simulação Fazer a simulação do programa Acha zero com controle de interrupção Fazer a simulação do programa normalmente; O que deve ser acrescentado ao programa para que este habilite as interrupções? Acionar os bits indicados para solicitação da interrupção; Verifique se a rotina de tratamento correspondente é atendida “A diferença entre Sonho e Realidade é a quantidade certa de Tempo e Trabalho” W. Douglas