Microcontrolador Pic Em Powerpoint - Parte 1

  • Uploaded by: Nando
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Microcontrolador Pic Em Powerpoint - Parte 1 as PDF for free.

More details

  • Words: 2,041
  • Pages: 44
Microcontroladores PIC

 

(continuação) Ricardo de Oliveira Duarte DECOM – UFOP                             

(baseado no curso de SE do prof. Manoel L. Anido NCE – UFRJ)

1

Sumário             

Introdução a Família PIC e fabricantes. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Exercícios

 

                            

2

Assembly dos PICs 

Formato Assembly PIC (mesmo de máquinas da DEC – Digital Equipment Corporation) • Operação fonte destino ;comentário • Exemplo: SUB A, R1 => A - R1 = R1



Valores em Hexadecimal são precedidos por 0x • 0x55, 0x3C



 

                            

Nenhuma operação: NOP

3

Conjunto de Instruções do PIC 16F877A  

35 instruções diferentes. 3 tipos de categorias: • Para operações com BYTEs. • Para operações com BITs. • Para operações com Literais e Operações de Controle.



Para operações com BYTEs (byte-oriented instructions), ‘f’ representa um registrador e ‘d’ representa o destino, que será usado pela instrução. E se ´d´ for omitido? W será o destino.

 

                            



Para operações com BITs (bit-oriented instructions), ´b´ representa o bit do registrador ´f´ que será selecionado, enquanto ´f´ é o endereço do registrador referido.



Para operações Literais e de Controle, ‘k’ representa uma constante de 8 ou 11 bits ou ainda um valor literal em hexadecimal. 4

PIC 16F877A – Assembly – Tipo das Instruções

 

                            

5

Conjunto de Instruções do PIC 16F877A

 

                            

6

Conjunto de Instruções do PIC 16F877A

 

                            

7

Assembly do PIC 

Diretivas Assembly: • • • •

ORG xxxxH ;origem, inicia montagem programa no end. xxxxH EQU ;define uma constante DB ;armazena bytes na mem. programa, define dados END ; termina arquivo assembly

 

                            

8

Sumário            

Introdução a Família PIC e fabricantes. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC.

 

                            

9

Modos de Endereçamento do PIC 

Os PICs das famílias Low-End and Middle-End podem acessar dados de três formas: • Direto • Indireto • Imediato (Ex.: CALL)

 

                            

10

Sumário            

Introdução a Família PIC e fabricantes. Ambientes de Desenvolvimento para o PIC. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC.

 

                            

11

Família PIC16Fxx. Características Hardware: Porta A

 

                            

RA4 RA3:RA0 Entradas Digitais são do tipo TTL ou Schmitt Trigger

12

Família PIC16Fxx. Características Hardware: Porta A (continuação)

 

                            

RA 5 13

Família PIC16Fxx. Características Hardware: Porta B

 

                            

Resistencia de pullup da porta B, configurável por software através do bit RBPU, do registrador OPTION_REG. Cuidado! Verifique a corrente máxima que uma porta pode entregar/absorver.

RB3:RB0

RB4:RB7

14

Características elétricas: Portas A e B

15

Exemplo de código de inicialização da porta A

 

                            

16

PIC 16F877A - Porta C

 

                            

17

PIC 16F877A - Porta D e E

 

                            

18

Características elétricas: Portas C e D

 

                            

19

Características elétricas: Porta E

 

                            

20

Sumário            

Introdução a Família PIC e fabricantes. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC.

 

                            

21

Interrupções no PIC 16F877A   

15 interrupções diferentes. Interrupção vetorada (endereço 0004h). Divididas em 2 grupos: • Convencionais (comuns aos dispositivos Low-end) Ex.: Estouro do Timer 0; Interrupção externa (pino RB0); Interrupção por mudança de estado (borda de subida ou descida – pinos RB4…RB7).

 

                            

• Periféricos (depende do dispositivo). Exs.: Porta paralela; Conversores A/D; Recepção da USART; Transmissão da USART; Comunicação Serial MSSP (Master Syncronous Serial Port); CCP1 (Capture, Compare, PWM); CCP2; Estouro do Timer1; Timer2; Fim de Escrita na EEPROM/Flash; Colisão de Dados no Barramento; Comparadores Internos do PIC. 22

Interrupções no PIC 16F877A: Funcionamento 

O que acontece na ocorrência de uma interrupção? 1. O Flag da Interrupção correspondente é marcado. 2. Se as chaves de habilitação da interrupção (geral e individual) estiverem ligadas, o sistema será paralisado e desviado para 0004h.



 

As chaves geral e individual para cada uma das 15 interrupções do PIC16F877A são bits específicos dos SFRs:                             

 INTCON; PIE1; PIE2; PIR1; PIR2

23

Interrupções no PIC 16F877A: Funcionamento 

A chave geral (GIE) é desligada antes de desviar para o endereço 0004h. • Logo: 2 interrupções não podem ser tratadas ao mesmo tempo. • Nada impede que o FLAG de uma segunda interrupção seja ativado. • Ao final do tratamento da interrupção, GIE deverá ser ligada (instrução RETFIE).

  

 

É necessário testar os flags de todas as INTs, pois todas são desviadas para 0004h. A ordem dos testes determina a prioridade de atendimento. As flags das INTs não são “resetados” pelo sistema ao final do tratamento da INT, logo…                             

24

Sumário             

Introdução a Família PIC e fabricantes. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC. Exercícios

 

                            

25

Ambientes de Desenvolvimento para o PIC  

MPLAB IDE (Editor de código, Compilador, Depurador, Simulador, Emulador) Free Development Tools (students and educational purposes): • • • • • • • • • • • • • • •

Programmer’s text editor MPLAB SIM, high speed software simulator for PICmicro and dsPIC MCUs with peripheral simulation, complex stimulus injection and register logging. Full featured debugger Graphical project manager Visual Device Initializer (VDI) Version control support for MS Source Safe, CVS, PVCS, Subversion                              MPASM™ macro assembler with MPLINK™ linker and MPLIB™ librarian MPLAB ASM30 assembler, MPLAB LINK30 and Utilities for PIC24 and dsPIC devices PROCMD command line programmer for MPLAB PM3 and PRO MATE® II Visual PROCMD for simplified GUI control of MPLAB PM3 and PRO MATE® II CCS PCB C Compiler PICStart Plus programmer PICDEM-2 demo board PIC ICD in circuit debugger PIC-ICE In circuit emulator

 

26

Ambientes de Desenvolvimento para o PIC 

Compilador C para o PIC: • Fabricante CCS • Modelos:    



MPLAB: • • • •



PCB para PICs de 12 bits (série PIC12) PCM para PICs de 14 bits (séries PIC14 e PIC16) PCH para PICs de 16 bits (série PIC18) PCWH (todos)

 

Ambiente de Desenvolvimento Integrado (IDE) Permite compilar de dentro do ambiente (Necessita compilador CCS).                              Grava o PIC e Depura. Download no site da Microchip.

Gravadores: • McFLASH • McPLUS • ICD



Simuladores:

• ISIS - Proteus • GPSIM (GNU PIC Simulator) – Open Source • PIC IDE Simulator (Oshonsoft.com)

27

Ambientes de Desenvolvimento para o PIC

 

                            

28

Fluxo de Desenvolvimento

 

                            

29

Primeiro Exemplo de um Programa em C para o PIC // Definições do Microcontrolador #include <16F877A.H>

// arquivo de definições do microcontrolador usado

#fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP //

// bits de configuração dos fusíveis do PIC

Configurações do Projeto

#use delay(clock=4000000) // informa ao sistema o frequência de clock, para temporização //

Definição da Entradas

// Definição da Saídas #define LED0 PIN_B0

 

                            

// Programa principal void main () { int tempo = 100; while(true) { output_high(LED0); // seta o pino B0 delay_ms(tempo); // aguarda 100 ms output_low(LED0); // reseta o pino B0 delay_ms(tempo); // aguarda 100 ms } }

30

Segundo Exemplo de um Programa em C para o PIC

 

                            

31

Segundo Exemplo de um Programa em C para o PIC // Definições do Microcontrolador #include <16F877A.H>

// arquivo de definições do microcontrolador usado

#fuses HS,NOWDT,PUT,NOBROWNOUT,NOLVP

// bits de configuração dos fusíveis do PIC

#use fixed_io(b_outputs = PIN_B1) // saídas da porta B. Os demais serão entradas. //

Configurações do Projeto

 

#use delay(clock=4000000) // informa ao sistema o frequência de clock, para temporização. // Definição da Entradas #define BOTAO PIN_B0

                            

// Definição da Saídas #define LED0 PIN_B1 // Programa principal void main () { for(;;) { if(!input(BOTAO)) output_low(LED0); else output_high(LED0); } }

32

Segundo Exemplo de um Programa em C para o PIC

 

                            

33

Tipos de Dados: Linguagem C do PIC

 

                            

34

Declaração e Tipos de Constantes 

Constantes: • • • • • • • •

const valor1 = 10; const valor2 = -5; const valor3 = 55.12; const valor4 = ´a´; const valor5 = “teste”; const valor6 = 0x50;                              const valor7 = 050; const valor8 = 0b01001000;

 

35

Sumário           

Introdução a Família PIC e fabricantes. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Ambientes de Desenvolvimento para o PIC. Lendo Chaves e Botões no PIC.

 

                            

36

Sumário            

Introdução a Família PIC e fabricantes. Características Básicas Arquitetura do PIC Organização da Memória no PIC Registradores do PIC Assembly e Conjunto de Instruções do PIC. Endereçamento de Memória no PIC. Estrutura das Portas de I/O Interrupções Ambientes de Desenvolvimento para o PIC. Contagem do Tempo no PIC. Lendo Chaves e Botões no PIC.

 

                            

37

Hardware mínimo para montagens com os PICs

    

Circuito de alimentação (capacitor de 0.1 µF). Circuito para programação em serie. Circuito de reset. Circuito de clock (~10 MHz). Periféricos:

 

                            

• Conexão com LEDs, displays de 7 segmentos. • Conexão com botões e interruptores.

38

Hardware mínimo para montagens com os PICs 

 

Para XTAL 4 MHz: C1=C2=27 pF. RS só                              é necessário em algumas configurações de HS.

Circuitos de CLOCK. Diversas configurações: • Com circuito RC, proporciona baixo custo, mas estabilidade também baixa. Permite obter uma saida de frequencia F/4 no terminal OSC2/CLKOUT. • Para melhorar a estabilidade se implementa circuitos com cristal de quarzo (3 configurações):  LP (baixo consumo), de 0 a 200 kHz.  XT, de 200 kHz a 4 MHz.  HS (alta velocidade), de 4 MHz a 10 MHz (20 MHz para PICs de média e alta linha). 39

Hardware mínimo para montagens com os PICs

 



Para a interconexão de periféricos é necessário consultar as características de hardware das portas A e B.



Resistencia de pull-up da porta B, configurável por software através do bit RBPU, do registrador OPTION_REG.

                             

Cuidado! Verifique a corrente máxima que uma porta pode entregar/absorver.

Configuração mínima do PIC16F84 sem periféricos, com um clock de 4 MHz

40

Hardware mínimo para montagens com os PICs



Periféricos básicos de saída: LEDs e display de 7 segmentos.

 

• Como conectamos mais de um display?                              • Quantos números de displays podemos conectar? • O que acontece com o consumo?

41

Hardware mínimo para montagens com os PICs



Periféricos básicos de entrada: botões e interruptores. • Eliminação de debounce por software. • Eliminação de debounce por hw                              usando as carcaterísticas do PIC. • Eliminação de debounce por hw externo.

 



Variantes: teclado matricial.

42

Relés e motores DC 

O par darlington não é imprescindível.



Aplicações com pequenos relés um único transistor bipolar é suficiente.

 

                            



A velocidade do motor DC é controlada com PWM e pelo circuito integrado 293D, na figura ao lado.



O sentido do giro determina a polaridade. 43

Motores de passo e Áudio



Gerar um som:

 

• Para gerar um som é                              necessário gerar um sinal de onda quadrada de período apropriado. • O capacitor filtra a parte contínua e gera o tom desejado.

Motor de passo com CI de controle e diodos. 44

Related Documents


More Documents from "Nando"