A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Microcontroladores PIC

Apresentações semelhantes


Apresentação em tema: "Microcontroladores PIC"— Transcrição da apresentação:

1 Microcontroladores PIC
Tássio Borges Departamento de Engenharia Elétrica

2 Introdução Um microcontrolador difere de um microprocessador em vários aspectos. Primeiro e o mais importante, é a sua funcionalidade. Para que um microprocessador possa ser usado, outros componentes devem-lhe ser adicionados, tais como memória e componentes para receber e enviar dados. Em resumo, isso significa que o microprocessador é o verdadeiro coração do computador. Por outro lado, o microcontrolador foi projetado para ter tudo num só. Nenhuns outros componentes externos são necessários nas aplicações, uma vez que todos os periféricos necessários já estão contidos nele. Assim, nós poupamos tempo e espaço na construção dos dispositivos.

3

4

5 Periféricos do PIC Memórias Unidade Central de Processamento (CPU)
RAM ROM EEPROM Flash Unidade Central de Processamento (CPU) Interface de Entrada e Saída (I/O) Comunicação Serial / USB / SPI / ZigBee Temporizador Watchdog Modulador de Largura de Pulso (PWM) Conversor Analógico – Digital (ADC)

6 Memórias RAM FLASH ROM EEPROM
É a memória de dados do PIC. É apagada se o PIC for desligado. FLASH É um tipo de memória de programa do PIC, pode ser reescrita quase que infinitamente. ROM Outro tipo de memória de programa do PIC que só pode ser gravada uma vez EEPROM Outro tipo de memória que pode ser de dados ou de programa do PIC, mas esse tipo de memória não se apaga com o desligamento do microcontrolador.

7 CPU e I/O CPU Entrada e Saída
Na Unidade de processamento Central são processador todos os dados do microcontrolador, como operações lógicas e matemáticas. Entrada e Saída A interface de entrada e saída do microcontrolador são os pinos.

8 Comunicação Os microcontroladores da família PIC possuem protocolos de comunicação disponíveis para o programador. Alguns são: Serial (RS232) USB SPI (Serial Peripheral Interface) Ethernet ZigBee (IEEE )

9 Temporizador e Watchdog
O temporizador é incrementado a cada intervalo predefinido de tempo. O watchdog é um temporizador de uso específico, pois ele só pode ser usado para reiniciar o microcontrolador no caso em que o tempo de execução do programa seja maior que o tempo definido pelo watchdog. EXEMPLO: Ao programar um microcontrolador o programador define o watchdog para 128ms, que é o tempo aproximado da execução do programa, porém o programa trava e quando o watchdog conta um valor superior a 128ms ele reinicia o microcontrolador.

10 PWM Modulação por Largura de pulso

11 ADC Conversor analógico – digital
Os dados presentes na natureza são analógicos, porém o microcontrolador só consegue processar dados digitais. A solução é converter os dados de natureza analógica em dados digitais para que o microcontrolador possa entender. Isso vale para temperatura, tensão, velocidade.

12 Oscilador Para que o PIC funcione é necessário um sistema de oscilação para criar o CLOCK do sistema. O clock do sistema é gerado na maioria dos casos por um cristal oscilador. O clock não é o inverso da frequência de oscilação.

13 Programação em C Compiladores principais: PIC – C (CCS)
Hi-Tech C (Hi-Tech) C18,C32 (Microchip) MikroC (mikroElektronika)

14 PIC C

15 Programação Para programar o PIC no PIC – C é necessário definir qual é o microcontrolador. Exemplo: PIC16F877A Então podemos partir para a programação.

16 Na linha 1, colocamos o arquivo que contém as definições do PIC.
Na linha 2, é definido a utilização do ADC do PIC com 8 bits de resolução. Na linha 3 é colocado o clock do cristal utilizado, nesse caso é de 4MHz Na linha 4 são definidos os fuses do microcontrolador.

17 Fuses do PIC16F877A

18 FUSES Fuses de Cristal: Fuses Alimentação: PUT (Power Up Time)
LP (Low Power - <200KHz ) XT (Cristal - <= 4MHz) HS (High Speed - > 4MHz) Fuses Alimentação: PUT (Power Up Time) BROWNOUT (Reset por Brown Out)

19 Brown Out O Brownout ocorre quando a tensão de alimentação
cai para abaixo do nível mínimo. Caso 1: Queda gradual. Caso 2: Ruídos.

20 Exemplo de programação Piscar um LED
#include <16f877.h> // identifica microcontrolador alvo #device ADC=10 // define AD para 10 bits, variando de 0 a 1023 #use delay (clock= ) // <- define cristal para 4Mhz. Para outros valores, mude e recompile. main() // função principal { output_a(0); // desliga toda PORTA output_b(0); // desliga toda PORTB output_c(0); // desliga toda PORTC output_d(0); // desliga toda PORTD while(1) // para repetir bloco. Laço infinito. output_high(pin_B0); // ativa pino B0 delay_ms(500); // tempo de 500 ms output_low(pin_B0); // desativa pino B0 }

21 Circuito para montagem
Pinos do PIC16F877A

22

23

24 Programa para entrada Botão acionando LED
#include <16f877.h> // identifica microcontrolador alvo #device ADC= // define AD para 10 bits, variando de 0 a 1023 #use delay (clock= ) // <- define cristal para 4Mhz. Para outros valores, mude e recompile. main() // função principal { output_a(0); // desliga toda PORTA output_b(0); // desliga toda PORTB output_c(0); // desliga toda PORTC output_d(0); // desliga toda PORTD while(1) // para repetir bloco. Laço infinito. if(input(pin_D2)) Se o pino D2 estiver em nível alto output_high(pin_B0); // ativa pino B0 delay_ms(500); // tempo de 500 ms output_low(pin_B0); // desativa pino B0 }

25

26 Dicas importante NUNCA esqueça o MCRL!
NUNCA ligue o microcontrolador sem antes verificar se a alimentação está correta! SEMPRE utilize resistores para limitar corrente. SEMPRE utilize o manual do PIC para não terminar por queimar o circuito. Verifique as correntes suportadas pelo seu microcontrolador


Carregar ppt "Microcontroladores PIC"

Apresentações semelhantes


Anúncios Google