• Nenhum resultado encontrado

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

N/A
N/A
Protected

Academic year: 2021

Share "Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná"

Copied!
40
0
0

Texto

(1)

Introdução ao PIC

Guilherme Luiz Moritz

1

1DAELT - Universidade Tecnológica Federal do Paraná

6 de novembro de 2013

(2)

Características do PIC

Arquitetura Harvard RISC, 35 instruções

8 a 84 pinos

Mais de 180 modelos

Vários periféricos

(3)

Panorâmica do PIC 16F877A

Arquitetura RISC

Apenas 35 instruções para aprender

Todas as instruções são executadas em um ciclo, exceto os saltos

Frequência de operação de até 20 MHz

33 pinos de I/O

Alta corrente para acionar LEDs diretamente

Interrupção quando há mudança no estado lógico dos pinos de entrada

Conversor A/D

8 canais

10 bits de resolução

(4)

Panorâmica do PIC 16F877A

3 Temporizadores / Contadores independentes

Temporizador Watch-dog

Saída por PWM

Modo USART melhorado

Suporta RS-232 e RS-485 Detecção automática de baudrate

(5)

CPU

Acumulador: registrador especial, sempre um dos

operandos da ULA

Decodificador de intruções: interpreta as instruções

Unidade lógica aritmética (ULA): executa as operações

Status Register (PSW): registrador de estado da ULA

(6)

Programação de microcontroladores

Um programa de microcontrolador é uma sequência de

comandos da CPU (

instruções) que realiza operações sobre a

memória (

registradores e memória de uso geral) ou

(7)

Memórias Internas

Esse microcontrolador tem três tipos de memórias:

Memória ROM (8 kbytes):

Memória de programa Usada para armazenar o programa ser executado

Feita com tecnologia FLASH seu conteúdo pode ser alterado com o auxílio de um programador externo O chip pode ser reprogramado cerca de 100.000 vezes

Memória EEPROM (256 bytes):

Memória de dados assim como ROM, seu conteúdo não se apaga quando a alimentação é desligada

Pode ser alterada durante a execução do programa Pode ser escrita cerca de 1.000.000 vezes

Memória RAM (368 bytes):

Registradores de função geral (GPR) Registradores de função especial (SFR)

(8)
(9)

Memória e Registradores

Registradores são memórias internas do microcontrolador

que tem funções específicas

Registradores de memória: Armazenam dados

SFRs: Cumprem funções específicas dentro do

microcontrolador (Ex: Acionar uma porta)

(10)
(11)

SFRs)

(12)

SFRs) - Exemplos

Como saber a função de cada bit dos registradores?

-Datasheet

(13)

Periféricos do PIC - PORTS

O 16F628a possui duas portas que são comandadas pelos

registradores

PORTA, PORTB, TRISA, TRISB

(14)

Periféricos do PIC - PORTS

Vamos estudar o funcionamento dos registradores!

Porque alguns pinos do processador têm mais de um nome?

(15)

TRISX

(16)
(17)

Debouncing

(18)

Instruções

Instrução de máquina: Um comando codificado de

maneira compreensível pelo decoder de instruções

Linguagem de máquina: Conjunto de instruções

reconhecidas pela CPU

Tipo de instruções:

Transferência: copia dados de uma localização para outra Aritmética e lógica: Comanda a ULA

(19)

Conjunto de Instruções

O conjunto de instruções da arquitetura compreende todas

as operações que a CPU é implementada para executar

1

Carrega y no registrador R1

2

Carrega z no registrador R2

3

Se R2 = 0, pule para instrução 6

4

Comande a ULA a dividir R1 por R2, armazenando o

resultado em R3

5

Armazena R3 em x

6

Pare

(20)
(21)

Diretivas

Diretivas:

independente do processador

característica

da própria linguagem Assembly

Exemplos:

PROCESSOR: deve ser escrita no início de TODOS os programas. Define o tipo do microcontrolador

Processor 16f877

#INCLUDE: possibilita incluir um arquivo na compilação

#include <p16f877.inc>

(22)

Diretivas

Exemplos:

EQU: atribui um nome a uma posição específica da memória RAM. Cria uma VARIÁVEL

MAXIMUM EQU 0x25

CBLOCK e ENDC: cria uma série de variáveis CBLOCK 0x20

(tab) START ; endereço da memória 0x20 (tab) RELE ; endereço da memória 0x21 (tab) STOP ; endereço da memória 0x22 (tab) LEFT ; endereço da memória 0x23 (tab) RIGHT ; endereço da memória 0x24

(23)

Diretivas

Exemplos:

ORG: especifica uma posição da memória para o PROGRAMA ORG 0x100 START ... ... ORG 0x1000 TABLE ... ...

END: todo programa deve obrigatoriamente ser terminado por essa diretiva

...

END ; Fim de programa

(24)
(25)

Conjunto de Instruções PIC

Grupos de Instruções

Transferência de dados

MOVWF

Lógica e Aritmética

Soma, Subtração, Incremento, E, OU, XOR, ...

Operação com bits

Direcionadores de programa

BTFSC, CALL

(26)

Conjunto de Instruções PIC16

Ações:

MOV(Move): Move um byte de origem para destino ADD: Soma dois valores

SUB(Subtract): Subtrai AND: Faz um “E” lógico

IOR(Inclusive OR): Faz um “OU” lógico XOR(Exclusive OR): Faz um “XOR” lógico CLR(Clear): Zera um byte

COM(Complement): Inverte os bits de um byte DEC(Decrement): Subtrai 1

(27)

Conjunto de Instruções PIC16

Ações (continuação):

RR(Rotate Right): Rotaciona os bits de um byte uma posição à direita (o carry participa da rotação) RL(Rotate Left): Rotaciona os bits de um byte uma posição à esquerda (o carry participa da rotação) BC(Bit Clear): Zera um bit

BS(Bit Set): Seta um bit

BT(Bit Test): Testa o bit (se é 0 ou 1) GOTO: Vai para um endereço determinado

CALL: Vai para um endereço determinado (mas memoriza posição atual para retornar)

RETURN: Retorna ao local onde havia o CALL

(28)

Conjunto de Instruções PIC16

Ações (continuação):

SLEEP: Entra em estado de dormência (poupa energia)

CLRWDT(Clear Watchdog): Restaura contagem do watchdog

NOP(No Operation): Não faz nada, usado para pequenos ajustes de tempo

(29)

Conjunto de Instruções PIC16

Especificadores:

L(Literal): número constante F(File): endereço da RAM interna W(Working register): acumulador

Referências:

f: refere-se ao endereço de um file d: refere-se ao destino (W ou F apenas) b: refere-se ao número do bit de um file k: refere-se a um número constante

(30)

Conjunto de Instruções PIC16

Ação Condicional:

S(Skip): pula a próxima instrução

Condições:

S(if set): se o bit testado for 1 C(if cleared): se o bit testado for 0

(31)

Conjunto de Instruções PIC16

EXEMPLOS:

“Move Literal to Work”

Move (copia) o valor 0x1B para o acumulador

(32)

Conjunto de Instruções PIC16

EXEMPLOS:

“Move Work to File”

(33)

Conjunto de Instruções PIC16

EXEMPLOS:

“Bit Set File”

Seta o bit 3 do file 0x21

(34)

Conjunto de Instruções PIC16

EXEMPLOS:

“Bit Test File Skip if Cleared”

(35)

Conjunto de Instruções PIC16

EXEMPLOS:

“Decrement File”

Decrementa o valor do file 0x1C e coloca o resultado no

próprio file

(36)

Conjunto de Instruções PIC16

EXEMPLOS:

“Decrement File Skip if Zero”

(37)

Fluxogramas

Elementos gráficos utilizados para estabelecer uma sequência

a uma tarefa a ser realizada. Possuem três elementos básicos:

(38)

Exemplo: Contador

(39)

Exemplo: Contador

Programação Assembly

L2 MOVLW 0x00 ; W=0 MOVWF CONT ; W -> CONT

L1 INCF CONT,F ; CONT+1 -> CONT

MOVF CONT,W ; CONT -> W SUBLW 0x09 ; 0x09-W -> W BTFSS STATUS,Z ; Deu zero?

GOTO L1 ; não

GOTO L2 ; sim

(40)

Exemplo: Contador

b)

Modificar o programa anterior de forma que a contagem

seja regressiva de 9 até 0.

Referências

Documentos relacionados

A presente dissertação é desenvolvida no âmbito do Mestrado Profissional em Gestão e Avaliação da Educação (PPGP) do Centro de Políticas Públicas e Avaliação

Dessa forma, diante das questões apontadas no segundo capítulo, com os entraves enfrentados pela Gerência de Pós-compra da UFJF, como a falta de aplicação de

Para Azevedo (2013), o planejamento dos gastos das entidades públicas é de suma importância para que se obtenha a implantação das políticas públicas, mas apenas

PROGRAMA MEDIDAS QREN/PO CENTRO – SI I&amp;DT/PROJECTOS INDIVIDUAIS – SI I&amp;DT/PROJECTOS EM CO-PROMOÇÃO – SI I&amp;DT/NÚCLEOS DE I&amp;DT – SI

Para uma contextualização adequada do assunto abordado no decorrer deste estudo será, primeiramente, apresentada uma revisão do comportamento de compra dos consumidores, com

F REQUÊNCIAS PRÓPRIAS E MODOS DE VIBRAÇÃO ( MÉTODO ANALÍTICO ) ... O RIENTAÇÃO PELAS EQUAÇÕES DE PROPAGAÇÃO DE VIBRAÇÕES ... P REVISÃO DOS VALORES MÁXIMOS DE PPV ...

Além das espécies selvagens, existem também algumas variedades de tomate da espécie Solanum lycopersicum que podem ser utilizadas como fontes de resistência a algumas pragas, entre

Tese apresentada como requisito parcial para obtenção do título de Doutor pelo Programa de Pós-graduação em Direito da PUC-Rio.. Aprovada pela Comissão Examinadora abaixo