apost pic ft

Download Apost Pic Ft

Post on 18-Jul-2015

906 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

APOSTILA DE MICROCONTROLADORES FATEC TATU

Curso Eletrnica Modalidade Automao Industrial(Vers o e m com pos i o)

5 SemestreElaboradores: Orlando Homen de Mello (Prof. ) Andres sa Macedo R osa (Estagi ria Tecnol ogia)

1

FATEC TATU

INTRODUO

Esta apostila foi desenvolvida para auxiliar os alunos da Faculdade de Tecnologia de Tatu na disciplina de Microcontroladores do 5 semestre do curso de Eletrnica Automao Industrial. Pretende fornecer aos alunos os conhecimentos bsicos necessrios para iniciar as atividades de desenvolvimento de software de controle para o microcontrolador PIC16F628A produzido pela em presa Microchip. O curso abordar apenas a linguagem Assembly cujo compilador j vem incorporado ao Software MPLAB IDE. Sendo este uma sute de desenvolvimento fornecido gratuitamente pela Microchip. Como pr-requisito aconselhvel que o aluno tenha conhecimento de eletrnica digital e noes de funcionam ento de microprocessadores. A estratgia didtica desta apostila proporcionar os conceitos tericos e em seguida aplic-los nos exerccios prticos. Os exerccios ou exemplos prticos so orientados ao Hardware didtico, o qual foi elaborado para atender todas as propostas do curso.

2

FATEC TATU

CONCEITOS BSICOSPara a programao de microcontroladores necessrio ter o conhecimento de duas outras bases numricas alm da decimal, a base binria e a base hexadecimal.

SISTEM A NUMRICO BINRIO (base 2)

L EI D E F O R M A O N U M R IC A am-1 N = an .b -m .b Onde: N = nmero n = quantidade de algarismo - parte inteira m = quantidade de algarismo - parte fracionria Exemplo: 1) Soluo: n = 4 algarismos inteiros e b=2 (base) Ento: N = 1.24-1 + 1.24-2 + 0.24-3 + 1.24-4 N = 1.2 + 1.23 2 n-1

+ an-1 .b

n-2

+ an-2 .b

n-3

++a1 .b , a1 .b

0

-1

+ a2 .b

-2

++

Determinar o valor numrico binrio (1101)b

+ 0.2

1

+ 1.2

0

N = 1.8 + 1.4 + 0.2 + 1.1 N = 8 + 4 + 0 + 1 = 13 (decimal) 2) Soluo: m = 2 n = 3 b=2 Idem para o nmero binrio (110,11)b

N = 1.23-1 + 1.23-2 + 0.23-3 + 1.2-1 + 1.2-2 N = 1 .4 + 1. 2 + 0 + 1 . 0,5 + 1. 0,125 N = 6, 625 (decimal)

3

FATEC TATU

C ON VERS O D ECIMAL P AR A BIN R IO Mtodo Divises Sucessivas:

Ex: (135)d = (?)b

Portanto, (135)10 = (10000111)2

S I S T E M A N U M R I C O H E X A D E C I M AL ( b a s e 1 6 ) Binrio Hexadecimal Decimal

0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 1000 8 8 1001 9 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15 Tabela1- Nmeros binrios, hexadecimais e decimais.

Principal propriedade: algarismo binrio. Ex: (3A)h =(00111010)b 3 Obs.: Este fato hexadecimal e binrio. facilita A a converso direta entre os sistemas Em relao hexadecimal ao binrio, podemos relacionar 1 a 4 algarismos (bits) do sistema

4

FATEC TATU

O PER A ES AR ITM TIC AS C OM N MER OS B IN RIOS S O M A ( AD I O ) Operandos Result. Carry A 0 0 1 1 B 0 1 0 1 R 0 1 1 0 C 0 0 0 1 Ex: 101 +11 1000 Resultado Carry C = 1

SU BTR A O

Por complemento de dois: Complemento de um nmero:

Complementar o nmero (1011)b 1011 = 0100 + 1 = 0101 Ex.: 1) Determinar a subtrao A-B: A = (1110)b R = A-B = A + /B B = 1010 = 0101 + 1 => B = 0110 Ento: + 1110 0110 10100 Carry C = 1 Resultado positivo Portanto, R = (0100)b 2) Idem para: A = (1010)b R = A-B /B = 0001 + 1 Ento: + 1010 0010 01100 Carry C = 0 Resultado deve-se complementar o nmero. R = -1100 = -(0011 + 1) = - 0100 ne gat ivo, e B = (1110)b R = A + B e B = (1010)b

/B = 0010

5

FATEC TATU

M U L T I P L I C A O E D I V I S O P EL A B AS E A multiplicao e diviso pela base ou mltiplos da base binria pode ser feita atravs de deslocamento (rotao) esquerda ou direita respectivamente. Obs.: O processador alvo de nosso estudo possui as instrues de rotao de um registro, mas no possui instruo de multiplicao e diviso, portanto estas funes devem ser implementadas pelo programa.

F U N E S E P O R T AS L G IC AS NO ou NOT negao da condio ou estado

Tabela - Verdade

Porta Lgica

Funo

A 0 1

S 1 0

S = A

E ou AND dependncia

Tabela Verdade A 0 0 1 1 B 0 1 0 1 S 0 0 0 1

Porta Lgica

Funo

S = A.B

6

FATEC TATU

OU ou OR independncia

Tabela Verdade A 0 0 1 1 B 0 1 0 1 S 0 1 1 1

Porta Lgica

Funo

S = A+B

XOR ou exclusivo

Tabela Verdade A 0 0 1 1 B 0 1 0 1 S 0 1 1 0

Porta Lgica

Funo

S = A

B

LGEB R A B OO LE AN A Postulados A . 1 = A A . 0 = 0 A . /A = 0 A A + 1 = 1 A + 0 = A A + /A = 1 1 = /A

7

FATEC TATU

L G I C A D E P R O G R AM A OLGIC A D E PROGRAM A A lgica de programa necessria para o desenvolvimento de sistemas e programas, ela permite definir a sequncia lgica para o desenvolvimento. Ou seja, a tcnica de encadear pensamentos para atingir determinado objetivo ou soluo de um problema. Estes pensamentos podem ser descritos como uma sequncia de instrues. ESTR UTUR A O DAS ID EI AS Para o desenvolvimento de programas, necessrio saber passo a passo o que se deseja fazer. Aps isso, transforme o objetivo em instrues que sero interpretadas pelo processador, de forma a conseguir um programa que resolva a situao problema. Em informtica, instruo a informao que indica ao processador uma ao a executar, ou seja, uma linha do programa. Para criar um programa, preciso ordenar as idias (instrues) de forma lgica e sequencial, segundo o objetivo a ser alcanado, pois somente dessa forma o objetivo ser alcanado de forma correta. FL UXOGR AM A O fluxograma a forma padronizada e eficaz para representar os passos lgicos de um determinado processamento. Com o fluxograma possvel definir uma sequncia de smbolos, com significado bem definido, portanto, sua principal funo a de facilitar visualizao dos passos lgicos. A tabela 2 mostra os principais smbolos utilizados num fluxograma: SMBOLOS processo geral. Ex.: clculo de dois nmeros deciso desvio Indica um deciso a ser tomada. Permite o desvio para um ponto qualquer do programa. Indica bloco. Entrada/sada Operao de entrada e sada de dados. Ex.:Leitura e gravao de arquivo. Indica entrada de dados atravs do teclado Tabela 2- Smbolos do fluxograma o comeo do FUNO Processamento

em

incio

Entrada manual

8

FATEC TATU

O M IC R O C O N T R O L AD O R ( M C C ) E O M IC R O PR O C E S S AD O R ( M C P) O microcontrolador (figura 1b) um C.I. que contm um microprocessador (figura 1a) e diversos perifricos. Comumente, temos os seguintes perifricos: Memrias de programa e dados; Timers/Counters; USART, IC, USB, CAN, SPI; Conversores A/D e D/A; Comparadores

Ainda o MCC difere do MCP pela maior capacidade de corrente dos pinos de I/O, tipicamente tem corrente suficiente para acender leds. M I C R O P R O C E S S AD O R

Figura 1a: Microprocessador M I C R O C O N T R O L AD O R

Figura1b: Microcontrolador

9

FATEC TATU

V AN T A G E N S D O M C C E M R E L A O A O M C P Menor custo de projeto Menor quantidade de perifrico Menor custo ao produto Maior confiabilidade Manuteno rpida

APLIC A ES TPIC AS Domsticas Controle de Impressoras Ajuste de vdeo Mquinas de lavar celulares

Industriais CNC CLP Inversores Etc.

A R Q U I T E T U R AS H AR V A R D x V O N - N E U M AN NSo tipos de estruturas internas de mquinas, ou seja, como suas partes internas se interligam. Tradicionalmente, os MCCs utilizam a arquitetura Von-Neumann, que se caracteriza pela disponibilidade de uma nica memria principal, na qual se armazena dados e instrues, figura 2a. Estes trafegam por um nico barramento interno, geralmente de 8 bits. J a arquitetura interna dos PICs do tipo Harvard, que dispe de memrias de dados e de programas e cada memria possui seu respectivo barramento, figura 2b. Assim, esta arquitetura tem o processamento mais rpido, pois no mesmo instante em que uma instruo est sendo executada, a prxima instruo pode ser buscada na memria de programa. Neste caso, o barramento de dados sempre de 8 bits e o de instrues pode ser de 12, 14 ou 16 bits, dependendo do MCC.

10

FATE C TAT U

Na arquitetura Harvard como o barramento de instruo maior do que 8 bits, o OPCODE (OPeration CODE) da instruo j inclui o dado e o local onde ele vai operar (quando necessrio)(figura 14) , o que significa que apenas uma posio de memria utilizada por instruo, economizando assim muita memria de programa. Desta forma, dentro da palavra do OPCODE, que pode ser de 12, 14 ou 16 bits, no sobra muito espao para o cdigo da instruo propriamente dito, por isso os PICs utilizam o cdigo RISC.

VO N- NEU M AN N

8bits

Memria de Programa e Dados

CPU

Dados/Inst Endereos

Figura 2a: Arquitetura Von-Neumann

H ARV ARD

8bits Memria de DadosEnder eos Dados

12,14,16 bitsInstrues

Memria de Programa

CPU

Endereos

Figura 2b: Arquitetura Harvard

11

FATE C TAT U

TIPOS DE MEMRIA DO MCC

MEMR IA D E PR OGR AM A

M E M R I A D E D AD O S

1. ROM 2. PROM 3. EPROM 4. FL ASH 1. R AM 2. EEPRO

Figura 03- Esquema dos Tipos de Memrias

C AR AC T E R S T I C AS D AS M E M R I AS M E M R I AS D E PR O G R AM A a l o c a m o s c d i g o s o u i n s t r u e s para o processador executar. 1. ROM (Read Only Memory)

Memria gravada na fabricao do chip e indicada nas aplicaes de larga escala de produo devido ao baixo custo em relao as demais. 2. PROM (Programmable Read Only Memory)

Memria que pode ser gravada pelo