sistemas microcontrolados - ccfacape.webnode.com · sistemas microcontrolados introdução aos...

26
Sistemas Microcontrolados Introdução aos Microcontroladores PIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores e Robótica - FACAPE Microprocessadores Os microprocessadores são circuitos integrados compostos por diversas portas lógicas que realizam operações matemáticas e lógicas diversas. Os sistemas microprocessados são compostos de dispositivos separados: microprocessador, memória, interface de entrada e saída (compostas por transistores, acopladores ópticos, etc). Mas por que não incluir todos estes dispositivos em um encapsulamento? 2

Upload: trinhkhanh

Post on 07-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Sistemas Microcontrolados

Introdução aos Microcontroladores PIC

Prof. Sergio F. Ribeiro

Ciência da Computação

Microcontroladores e Robótica - FACAPE

Microprocessadores

� Os microprocessadores são circuitos integrados compostos por diversas portas lógicas que realizam operações matemáticas e lógicas diversas.

� Os sistemas microprocessados são compostos de dispositivos separados: microprocessador, memória, interface de entrada e saída (compostas por transistores, acopladores ópticos, etc).

� Mas por que não incluir todos estes dispositivos em um encapsulamento?

2

Page 2: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Microcontroladores� A união das memórias com os microprocessadores

possibilitou o advento dos microcontroladores.� Um microcontrolador é um chip que contém praticamente

um pequeno computador embutido, de baixo custo, com:� núcleo de processamento� memórias RAM, ROM e Flash� periféricos de E/S� conversores de sinais� gerador de clock, entre outros.

� Os microcontroladores devem possuir uma interface com o ambiente externo para que o desenvolvedor de hardware possa realizar operações diversas, como ligar um relé, acender um LED, ler um sensor, etc.

3

Microcontroladores e Robótica - FACAPE

Microcontroladores

� Microcontroladores são dispositivos voltados a sistemas embarcados e aplicações específicas, ao contrário dos μPs, destinados a PCs e aplicações de uso geral.

� Principais razões da integração das memórias aos μCs:� redução do número de pinos do encapsulamento.� redução dos custos com componentes externos.� diminuição das dimensões da montagem.� simplificação do circuito de aplicação.

� Porém, tal integração tem como desvantagem:� limitação da complexidade do programa embarcado, devido ao

tamanho reduzido da memória nos μCs.

4

Page 3: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Microcontroladores� O microcontrolador é programável ⇒ toda a lógica de

operação é estruturada na forma de um programa e gravada dentro do componente.

� Os µCs não possuem, geralmente, um sistema operacional.� Os programas rodam diretamente no chip.� O software que roda no µC é chamado de firmware.� O software é programado em linguagens C ou Assembly na

maior parte dos casos.� A programação é feita com o uso de ferramentas instaladas

em um PC (IDE).� Um compilador é usado para compilar programas em C, e

são conhecidos como cross-compiler (PC → µC).5

Microcontroladores e Robótica - FACAPE

Microcontroladores

� O microcontrolador é provido internamente de memória de programa, memória de dados, portas de I/O, timers, contadores, comunicação serial, PWMs, conversores analógico-digitais, etc.

� Toda vez que o microcontrolador for alimentado, o programa interno (firmware) será executado.

� Atualmente, muitos equipamentos de nosso uso diário (eletrodomésticos, vídeo-players, alarmes, celulares, brinquedos, etc.) utilizam microcontroladores para execução de suas funções básicas.

6

Page 4: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Arquitetura Básica de um Microcontrolador

7

Microcontroladores e Robótica - FACAPE

Aplicações Típicas� Tipicamente, μCs são usados no controle de:

� periféricos de informática� eletrônicos de consumo� sistemas de supervisão� instrumentação� automação� robótica

8

Page 5: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Marcas de Microcontroladores� Algumas marcas e modelos:

� ATMEL: ATMEGA, AT91, AT90;� INTEL: MCS51 ou 8051 (vários fabricantes fabricam este modelo,

mas a Intel foi a primeira a produzi-lo, em 1977);� Microchip: PIC, DSPIC.� Freescale (Motorola): 68HC, MPC.� Texas Instruments: MSP430, TMS370

Microchip

9

Os Microcontroladores PIC

� Os PIC, ou PICmicro, são microcontroladores fabricados pela empresa americana Microchip Technologies.

� Atualmente, a Microchip é uma das maiores fabricantes mundiais de microcontroladores de 8 bits.

� Em 2016, a Microchip adquiriu a Atmel (produz µC Atmega do Arduino) por cerca de 4 bilhões de dólares.

� PIC é uma sigla para “Programmable Interface Controller”e origina-se no início dos anos 80, quando foi concebido para operar como interface controladora de periféricos.

� Núcleo composto por uma máquina RISC:� as versões mais simples tem apenas 33 instruções.� memória segue a arquitetura Havard.

Microcontroladores e Robótica - FACAPE 10

Page 6: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

� Os microcontroladores PIC apresentam uma estrutura interna do tipo Havard, enquanto muitos µC tradicionais (ex: 8051, ATMega) possuem arquitetura de Von-Neumann.

� A diferença está na forma como os dados e o programa são processados pelo microcontrolador.

� Arquitetura Von-Neumann ⇒ existe apenas um barramento interno por onde passam as instruções e os dados.

� Arquitetura Havard ⇒ existem dois barramentos internos (um de dados e outro de instruções).

� Nos µC PIC, o barramento de dados é sempre de 8 bits, e o de instruções pode ser de 12, 14, 16 ou 32 bits, depen-dendo do modelo do PIC.

Arquitetura Havard x

Arquitetura Von Neumann

11

Microcontroladores e Robótica - FACAPE

Arquitetura Havard x

Arquitetura Von NeumannArquitetura Von-Neumann:

Arquitetura Havard:

12

Page 7: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Os Microcontroladores PIC

Família de Microcontroladores PIC:

Microcontroladores e Robótica - FACAPE 13

Os Microcontroladores PIC

Os Microcontroladores PIC de 8 bits

� São mais de 300 uCs, reunindo desde os mais simples e pequenos (6 pinos) a dispositivos de alta gama, com maior poder de processamento, periféricos e interfaces, chegando a 100 pinos.

� Dividem-se em 4 categorias, de acordo com a complexidade da aplicação a que se destinam:� Baseline� Mid-Range� Enhanced Mid-Range� PIC18

Microcontroladores e Robótica - FACAPE 14

Page 8: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Os Microcontroladores PICPIC 8-bits: Memória de Programa vs N° de Pinos

Microcontroladores e Robótica - FACAPE 15

Estrutura Interna – PIC16F628A

� ULA diretamente ligada ao registrador W.

� Memória de programa.

� Memória de dados (RAM).

� Portas com todos os seus pinos de I/O.

� Os periféricos, tais como:EEPROM, timers, comparador interno,módulo CCP e a porta serial.

� O registrador de status.

� O contador de programa (PC).

� Circuitos internos de reset, osciladores,Watchdog Timer (WDT), Power-upe Brown-out internos.

Microcontroladores e Robótica - FACAPE 16

Page 9: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Pinagem do PIC16F628A� O PIC16F628A possui 18 pinos divididos em terminais de

alimentação, de reset, de conexão com o oscilador e os terminais de portas e periféricos.

Como o µC possui diversas característi-cas e um pequeno número de terminais, muitos terminais possuem mais de uma função.

17

Microcontroladores e Robótica - FACAPE

Funções dos Pinos

18

Page 10: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Funções dos Pinos

19

Microcontroladores e Robótica - FACAPE

Funções dos Pinos

20

Page 11: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

O PIC16F628A

� O PIC16F628A apresenta as seguintes características:� 18 pinos no total, sendo 16 de I/O� frequência máxima de operação: 20MHz� memória de programa: 2k words (2048 x 14)� memória de dados: 224 bytes (224 x 8)� memória EEPROM: 128 bytes (128 x 8)� comunicação serial: USART� 10 fontes de interrupção� 3 timers (2 x 8 bits, 1 x 16 bits)� 2 comparadores analógicos� 1 módulo CCP (capture, compare, PWM)� 35 instruções de máquina

21

Microcontroladores e Robótica - FACAPE

Ciclos de Máquina� Nos µC PIC, o sinal de clock é internamente dividido por 4.� Para um clock externo de 4MHz, temos um ciclo interno de

1 MHz e, portanto, cada ciclo de máquina dura 1 µs.� A divisão do clock por 4 forma as fases Q1, Q2, Q3 e Q4.� Basicamente Q1 envolve a busca de instrução, Q2 a

decodificação de instrução, Q3 a execução de instrução e Q4 a escrita do resultado.

� Esse processamento por fases é conhecido como execução em pipeline.

� Isso permite que todas as instruções sejam executadas em apenas um ciclo (gasta 1us para um clock de 4MHz) e torna o sistema muito mais rápido.

22

Page 12: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Ciclos de Máquina� O diagrama seguinte foi retirado do datasheet do µC, e

demonstra, claramente, as divisões dos ciclos nas quatro fases (Q1 a Q4) e o conceito de pipeline.

23

Microcontroladores e Robótica - FACAPE

Osciladores

� Os microcontroladores PIC possuem alguns modos de osciladores disponíveis para operação.

� Tipos de osciladores:� RC ⇒ RC externo (uso de resistor e capacitor)� INTOSC ⇒ RC interno� EC ⇒ fonte de clock externa� HS ⇒ cristal/ressonador de alta frequência (acima de 4MHz)� XT ⇒ cristal/ressonador de média frequência� LP ⇒ cristal/ressonador de baixa frequência (32kHz)

24

Page 13: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Osciladores� RC Externo

25

Microcontroladores e Robótica - FACAPE

Osciladores� Cristal

26

Page 14: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Organização de Memória� São divididas em três tipos:

� ROM ⇒ Memória de Programa� RAM ⇒ Memória de Dados� EEPROM ⇒ Memória de Armazenamento

� Por ser um microcontrolador de arquitetura Havard, o PIC16F628A tem suas memórias de programa e de dados mapeadas separadamente.

� Este microcontrolador possui ainda uma terceira memória: a memória não-volátil EEPROM.

� EEPROM são memórias não-voláteis, ou seja, não apagam seu conteúdo quando retira-se a alimentação.

27

Microcontroladores e Robótica - FACAPE

Memória de Programa� A memória de programa presente no PIC16F628A é do

tipo FLASH (sufixo “F”) que permite ser gravada/apagada mais de 1000 vezes.

� No PIC16F628A há o registrador PC (Program Counter) de 13 bits capaz de endereçar um espaço de memória de programa de 2k x 14.

� Vetor de reset ⇒ corresponde ao primeiro endereço da memória de programa que será executado quando o PIC começar a rodar. Geralmente o reset aponta para o endereço 0x0000.

� Vetor de interrupção ⇒ as rotinas de interrupção serão armazenadas na área de programação. Há um endereço reservado para o início das RTIs (0x0004).

28

Page 15: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Memória de Programa

29

Microcontroladores e Robótica - FACAPE

Memória de Dados� É uma memória do tipo RAM usada para armazenar todas

as variáveis e registradores de forma temporária durante a execução do programa.

� Essa memória armazena dados de 8 bits e é volátil, ou seja, quando o PIC é desligado, ela é automaticamente perdida. No PIC16F628A, essa memória é de 224 bytes.

� A memória de dados pode ser lida/escrita em tempo de execução do programa através de diversas instruções.

� A memória de dados é dividida em quatro bancos contendo os registradores de propósito geral (GPRs, em inglês) e os registradores de função específica (SFRs, em inglês).

30

Page 16: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Memória de Dados

31

Obs: posteriormente voltaremos a estudar memória de dados, mais particularmente sobre os SFRs(registradores de função específica). E veremos como ativar/desativar certas funções do µC alterando os valores dos SFRs (fazer configuração via software).

Microcontroladores e Robótica - FACAPE 32

Page 17: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Memória EEPROM

� A EEPROM é uma memória não-volátil que consegue manter as informações mesmo sem alimentação.

� É usada para armazenar valores que não podem ser perdidos.

� É escrita e apagada eletricamente. Se necessário, pode ser usada uma EEPROM externa.

� No PIC16F628A, a EEPROM tem o tamanho de 128 bytes.

33

Microcontroladores e Robótica - FACAPE

Configurações do PIC� Alguns recursos do PIC podem ser configurados para

aplicações específicas.� Dependendo do compilador usado para programar o PIC,

estas configurações podem ser feitas direto no programa ou podem ser feitas em uma janela ‘Settings’ do próprio compilador.

� Algumas destas configurações são:� master clear (MCLR)� watchdog timer� brown out detect� power up timer� low voltage program� código de proteção

34

Page 18: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Master Clear (MCLR)

� Trata-se de um reset externo.� É ativo em nível baixo, ou seja, quando aplicado um nível

baixo no pino, ocorre o reinício do programa.� No PIC16F628A, o MCLR pode ser ativo, ou não, via software.� No PIC16F628A, o MCLR está no RA5 (pino 4).

resistor de pull-up

Microcontroladores e Robótica - FACAPE 35

Microcontroladores e Robótica - FACAPE

Watchdog Timer

� Watchdog significa cão de guarda.� Watchdog Timer é um contador de 8 bits utilizado para

verificar se o programa travou.� Sua função é reiniciar (reset) o microcontrolador quando

ocorre overflow da contagem.� Uma vez o WDT ativado, o programa deve estar preparado

para limpar o contador do WDT periodicamente.� caso contrário, o programa será resetado toda vez que esse

contador estourar.

36

Page 19: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Brown Out Detect

� É um sistema de detecção automática de baixa tensão de alimentação.

� Tensões configuráveis: 4V ou 2.1V.

� Caso a tensão de alimentação caia abaixo do valor configurado por mais de 100µs, ocorrerá um reset no software (sistema será reiniciado).

37

Microcontroladores e Robótica - FACAPE

Power Up Timer

� Circuito interno que retarda o início da execução do programa.

� Garante estabilização da tensão de alimentação.

� Esta opção irá fazer com que o PIC só comece a operar cerca de 72ms após o pino MCLR ser colocado em nível alto.

38

Page 20: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Low Voltage Program

� Trata-se do sistema de programação do PIC (gravação de memória de programa) em baixa tensão: 5V.

� Normalmente, essa programação é habilitada por uma alta tensão (13V) no pino MCLR.

� Com isso, por meio de baixa tensão, é possível criarmos sistemas onde um PIC possa gravar o programa de outro PIC.

39

Microcontroladores e Robótica - FACAPE

Código de Proteção

� Para a gravação em série, é muito importante que essa opção esteja ativada, pois isso impedirá que qualquer pessoa consiga ler o programa gravado dentro do PIC.

� Essa é a única proteção que você terá para que ninguém possa “copiar” o seu sistema.

� Essa opção impedirá que você leia a memória mas não impedirá que você grave outro programa por cima.

40

Page 21: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Interrupções� Uma interrupção serve para interromper o programa

imediatamente.� As interrupções são ações tratadas diretamente pelo

hardware, o que as torna muito rápidas e disponíveis em qualquer ponto do sistema.

� Quando uma interrupção acontece:� o programa é paralisado.� o programa guarda, na pilha, o endereço da próxima instrução.� ocorre o desvio para um endereço fixo da memória de programa.� neste endereço (0x04 no PIC16F628A) uma função específica

(definida pelo programador) é executada.� e depois o programa continua a ser executado no mesmo ponto

em que estava.

41

Microcontroladores e Robótica - FACAPE

Interrupções no PIC

� Existem modelos de PIC que nem possuem interrupções (ex: 12C50X, 16C54).

� Mas na maioria dos modelos de PIC, as interrupções estão presentes (em maior ou menor número).

� O PIC16F628A possui 10 tipos de interrupções:� 3 relacionadas a timers� externa� mudança de estado� fim de escrita na EEPROM� de USART (2)� de Comparador� e de CCP

Veremos agora detalhes de algumas destas interrupções.

42

Page 22: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Interrupções pelos Timers

� Os timers são registradores que atuam como contadores ou temporizadores.

� Há três timers no PIC16F628A: timer 0, timer 1 e timer 2.� As interrupções pelo timer acontecem sempre que um dos

contadores de tempo interno, denominados TMR0 (Timer 0), TMR1 (Timer 1) e TMR2 (Timer 2), estouram.

� No caso do TMR0, como ele é um registrador de 8 bits, o estouro ocorre sempre que ele passar de 0xFF para 0x00.

� No caso do TMR1 (registrador de 16 bits), o estouro ocorre sempre que ele passar de 0xFFFF para 0x0000.

43

Microcontroladores e Robótica - FACAPE

Interrupções pelos Timers

� Já para o TMR2, que é também um registrador de 8 bits, a interrupção não acontece necessariamente quando ele estoura o limite de 0xFF, e sim quando ele atinge um valor especificado em outro registrador especial chamado PR2.

� A interrupção pelo timer é utilizada normalmente para a contagem de tempo.

� O TMR0 e TMR1 podem ser incrementados internamente tanto pelo clock da máquina como também por um sinal externo.� ao usar um sinal externo, os timers passam a ser contadores de

pulsos, podendo ser utilizados para outras finalidades.

44

Page 23: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Interrupções pelos Timers

� Tempo de estouro do timer corresponde ao tempo que o processador leva para ativar uma interrupção pelo timer.

� Cálculo do tempo de estouro:� para o Timer0:TE = (28 – TMR0) * Prescale * ciclo_de_maquina

� para o Timer1:TE = (216 – (TMR1H:TMR1L)) * Prescale * ciclo_maquina

� para o Timer2:TE = PR2 * Prescale * Postscale * ciclo_de_maquina

Obs: TMR0, TMR1H, TMR1L e PR2 são registradores de 8 bits.

45

Microcontroladores e Robótica - FACAPE

Interrupção Externa� Essa interrupção é gerada por um sinal externo ligado a

uma porta específica do PIC, que no caso é o bit RB0 (pino 6), desde que esteja configurada como entrada.

� A interrupção externa é utilizada para diversas finalidades:� comunicação entre microcontroladores, garantindo o sincronismo.� reconhecimento de um botão ou outro sinal do sistema que

necessite de uma ação imediata.

� A interrupção externa pode ser configurada para ocorrer na borda de subida ou na borda de descida do pulso.

� Flag de sinalização da interrupção externa: INTF.� Controle de habilitação: INTE.� Estas duas flags são encontradas no registrador INTCON.

46

Page 24: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Interrupção por Mudança de Estado

� Diferentemente da interrupção externa, a interrupção por mudança de estado ocorre tanto na borda de descida como na borda de subida.

� Essa interrupção, por sua vez, está ligada ao nibble mais significativo da porta B, ou seja, RB4, RB5, RB6 e RB7 simultaneamente.

� Por isso, se esses pinos forem configurados como entrada, a mudança de estado em qualquer um deles irá gerar a interrupção.

� Esse tipo de interrupção pode ser utilizado para verificação de uma rede de sensores conectada a esses pinos.

� Flag sinalizador desta interrupção: RBIF.� Habilitação: RBIE.

47

Microcontroladores e Robótica - FACAPE

Interrupção de Fim de Escrita na EEPROM

� Como foi visto anteriormente, alguns PICs possuem uma memória EEPROM interna.

� Essa interrupção serve para detectarmos o final de uma rotina de escrita nessa memória.

� A utilização da interrupção não é obrigatória para que a escrita funcione, mas, como a EEPROM é lenta na hora de escrever, em alguns sistemas sua utilização pode ser necessária para evitar uma parada durante a escrita na EEPROM.

48

Page 25: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Interrupção de Comparador

� Uma vez que o PIC16F628A possui dois comparadores internos, estes poderão ser utilizados de forma totalmente independente do programa, ou de forma mista.

� No último caso, o resultado da comparação poderá ser analisado pelo programa para a tomada de decisões.

� Para facilitar ainda mais esta função, a interrupção do comparador pode ser utilizada para avisar o sistema sempre que houve uma mudança de estado na resposta da comparação.

49

Microcontroladores e Robótica - FACAPE

Interrupções de USART

� USART significa Universal Synchronous Asynchronous Receiver Transmitter.

� O PIC16F628A possui um sistema completo (via hardware) para comunicação serial do tipo USART, por meio do protocolo RS-232.

� Este sistema facilita todo o processamento para entrada e saída de dados seriais.

� Este sistema possui duas interrupções para informar o programa quando um dado foi recebido e quando a transmissão de outro dado já foi terminada.

50

Page 26: Sistemas Microcontrolados - ccfacape.webnode.com · Sistemas Microcontrolados Introdução aos MicrocontroladoresPIC Prof. Sergio F. Ribeiro Ciência da Computação Microcontroladores

Microcontroladores e Robótica - FACAPE

Interrupção de CCP� O módulo CCP (Capture, Compare e PWM) possui uma

interrupção para informar ao programa uma das duas situações possíveis:� fim da captura (Capture)� fim da comparação (Compare)

� O modo Capture pode ser utilizado para contar o tempo (TMR1) entre duas mudanças de estado de uma entrada específica (T1CKI).� com isso podemos implementar, por exemplo, um periodímetro.

� Já como Compare, podemos comparar o valor de TMR1 com o especificado em outro registrador especial (CCPR1).� desta forma podemos monitorar a quantidade de pulsos na

entrada relacionada ao TMR1 (T1CKI).51