28
1.1 INTRODUÇÃO Novatos na electrónica geralmente pensam que o microcontrolador é o mesmo que o microprocessador. Isso não é verdade. Eles diferem uns dos outros, em muitos aspectos. O primeiro e mais importante diferença a favor do microcontrolador é a sua funcionalidade.A fim de que o microprocessador pode ser usado, outros componentes, a memória vem em primeiro lugar, tem de ser adicionada a ele.Mesmo que ele é considerado uma máquina de computação poderosa, não é ajustado para se comunicar com o ambiente periférico. A fim de permitir que o microprocessador para comunicar com o ambiente periférico, circuitos especiais deve ser usado. Isto é como era no início e continua a ser o mesmo hoje. Por outro lado, o microcontrolador é concebido para ser tudo isso em um. Não há outros componentes externos especializados são necessários para a sua aplicação, porque todos os circuitos necessários que de outra forma pertencem aos periféricos já estão construídos na mesma. Ele economiza tempo e espaço necessário para projetar um dispositivo. ALL THE MICROCONTROLLER PODE FAZER A fim de tornar mais fácil para você entender as razões de um grande sucesso de microcontroladores tal, vamos chamar sua atenção por alguns minutos para o seguinte exemplo. Cerca de dez anos atrás, a concepção de um dispositivo electrónico que controla o elevador em um prédio de vários andares foi extremamente difícil, mesmo para uma equipe de especialistas. Alguma vez você já pensou sobre o que os requisitos de um elevador comum deve atender? Como lidar com a situação quando duas ou mais pessoas chamar o elevador ao mesmo tempo? Que chamada tem prioridade? Como lidar com a questão de segurança? A perda de energia elétrica? Fracasso? Uso indevido? ... O que vem depois de resolver estas questões básicas é um meticuloso processo de concepção eletrônica apropriadas usando um grande número de chips especializados. Dependendo da complexidade do dispositivo, este processo

Introdução a Microcontroladores PIC

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Introdução a Microcontroladores PIC

1.1 INTRODUÇÃO

Novatos na electrónica geralmente pensam que o microcontrolador é o mesmo que o microprocessador. Isso não é verdade. Eles

diferem uns dos outros, em muitos aspectos. O primeiro e mais importante diferença a favor do microcontrolador é a sua

funcionalidade.A fim de que o microprocessador pode ser usado, outros componentes, a memória vem em primeiro lugar, tem de

ser adicionada a ele.Mesmo que ele é considerado uma máquina de computação poderosa, não é ajustado para se comunicar

com o ambiente periférico. A fim de permitir que o microprocessador para comunicar com o ambiente periférico, circuitos especiais

deve ser usado. Isto é como era no início e continua a ser o mesmo hoje.

Por outro lado, o microcontrolador é concebido para ser tudo isso em um. Não há outros componentes externos especializados

são necessários para a sua aplicação, porque todos os circuitos necessários que de outra forma pertencem aos periféricos já

estão construídos na mesma. Ele economiza tempo e espaço necessário para projetar um dispositivo.

ALL THE MICROCONTROLLER PODE FAZER

A fim de tornar mais fácil para você entender as razões de um grande sucesso de microcontroladores tal, vamos chamar sua

atenção por alguns minutos para o seguinte exemplo.

Cerca de dez anos atrás, a concepção de um dispositivo electrónico que controla o elevador em um prédio de vários andares foi

extremamente difícil, mesmo para uma equipe de especialistas. Alguma vez você já pensou sobre o que os requisitos de um

elevador comum deve atender? Como lidar com a situação quando duas ou mais pessoas chamar o elevador ao mesmo

tempo? Que chamada tem prioridade? Como lidar com a questão de segurança? A perda de energia elétrica? Fracasso? Uso

indevido? ... O que vem depois de resolver estas questões básicas é um meticuloso processo de concepção eletrônica

apropriadas usando um grande número de chips especializados. Dependendo da complexidade do dispositivo, este processo

Page 2: Introdução a Microcontroladores PIC

pode levar semanas ou meses. Quando terminar, é hora de projetar uma placa de circuito impresso e um dispositivo de

montar. Um grande dispositivo! É mais um trabalho de longa duração e de tentar. Finalmente, quando tudo estiver terminado e

testado por muitas vezes, o momento crucial vem quando você concentrar-se, respire fundo e mudar a fonte de alimentação.

Este é geralmente o ponto em que o partido se transforma em um verdadeiro trabalho desde dispositivos eletrônicos quase nunca

começa a operar imediatamente. Prepare-se para muitas noites sem dormir, correções, melhorias ... e não se esqueça, ainda

estamos falando sobre o funcionamento de um elevador comum.

Quando o dispositivo finalmente começa a funcionar perfeitamente e todo mundo está satisfeito e você finalmente receber o

pagamento pelo trabalho que têm feito, muitas empresas que constroem vai tornar-se interessado em seu trabalho. Claro, se você

tiver sorte, um dia vai lhe trazer uma oferta de travamento de um novo investidor. No entanto, um novo edifício tem quatro andares

mais. Você sabe do que se trata? Você acha que pode controlar o destino? Você vai fazer um dispositivo universal que pode ser

usada em edifícios de 4 a 40 histórias, uma obra-prima da eletrônica? Tudo bem, mesmo se você conseguir fazer uma jóia tão

eletrônico, o investidor irá esperar na frente de sua porta pedindo uma câmera no elevador. Ou para música relaxante no caso de

falha de elevador. Ou para de duas portas do elevador. De qualquer forma, a lei de Murphy é inexorável e você certamente não

vai ser capaz de fazer uma vantagem de todo o esforço que você fez. Infelizmente, tudo o que foi dito agora é verdade. Isto é o

que 'manipulação eletrônica' realmente significa. Não, espere, vamos corrigir a nós mesmos, que é como ele foi até os primeiros

microcontroladores foram projetados - pequenos, potentes e baratos microcontroladores. Desde o momento em sua programação

deixou de ser uma ciência, tudo tomou outra direção ...

Eletrônica capazes de controlar um pequeno submarino, um guindaste ou o elevador acima indicado agora é construído em um

único chip. Microcontroladores de oferecer uma ampla gama de aplicações e apenas alguns deles são usados normalmente. Cabe

a você decidir o que você quer que o microcontrolador para fazer e despejar um programa que contém instruções apropriadas

para ele. Antes de ligar o dispositivo, o seu funcionamento deve ser testado por um simulador. Se tudo funciona bem, construir o

microcontrolador no dispositivo. Se você precisar alterar, melhorar ou atualizar o programa, basta fazê-lo. Até quando? Até que

você se sentir satisfeito. Isto é tudo.

Page 3: Introdução a Microcontroladores PIC
Page 4: Introdução a Microcontroladores PIC

Você sabe que todas as pessoas podem ser classificadas em um dos 10 grupos-aqueles que estão familiarizados com o sistema

de número binário e aqueles que não estão familiarizados com ele. Você não entende? Isso significa que você ainda pertencem

ao último grupo. Se você quer mudar o seu estado de ler o texto a seguir uma breve descrição de alguns dos conceitos básicos

usados ainda neste livro (só para ter certeza que estamos na mesma página).

1,2 números, números, números ...

A matemática é uma boa ciência tal! Tudo é tão lógico ... Todo o universo pode ser descrito com apenas dez dígitos. Mas, isso

realmente tem que ser assim? Será que precisamos de exatamente dez dígitos? Claro que não, é apenas uma questão de

hábito. Lembre-se das lições da escola. Por exemplo, o que é que o número 764 significa: quatro unidades, seis dezenas e sete

centenas. É tão simples quanto isso! Poderia ser descrito de uma forma mais complicada? Claro que poderia:. 4 + 60 + 700 Ainda

mais complicado? Sim: 4 * 1 + 10 + 6 * 7 * 100. Poderia este número olhar mais científico? A resposta é sim mais uma vez: 4 * 100

+ 6 * 101 + 7 * 102. O que isso realmente significa? Por que usamos exatamente esses números: 100, 101 e 102? Por que é

sempre sobre o número 10? Porque usamos dez dígitos diferentes (0, 1, 2, ... 8, 9). Em outras palavras, usamos base 10 sistema

de números, ou seja, sistema de numeração decimal.

Sistema de numeração binário

O que aconteceria se apenas dois dígitos são usados-0 e 1? Ou, se não não sei como determinar se algo é de 3 ou 5 vezes maior

do que qualquer outra coisa? Ou se estamos restritos ao comparar dois tamanhos, ou seja, se só podemos afirmar que algo existe

(1) ou não existe (0)? A resposta é "nada de especial", gostaríamos de continuar a usar os números da mesma forma como

fazemos agora, mas seria um pouco diferente. Por exemplo:. 11011010 Quantas páginas de um livro que o número 11011010

incluir? Para saber isso, você apenas tem que seguir a mesma lógica que no exemplo anterior, mas em ordem inversa. Tenha em

mente que tudo isso é sobre a matemática com apenas dois dígitos-0 e 1, ou seja, base 2 sistema de números (sistema numérico

binário).

Page 5: Introdução a Microcontroladores PIC

É, obviamente, o mesmo número representado em dois sistemas numéricos diferentes. A única diferença entre estas duas

representações é o número de dígitos necessários para escrever um número. Um dígito (2) é usado para escrever o número 2 no

sistema decimal, enquanto dois dígitos (1 e 0) são usados para escrever em sistema binário. Você agora concordam que existem

10 grupos de pessoas? Bem-vindo ao mundo da aritmética binária! Você tem alguma idéia de onde ele é usado?

Exceto para condições de laboratório rigorosamente controladas, os circuitos eletrônicos mais complicados não pode determinar

com precisão a diferença entre dois tamanhos (dois valores de tensão, por exemplo) se eles são muito pequenos (menores do que

alguns volts). As razões são ruídos elétricos e algo chamado de "ambiente real de trabalho" (mudanças imprevisíveis de tensão de

alimentação, mudanças de temperatura, a tolerância com os valores dos componentes internos etc.) Imagine um computador que

opera em cima de números decimais, tratando-as da seguinte forma: 0 = 0 V, 1 = 5V, 2 = 10V, 3 = 15V, 4 = 20V ... 9 = 45V.

Alguém disse baterias?

Uma solução muito mais simples é uma lógica binária em que 0 indica que não existe tensão e 1 indica que há uma tensão. É

mais fácil escrever 0 ou 1 em vez de frases completas "não há tensão" ou "não há tensão ', respectivamente. Trata-se de lógica

zero (0) e lógica de um (1), que perfeitamente lidar com eletrônica e facilmente executa todas as operações matemáticas

infinitamente complexas.Obviamente, o sistema eletrônico que estamos falando se aplica a matemática em que todos os números

são representados por dois dígitos apenas e onde só é importante saber se há uma tensão ou não. Claro, estamos falando de

eletrônica digital.

SISTEMA número hexadecimal

No início do desenvolvimento dos computadores percebeu-se que as pessoas tinham muitas dificuldades em lidar com números

binários. Por esta razão, um novo sistema de numeração, com 16 símbolos diferentes foi estabelecida. Ele é chamado de sistema

de numeração hexadecimal e consiste de dez dígitos que são usados para (0, 1, 2, 3, ... 9) e seis letras do alfabeto A, B, C, D, E e

F. Você provavelmente quer saber sobre o objetivo desta combinação aparentemente bizarra? Basta olhar como ele se encaixa

perfeitamente a história sobre números binários e você vai entender.

O maior número que pode ser representado por 4 dígitos binários é o número 1111. Ele corresponde ao número 15 no sistema

decimal, enquanto que no sistema hexadecimal é representado por apenas um dígito F. É o maior número de 1 dígito no sistema

hexadecimal .Você vê como habilmente ele é usado? O maior número escrito com oito dígitos binários é, ao mesmo tempo que o

maior número de 2 dígitos hexadecimais. Não se esqueça que os computadores usam números binários de 8 dígitos. Por acaso?

Page 6: Introdução a Microcontroladores PIC

BCD CODE

Código BCD é um código binário para números decimais apenas (B inary-C oded D ecimal). Ele é usado para ativar os circuitos

eletrônicos para se comunicar tanto com os periféricos que utilizam sistema de numeração decimal ou dentro de "seu próprio

mundo" usando o sistema binário. Trata-se de números binários de 4 dígitos que representam os dez primeiros dígitos (0, 1, 2, 3

... 8, 9). Apesar de quatro dígitos pode dar no total de 16 combinações possíveis, o código BCD normalmente utiliza apenas os

dez primeiros.

SISTEMA DE NÚMERO DE CONVERSÃO

Sistema numérico binário é mais comumente usado, o sistema decimal é mais compreensível, enquanto o sistema hexadecimal é

algo entre eles. Portanto, é muito importante aprender como converter números de um sistema numérico para outro, ou seja, como

transformar uma sequência de zeros e uns em valores compreensíveis.

Binário para decimal NÚMERO DE CONVERSÃO

Dígitos em um número binário têm valores diferentes, dependendo da posição que eles têm em que número. Além disso, cada

posição pode conter 1 ou 0 e o seu valor pode ser facilmente determinada por contagem da sua posição a partir da direita. Para

fazer a conversão de um número binário para decimal é necessário multiplicar os valores com os dígitos correspondentes (0) OR1

e adicionar todos os resultados. A magia de binário para decimal conversão de número funciona ... Você duvida? Veja o exemplo

abaixo:

Note-se que, a fim de representar os números decimais de 0 a 3, você precisará usar apenas dois dígitos binários. Para números

maiores, dígitos binários extras deve ser usado. Assim, a fim de representar os números decimais de 0 a 7 você precisa de três

dígitos binários, para os números de 0 a 15 você precisa de quatro dígitos, etc Simplificando, o maior número binário constituído

por n dígitos é obtido quando a base 2 é levantada pelo n. O resultado deve ser subtraído de 1 Por exemplo, se n = 4.:

Fevereiro 4-1 = 16 - 1 = 15

Por conseguinte, por meio de 4 dígitos binários é possível representar os números decimais de 0 a 15, o que equivale a 16 valores

diferentes no total.

Hexadecimal em decimal NÚMERO DE CONVERSÃO

De modo a fazer a conversão de um número hexadecimal em decimal, cada dígito hexadecimal deve ser multiplicado pelo número

16 apresentada pelo seu valor da posição. Por exemplo:

Hexadecimal para Binário conversão de número

Não é necessário realizar todos os cálculos, a fim de converter números hexadecimais para binário. Dígitos hexadecimais são

simplesmente substituídos por dígitos binários apropriados. Desde o dígito máximo hexadecimal é equivalente ao número decimal

15, precisamos usar quatro dígitos binários para representar um dígito hexadecimal. Por exemplo:

Page 7: Introdução a Microcontroladores PIC

Uma tabela comparativa abaixo contém os valores de números de 0-255 em três sistemas numéricos diferentes. Esta é

provavelmente a maneira mais fácil de entender a lógica comum aplicado a todos os sistemas.

Marcação de números

Sistema numérico hexadecimal é, juntamente com sistemas binários e decimais considerados o sistema de número mais

importante para nós. É fácil de fazer a conversão de qualquer número hexadecimal em binário e também é fácil de lembrar. No

entanto, essas conversões podem causar confusão. Por exemplo, o que significa a frase "É preciso contar até 110 produtos na

linha de montagem 'realmente significa? Dependendo se é sobre o sistema binário, decimal ou hexadecimal, o resultado poderia

ser 6, 110 ou 272 produtos, respectivamente! Por conseguinte, a fim de evitar confusão, diferentes prefixos e sufixos são

directamente adicionados aos números. O prefixo $ ou 0x, bem como o sufixo h marca os números em sistema hexadecimal. Por

exemplo, o número hexadecimal 10AF pode parecer quanto $ 10AF, 0x10AF ou 10AFh. Da mesma forma, os números binários

geralmente se o prefixo% ou 0b. Se um número não tem nem sufixo ou prefixo é considerado decimal. Infelizmente, esta forma de

números de marcação não é padronizado, portanto, depende da aplicação concreta.

BIT

Teoria diz que um bit é a unidade básica de informação ... Vamos esquecer por um momento e dar uma olhada no que é na

prática. A resposta é nada especial, um pouco é apenas um dígito binário. Semelhante ao sistema de numeração decimal, em que

algarismos de um número não têm o mesmo valor (por exemplo, os dígitos no número decimal 444 são as mesmas, mas têm

valores diferentes), o "significado" de bits depende da sua posição no número binário . Desde que não há nenhum ponto de falar

sobre as unidades, dezenas, etc em números binários, os seus números são referidos como o (mais à direita bit) bit zero, primeiro

bit (segundo a partir da direita), etc Além disso, uma vez que o sistema binário utiliza dois dígitos só (0 e 1), o valor de um bit pode

ser 0 ou 1.

Page 8: Introdução a Microcontroladores PIC

Não fique confuso se você se deparar com um pouco de ter valor 4, 16 ou 64. Significa apenas que o seu valor é representado no

sistema decimal. Simplificando, temos ficou muito acostumados com o uso de números decimais que tais expressões tornaram-se

comuns. Seria correto dizer, por exemplo, "o valor do sexto bit de qualquer número binário é equivalente ao número decimal 64

'. Mas somos humanos e os velhos hábitos custam a morrer ... Além disso, como soaria "número um-um-zeroone de zero ... '?

BYTE

Um byte é constituído por oito bits agrupados. Se um bit é um dígito, é lógico que bytes representar números. Todas as operações

matemáticas podem ser realizadas sobre eles, como em cima de números decimais comuns. Semelhante a dígitos de qualquer

número, dígitos bytes não tem o mesmo significado também. O maior valor tem o bit mais à esquerda chamado o bit mais

significativo (MSB). O bit mais à direita tem o menor valor e, por conseguinte, é chamado o bit menos significativo (LSB). Desde

oito zeros e uns de um byte podem ser combinados em maneiras diferentes de 256, o maior número decimal que pode ser

representado por um byte é 255 (uma combinação representa um zero).

Um nibble é referido como uma metade de byte. Dependendo do que a metade do registo que estamos falando (esquerda ou

direita), há 'alta' e petiscos "baixos", respectivamente.

Alguma vez você já se perguntou o que a eletrônica dentro de circuitos integrados digitais, microcontroladores ou processadores

parece?O que os circuitos que executam operações matemáticas complexas e tomar decisões se parece? Você sabe que seu

esquema aparentemente complicado compreendem apenas alguns elementos diferentes chamados circuitos lógicos ou portas

lógicas?

1.3 deve saber detalhes

A operação desses elementos é baseada em princípios estabelecidos por um matemático britânico George Boole, em meados do

século 19, antes mesmo da primeira lâmpada foi inventada. Originalmente, a idéia principal era expressar formas lógicas através

de funções algébricas. Tal pensamento foi logo transformado em um produto prático que muito mais tarde avaliado em o que hoje

é conhecido como AND, OR e NOT circuitos lógicos. O princípio de sua operação é conhecida como álgebra booleana.

Circuitos lógicos

Algumas das instruções de programa dar os mesmos resultados que as portas lógicas. O princípio de sua operação serão

discutidos no texto abaixo.

E Portão

A porta lógica "E" tem duas ou mais entradas e uma saída. Vamos supor que o portão usado neste exemplo tem

apenas duas entradas. A lógica de um (1) aparecerá em sua saída somente se ambas as entradas (A e B) são

movidos alta (1). Tabela à direita mostra a dependência mútua entre as entradas e saída.

Page 9: Introdução a Microcontroladores PIC

Quando utilizado num programa, uma lógica AND operação é executada pelo programa de instruções, o que será

discutido mais tarde. Por enquanto, é o suficiente para lembrar que a lógica E em um programa refere-se os bits

correspondentes de dois registos. OR GATE

Da mesma forma, portas OR também tem duas ou mais entradas e uma saída. Se o portão tem apenas duas

entradas é aplicável o seguinte. Um Alogic (1) aparecerão em sua saída se uma entrada (A ou B) é impulsionado alta

(1). Se a porta OR tem mais de duas entradas, em seguida, o seguinte se aplica.Alogic um (1) aparece na sua saída,

se, pelo menos, uma entrada é colocada em alta (1). Se todas as entradas estão à lógica zero (0), a saída será a

lógica zero (0), bem.

No programa, a lógica OU a operação é executada da mesma maneira que a lógica AND. NÃO PORTÃO

A porta lógica NOT tem apenas uma entrada e uma única saída. Ele opera de uma forma extremamente simples. Quando a lógica

zero (0) aparece na sua entrada, uma lógica de um (1) aparece em sua saída e vice-versa. Significa que este portão inverte o sinal

e é muitas vezes chamado inversor, por isso.

No programa, a lógica não operação é executada em cima de um byte.O resultado é um byte com os bits

invertidos. Se os bits de bytes são considerados um número, o valor invertido é, na verdade, um complemento da

Page 10: Introdução a Microcontroladores PIC

mesma. O complemento de um número é um valor que adicionado ao número torna atingir o maior número binário de

8 dígitos. Em outras palavras, a soma de um número de 8 dígitos e o seu complemento é sempre 255. EXCLUSIVE OR GATE

O EXCLUSIVE OR (XOR) portão é um pouco complicado em comparação com outros portões. Ele representa uma

combinação de todos eles. A lógica de um (1) aparece em sua saída somente quando suas entradas têm diferentes

estados lógicos.

No programa, esta operação é comumente usado para comparar dois bytes.Subtracção pode ser utilizado para o

mesmo fim (se o resultado for 0, os bytes são iguais). Ao contrário de subtracção, a vantagem de esta operação

lógica é que não é possível obter resultados negativos.

CADASTRE-SE

Em suma, um registo ou uma célula de memória é um circuito eletrônico que pode memorizar o estado de um byte.

REGISTOS SFR

Em adição aos registos que não têm qualquer função especial e predeterminado, cada microcontrolador tem um número de

registos (SFR), cuja função é predeterminada pelo fabricante. Seus pedaços estão conectados (literalmente) para os circuitos

internos do microcontrolador, como temporizadores, conversor A / D, osciladores e outros, o que significa que eles são

diretamente no comando da operação destes circuitos, ou seja, o microcontrolador. Imaginem oito interruptores que controlam o

funcionamento de um pequeno circuito dentro dos Registradores de Função microcontrolador-Special fazer exatamente isso.

Page 11: Introdução a Microcontroladores PIC

Em outras palavras, o estado de bits do registro é alterado a partir do programa, os registos executar pequenos

circuitos dentro do microcontrolador, esses circuitos são através de pinos do microcontrolador ligados à eletrônica

periférico que é usado para ... Bem, é até você.

Portas de entrada / saída

A fim de tornar o microcontrolador útil, tem que ser ligada a electrónica adicional, ou seja, os periféricos. Cada microcontrolador

tem um ou mais registos (chamadas portas) ligados aos pinos do microcontrolador. Por entrada / saída? Porque você pode mudar

a função do pino da forma que quiser. Por exemplo, suponha que você deseja que o seu dispositivo para ligar / desligar três LEDs

de sinal e simultaneamente monitorar o estado lógico de cinco sensores ou botões. Algumas das portas necessitam de ser

configurados de modo a que existem três saídas (ligadas aos LEDs) e cinco entradas (ligados a sensores). É simplesmente

realizada por software, o que significa que uma função do pino pode ser alterada durante a operação.

Uma das especificações importantes de entrada / saída (I / O) pinos é a corrente máxima que eles podem lidar. Para a maioria dos

microcontroladores, a corrente obtida a partir de um pino é suficiente para activar um LED ou qualquer outro dispositivo de

corrente baixa (10-20 mA). Os mais de I / O pins, a corrente máxima inferior de um alfinete. Em outras palavras, a corrente

máxima indicada na folha de especificações de dados para o microprocessador é compartilhado entre todas as portas de E / S.

Page 12: Introdução a Microcontroladores PIC

Outra função importante é que o pino pode ter resistências pull-up. Estes resistores conectar pinos para a tensão de alimentação

positiva e entrará em vigor quando o pino é configurado como uma entrada ligada a um interruptor mecânico ou um botão de

pressão. As versões mais recentes de microcontroladores têm pull-up resistores configuráveis por software.

Cada porta I / O é geralmente sob o controle da SFR especializada, o que significa que cada bit desse registo determina o estado

do pino microcontrolador correspondente. Por exemplo, ao escrever a lógica de um (1) a um bit do registrador de controle (SFR), o

pino da porta apropriado é automaticamente configurado como uma entrada e tensão levou a ele pode ser lido como lógico 0 ou 1.

Caso contrário, por escrito, de zero à SFR, o pino de porta apropriada é configurado como uma saída. Sua tensão (0V ou 5V)

corresponde ao estado de bit apropriado registo porto.

MEMORY UNIT

A memória é a parte do microcontrolador utilizado para armazenamento de dados. A maneira mais fácil de explicar é a compará-lo

com um armário com muitas gavetas. Suponhamos, as gavetas são claramente marcado de modo a que o seu conteúdo pode ser

encontrada com facilidade pela leitura da etiqueta na parte da frente da gaveta.

De modo semelhante, cada endereço de memória corresponde a uma localização da memória. Os conteúdos de

qualquer local pode ser acedida e lida pelo seu endereçamento. Memória pode ser escrita ou lida.Existem vários

tipos de memória dentro do microcontrolador: Read Only Memory (ROM)

Read Only Memory (ROM) é utilizada para guardar permanentemente o programa que está sendo executado. O tamanho de

programa que pode ser escrita depende do tamanho dessa memória. Microcontroladores de hoje costumam usar endereçamento

de 16 bits, o que significa que eles são capazes de endereçar até 64 KB de memória, ou seja, 65.535 localidades. Como um

novato, o programa irá raramente excedem o limite de várias centenas de instruções. Existem vários tipos de ROM.

ROM mascarado (MROM)

ROM mascarada é um tipo de ROM, cujo conteúdo é programado pelo fabricante. O termo 'mascarado' vem do processo de

fabricação, onde as regiões do chip são mascarados antes de o processo de fotolitografia. No caso de uma produção em larga

escala, o preço é muito baixo. Esqueça ...

One Time Programmable ROM (OTP ROM)

Uma vez ROM programável permite que você baixar um programa para ele, mas, como seu nome indica, apenas uma vez. Se for

detectado um erro depois de baixar, a única coisa que você pode fazer é baixar o programa correto para outro chip.

UV Erasable Programmable ROM (EPROM UV)

Page 13: Introdução a Microcontroladores PIC

Tanto o processo de fabricação e características dessa memória são completamente idênticos aos OTP ROM. No

entanto, o pacote do microcontrolador com esta memória tem uma 'janela' reconhecível no seu lado de topo. Ele

permite que os dados sejam apagados sob luz ultravioleta forte. Depois de alguns minutos, é possível fazer download

de um novo programa para ele.

A instalação desta janela é complicado, que normalmente afeta o preço. Do nosso ponto de vista, infelizmente

negativo ... Memória Flash

Este tipo de memória foi inventado na década de 80 nos laboratórios da Intel e foi representado como o sucessor do EPROM

UV. Uma vez que o conteúdo dessa memória pode ser escrito e apagado praticamente um número ilimitado de vezes,

microcontroladores com o Flash ROM são ideais para a aprendizagem, experimentação e produção em pequena escala. Devido à

sua grande popularidade, a maioria dos microcontroladores são fabricados em tecnologia flash de hoje. Então, se você estiver

indo para comprar um microcontrolador, o tipo de olhar é definitivamente para o Flash!

Memória de acesso aleatório (RAM)

Uma vez que a fonte de alimentação está desligado o conteúdo da RAM é apagada. É utilizado para o armazenamento de dados

temporários e resultados intermédios criados e utilizados durante o funcionamento do microcontrolador. Por exemplo, se o

programa executa um aumento (de qualquer outro), é necessário dispor de um registo que representa o que na vida diária é

chamado a "soma".Por este motivo, um dos registos de memória RAM é chamado de "soma" e usado para armazenar resultados

de adição.

ROM programáveis apagáveis electricamente (EEPROM)

O conteúdo da EEPROM pode ser alterado durante a operação (semelhante ao RAM), mas mantém-se permanentemente

gravadas, mesmo após a perda de potência (semelhante a ROM). Assim, EEPROM é muitas vezes usado para armazenar

valores, criados durante a operação, que devem ser guardados permanentemente. Por exemplo, se você projetar uma fechadura

electrónica ou um alarme, que seria ótimo para permitir que o usuário crie e digite a senha, mas é inútil se perdido cada vez que a

fonte de alimentação se apaga. A solução ideal é um microcontrolador com uma EEPROM incorporado.

INTERRUPÇÃO

A maioria dos programas usam as interrupções na sua execução regular. A finalidade do microcontrolador é principalmente para

responder a alterações na sua envolvente. Em outras palavras, quando um evento ocorre, o microcontrolador faz alguma coisa ...

Por exemplo, quando você aperta um botão em um controle remoto, o microcontrolador irá registrá-lo e responder alterando um

canal, aumentar o volume ou para baixo, etc Se o microcontrolador passou a maior parte de seu tempo infinitamente verificando

alguns botões durante horas ou dias, não seria prático em tudo.

É por isso que o microcontrolador aprendeu um truque durante a sua evolução. Em vez de verificar cada pino ou bit

constantemente, os delegados de microcontroladores a 'esperar questão "para um" especialista "que irá responder apenas quando

algo digno de atenção acontece.

O sinal que informa a unidade central de processamento cerca de um tal evento é chamado de uma interrupção.

PROCESSADOR CENTRAL UNIT (CPU)

Como o próprio nome sugere, esta é uma unidade que monitora e controla todos os processos dentro do microcontrolador. É

constituída por várias subunidades, das quais as mais importantes são:

Page 14: Introdução a Microcontroladores PIC

Decodificador de instrução é uma parte da eletrônica que decodifica as instruções do programa e executa outros circuitos, com base em que. O "conjunto de instruções", que é diferente para cada família de microcontroladores expressa as capacidades deste circuito;

Aritmética unidade lógica (ULA) realiza todas as operações matemáticas e lógicas sobre os dados; e

Acumulador é um SFR intimamente relacionado com a operação da ULA. É uma espécie de mesa de trabalho usada para armazenar todos os dados sobre os quais alguma operação deve ser realizada (adição, mudança / mover etc.) É também armazena resultados prontos para utilização em processamento adicional. Um dos SFR, chamada deRegistro de Status (PSW), está intimamente relacionado com o acumulador. Ela mostra em qualquer momento o "status" do número armazenado no acumulador (número é maior ou menor do que zero, etc.) Acumulador é também chamado de registro de trabalho e é marcado como registo W ou apenas W, portanto.

BUS

Um barramento consiste de 8, 16 ou mais fios. Existem dois tipos de ônibus: o barramento de endereços e barramento de

dados. O barramento de endereços consiste em quantas linhas forem necessárias para tratar de memória. Ele é usado para

transmitir endereços do CPU para a memória. O barramento de dados é tão largo como os dados, no nosso caso, é de 8 bits ou

fios de largura. Ele é utilizado para ligar todos os circuitos dentro do microcontrolador.

COMUNICAÇÃO SERIAL

Ligação em paralelo entre o microcontrolador e periféricos através de portas de entrada / saída é a solução ideal em distâncias

mais curtas de até vários metros. Contudo, em outros casos em que é necessário para estabelecer a comunicação entre dois

dispositivos em distâncias mais longas que não é possível a utilização de uma ligação paralela. Em vez disso, a comunicação

serial é utilizada.

Hoje, a maioria dos microcontroladores têm construído em vários sistemas diferentes para comunicação serial, como equipamento

de série. Qual destes sistemas serão utilizados depende de muitos fatores, dos quais os mais importantes são:

Quantos dispositivos o microcontrolador tem para trocar dados com?

Qual a velocidade da troca de dados tem que ser?

O que é a distância entre dispositivos?

É necessário enviar e receber dados ao mesmo tempo?

Page 15: Introdução a Microcontroladores PIC

Uma das coisas mais importantes relativos a comunicação serial é o protocolo que deve ser estritamente observados. É um

conjunto de regras que devem ser aplicadas a fim de que os dispositivos podem interpretar corretamente os dados que eles

mutuamente taxas.Felizmente, o microcontrolador automaticamente cuida disso, para que o trabalho do programador / usuário é

reduzido a escrita simples (dados a serem enviados) e ler (dados recebidos).

TAXA DE TRANSMISSÃO

A taxa de transmissão termo é utilizado para designar o número de bits transferidos por segundo [bps]. Note-se que ele se refere a

bits, não bytes. É geralmente requerido pelo protocolo que cada byte é transferido, juntamente com vários bits de controlo. Isso

significa que um byte no fluxo de dados em série pode consistir em 11 bits. Por exemplo, se a taxa de transmissão é de 300 bps,

em seguida, máximo de 37 e mínimo 27 bytes podem ser transferidos por segundo.

Os sistemas de comunicação serial mais comumente utilizados são:

I 2 C (INTER CIRCUITO INTEGRADO)

Circuito Inter-integrado é um sistema de intercâmbio de dados seriais entre os microcontroladores e circuitos integrados

especializados de uma nova geração. É usado quando a distância entre eles é de curta duração (receptor e transmissor são

geralmente na mesma placa de circuito impresso). A conexão é estabelecida através de dois condutores. Um é utilizado para a

transferência de dados, a outra é usada para a sincronização (sinal de relógio). Como pode ser visto na figura a seguir, um

dispositivo é sempre um mestre. Ele executa endereçamento de um único chip escravo antes do início da comunicação. Desta

forma, um microcontrolador pode se comunicar com 112 dispositivos diferentes. Taxa de transmissão é geralmente de 100 Kb / s

(modo padrão) ou 10 Kb / s (modo de taxa de transmissão lenta). Sistemas com a taxa de transmissão de 3,4 Mb / seg

recentemente apareceu. A distância entre os dispositivos que se comunicam através de um barramento I2C é limitado a vários

metros.

Page 16: Introdução a Microcontroladores PIC

SPI (Serial Bus Interface Periférica)

Um barramento de interface periférica de série (SPI) é um sistema de comunicação serial que usa até quatro condutores,

geralmente três. Um condutor é utilizado para receber dados, um para dados de envio, um para a sincronização e outro,

alternativamente, para seleccionar um dispositivo para comunicar com. É uma conexão full-duplex, o que significa que os dados

são enviados e recebidos simultaneamente.

A taxa máxima de transmissão é mais elevada do que no sistema de comunicação I2C.

UART (Universal Asynchronous Receiver / Transmitter)

Este tipo de comunicação é assíncrona, o que significa que uma linha especial para a transferência de sinal de relógio não é

utilizado.Em algumas aplicações, tais como a conexão de rádio ou ondas infravermelhas controle remoto, este recurso é

crucial. Uma vez que apenas uma linha de comunicação é utilizado, tanto o receptor e transmissor de operar com a mesma taxa

predefinida, de modo a manter a sincronização necessária. Esta é uma maneira muito simples de transferência de dados, uma vez

que, basicamente, representa a conversão de dados de 8 bits de paralelo para o formato de série. Taxa de transmissão não é alta,

até 1 Mbit / seg.

OSCILADOR

Mesmo os impulsos gerados pelo oscilador de permitir a operação sincronizada e harmónica de todos os circuitos

dentro do microcontrolador. O oscilador é geralmente configurados de modo a utilizar um cristal de quartzo ou

ressoador cerâmico para a estabilidade de frequência, mas que também pode funcionar como um circuito

independente (como RC do oscilador). É importante dizer que as instruções não são executadas a uma taxa imposta

pelo próprio oscilador, mas várias vezes mais lento.Isto acontece porque cada instrução é executada em vários

passos. Em alguns microcontroladores, é necessário o mesmo número de ciclos para executar todas as instruções,

enquanto que em outros, o número de ciclos é diferente para diferentes instruções. Por conseguinte, se o sistema

utiliza um cristal de quartzo, com uma frequência de 20 MHz, o tempo de execução de uma instrução não é 50ns,

mas de 200, 400 ou 800 ns, dependendo do tipo de MCU!

CIRCUITO DE ALIMENTAÇÃO

Page 17: Introdução a Microcontroladores PIC

Há duas coisas dignas de atenção sobre o circuito de alimentação do microcontrolador:

Brown para fora é uma condição potencialmente perigosa que ocorre no momento em que o microcontrolador está sendo desligado ou quando a tensão de alimentação cai para um mínimo devido ao ruído elétrico. Como o microcontrolador é composto por vários circuitos com diferentes níveis de tensão de funcionamento, este estado pode causar o seu desempenho fora de controle. Para evitar isso, o microcontrolador tem geralmente um circuito integrado para redefinição de marrom para fora que redefine toda a eletrônica assim que o microcontrolador incorre em um estado de emergência.

Pino de reposição é normalmente marcado como MCLR (Master Clear Reset). É usado para reposição externa do microcontrolador através da aplicação de uma lógica zero (0) ou um (1) a ele, o qual depende do tipo de microcontrolador. No caso de o circuito de marrom para fora não é construído em um circuito externo simples para redefinição de marrom para fora pode ser conectado ao pino MCLR.

Temporizadores / Contadores

O oscilador do microcontrolador utiliza cristal de quartzo para o seu funcionamento. Mesmo que ele não é a solução mais simples,

há muitas razões para usá-lo. A frequência do oscilador é como definido com precisão e muito estável, de modo que ele gera

impulsos estão sempre com a mesma largura, o que os torna ideais para a medição de tempo. Tais osciladores também são

utilizados em relógios de quartzo. Se é necessário medir o tempo entre os dois eventos, que é suficiente para contar impulsos

gerados pelo oscilador.Este é exatamente o que o temporizador faz.

A maioria dos programas usam desses cronômetros eletrônicos 'em miniatura. Estes são comumente 8 - ou SFRs 16 bits cujo

conteúdo é automaticamente incrementado por cada pulso que vem. Uma vez que o registo é completamente carregada, uma

interrupção pode ser gerada!

Se o temporizador utiliza um oscilador de quartzo interno para o seu funcionamento, então ele pode ser usado para medir o tempo

entre os dois eventos (se o valor do registo é T1, no momento de medição é iniciado, e T2, no momento em que termina, em

seguida, o tempo decorrido for igual o resultado da subtracção T2-T1). Se registros usar pulsos provenientes de fonte externa, em

seguida, como um temporizador é transformado em um balcão.

Page 18: Introdução a Microcontroladores PIC

Esta é apenas uma simples explicação da própria operação. No entanto, é mais complicado na prática.

COMO O TIMER OPERAR?

Na prática, os impulsos gerados pelo oscilador de quartzo são uma vez por cada ciclo da máquina, directamente ou através de um

divisor, trazido para o circuito que incrementa o número armazenado no registador de cronometro. Se uma instrução (um ciclo de

máquina) tem a duração de quatro períodos do oscilador de quartzo, em seguida, esse número será incrementado um milhão de

vezes por segundo (cada microssegundo) pela incorporação de quartzo com a freqüência de 4MHz.

É fácil medir intervalos curtos de tempo, até 256 microssegundos, na forma descrita acima, pois é o maior número que um

registrador pode armazenar. Esta restrição pode ser facilmente superada em várias formas, como por meio de um oscilador mais

lento, registra com mais bits, divisor ou interrupções. As duas primeiras soluções têm alguns pontos fracos, por isso é mais

recomendado usar prescalers ou interrupções.

USANDO UM PRESCALER temporizador OPERAÇÃO

Um divisor é um dispositivo eletrônico usado para reduzir a freqüência por um fator predeterminado. A fim de gerar um pulso na

sua saída, que é necessário para levar um, dois, quatro ou mais impulsos sobre a sua entrada. A maioria dos microcontroladores

têm um ou mais prescalers embutido e sua taxa de divisão pode ser alterada a partir do programa. O divisor é utilizado quando é

necessário medir a períodos mais longos de tempo. Se um divisor é partilhada por temporizador e temporizador de vigilância, que

não pode ser utilizado por ambos simultaneamente.

Usando interrupção temporizador OPERAÇÃO

Se o registo do temporizador consiste de 8 bits, o maior número que pode armazenar é 255. Quanto a 16-bit registra-lo é o

número 65.535. Se esse número for excedido, o cronômetro será reiniciado automaticamente e contando vai começar do zero

novamente. Esta condição é chamada de um estouro. Se activado dentro do programa, o excesso pode provocar uma interrupção,

o que dá possibilidades completamente novas. Por exemplo, o estado de registros utilizados para contagem de segundos, minutos

Page 19: Introdução a Microcontroladores PIC

ou dias pode ser alterada em uma rotina de interrupção. O processo todo (exceto para a rotina de interrupção) é realizado

automaticamente nos bastidores, que permite que os principais circuitos do microcontrolador a funcionar normalmente.

Esta figura ilustra o uso de uma interrupção na operação do temporizador. Atrasos de duração arbitrária, tendo quase nenhuma

influência sobre a execução do programa principal, pode ser facilmente obtida, atribuindo o prescaler para o timer.

CONTADORES

Se o temporizador recebe pulsos frm o pino de entrada do microcontrolador, então ele se transforma em um

contador. Obviamente, isto é o mesmo circuito electrónico capaz de operar em dois modos diferentes. A única diferença é que,

neste caso, impulsos a serem contados vir sobre o pino de entrada do microcontrolador e a sua duração (largura) é definida na

maior parte. É por isso que elas não podem ser utilizados para a medição de tempo, mas também para outros fins, tais como

produtos de contagem sobre uma linha de montagem, o número de rotação do eixo, etc passageiros (dependendo do sensor em

uso).

Watchdog timer

Um watchdog timer é um temporizador ligado a um oscilador RC completamente separada dentro do microcontrolador.

Se o watchdog timer estiver ativado, cada vez que ele conta até o valor máximo, o reset do microcontrolador e ocorre a execução

do programa começa a partir da primeira instrução. O objetivo é evitar que isso aconteça por meio de um comando específico.

De qualquer forma, a ideia baseia-se no facto de cada programa é executado em várias mais curtos ou mais ciclos. Se as

instruções de que reinicia o temporizador do cão de guarda são definidos nos locais apropriados do programa, além de comandos

que está sendo executado regularmente, então a operação do watchdog timer não afetará a execução do programa. Se por algum

motivo, geralmente ruído elétrico na indústria, o contador de programa 'fica preso "em algum local da memória a partir do qual não

há retorno, o watchdog timer não será apagado, então o valor do registro que está sendo constantemente incrementado chegará

ao máximo et voila ! reset ocorre!

Page 20: Introdução a Microcontroladores PIC

A D CONVERTER /

Sinais externos são geralmente fundamentalmente diferentes das do microcontrolador compreende (uns e zeros) e

tem que ser, por conseguinte, convertidos em valores compreensíveis para o microcontrolador. Um conversor

analógico-digital é um circuito eletrônico que converte os sinais contínuos para números digitais discretos.Por outras

palavras, este circuito converte um valor analógico num número binário e transmite-a para o CPU para

processamento adicional. Este módulo é, portanto, utilizado para medição de tensão pino de entrada (valor

analógico).

O resultado da medição é um número (valor digital) utilizada e processada mais tarde no programa.

Page 21: Introdução a Microcontroladores PIC

Arquitetura interna

Todos os microcontroladores atualizados usar um dos dois modelos básicos de design chamado Harvard ea arquitetura von-

Neumann.

Eles representam duas formas diferentes de troca de dados entre CPU e memória.

VON-NEUMANN ARQUITETURA

Microcontroladores utilizando a arquitetura von-Neumann têm apenas um bloco de memória e um barramento de

dados de 8 bits. Como todos os dados são trocados através destes 8 linhas, o ônibus está sobrecarregado e

comunicação é muito lento e ineficiente. A CPU pode ler uma instrução ou ler / escrever dados de / para a

memória. Ambos não podem ocorrer ao mesmo tempo que as instruções e dados utilizam a mesma barra. Por

exemplo, se uma linha de programa que lê registro de memória RAM chamada "soma" deve ser incrementado por um

(instrução: incf SUM), o microcontrolador vai fazer o seguinte: 1. Leia a parte da instrução de programa especificando o que deve ser feito (neste caso, é a instrução 'incf' para

incremento). 2. Leia a outra parte da mesma instrução especificando dados sobre a qual deve ser executada (neste caso é a

"soma" register). 3. Depois de ser incrementado, o conteúdo deste registo deve ser escrito para o registro da qual foi lido ("soma"

endereço de registro).

O mesmo bus de dados é utilizado para todas estas operações intermediárias.

HARVARD ARQUITETURA

Page 22: Introdução a Microcontroladores PIC

Microcontroladores usando arquitetura Harvard ter dois barramentos de dados diferentes. Uma é de 8 bits de largura

e liga a CPU RAM. A outra consiste em 12, 14 ou 16 linhas e se conecta a CPU ROM. Deste modo, o processador

pode ler a memória de dados de instrução e de acesso ao mesmo tempo.Uma vez que todos os registos de memória

RAM são de 8 bits, todos os dados a serem transaccionados são da mesma largura. Durante o processo de writin um

programa, apenas os dados de 8 bits são considerados. Em outras palavras, tudo o que você pode mudar a partir do

programa e tudo o que pode influenciar é de 8 bits de largura. Todos os programas escritos para estes

microcontroladores serão armazenados na ROM interna microcontrolador depois de ser compilado em código de

máquina. No entanto, os locais de memória ROM não tem 8, mas 12, 14 ou 16 bits. O resto dos bits 4, 6 ou 8

representa instruções especificando, para a CPU do que fazer com os dados de 8 bits.

As vantagens de uma tal concepção são as seguintes:

Todos os dados no programa é um byte (8 bits) de largura. Como o barramento de dados usado para a leitura programa tem 12, 14 ou 16 linhas, tanto a instrução e os dados podem ser lidos simultaneamente usando essas peças bits. Por este motivo, todas as instruções são instruções de ciclo único, com exceção da instrução de salto que é a instrução de dois ciclos.

Devido ao facto de o programa (ROM) e dados temporárias (RAM) são separada, o processador pode executar duas instruções de cada vez. Simplificando, enquanto RAM leitura ou gravação está em andamento (o fim de uma instrução), a próxima instrução do programa é lido através do outro ônibus.

Ao utilizar microcontroladores com arquitetura von-Neumann, nunca se sabe o quanto de memória está a ser ocupado pelo programa. Basicamente, a maioria das instruções do programa de ocupar duas posições de memória (um contém informações sobre o que deve ser feito, enquanto o outro contém informações sobre quais os dados que deve ser feito). No entanto, não é uma regra dura e rápida, mas o caso mais comum. Em microcontroladores com a arquitetura Harvard, o ônibus palavra programa é mais amplo do que um byte, que permite que cada palavra programa para consistir de instruções e dados, ou seja, um local de memória - uma instrução de programa.

Conjunto de Instruções

Todas as instruções compreensíveis para o microcontrolador são chamados em conjunto o conjunto de

instruções. Quando você escreve um programa em linguagem assembly, você realmente especificar instruções em

Page 23: Introdução a Microcontroladores PIC

tal ordem que deve ser executado. A principal restrição é aqui um certo número de instruções disponíveis. Os

fabricantes costumam adotar qualquer abordagem descrita a seguir: RISC (Reduced Instruction Set Computer)

Neste caso, o microcontrolador reconhece e executa somente operações básicas (adição, subtração, copiando etc.) Outras

operações mais complicadas, são realizadas pela combinação deles. Por exemplo, a multiplicação é realizada através da

realização da adição sucessiva. É o mesmo que se você tentar explicar a alguém, usando apenas algumas palavras diferentes, a

forma de chegar ao aeroporto em uma nova cidade. No entanto, não é tão negro como ele é pintado. Primeiro de tudo, esta

linguagem é fácil de aprender. O microcontrolador é muito rápido, de modo que não é possível ver todos os 'acrobacias'

aritméticas que realiza. O usuário só pode ver os resultados finais. Enfim, não é tão difícil de explicar onde o aeroporto é se você

usar as palavras certas, como a esquerda, direita, etc quilômetros

CISC (Complex Instruction Set COMPUTADOR)

CISC é o oposto ao RISC! Microcontroladores destinados a reconhecer mais de 200 instruções diferentes podem fazer um monte

de coisas em alta velocidade. No entanto, é preciso entender como tirar tudo o que um tal ricas ofertas de línguas, o que não é

nada fácil ...

Como fazer a escolha certa?

Ok, você é o novato e você tomou a decisão de ir em uma aventura de trabalhar com os microcontroladores. Parabéns pela

escolha! No entanto, não é tão fácil de escolher o microcontrolador direito que possa parecer. O problema não é uma gama

limitada de dispositivos, mas o oposto!

Antes de começar a projetar um dispositivo baseado no microcontrolador, pense no seguinte: quantas linhas de entrada / saída

que vai precisar para a operação? Deve executar algumas outras operações do que simplesmente virar relés on / off? Será que

ela precisa de algum módulo especializado, como a comunicação serial, conversor A / D, etc? Quando você cria uma imagem

clara do que você precisa, o intervalo de selecção é consideravelmente reduzido e é hora de pensar em preço. Você está

planejando para ter vários mesmos dispositivos? Várias centenas? Um milhão? De qualquer forma, você começa o ponto.

Se você pensar em todas essas coisas para a primeira vez, em seguida, tudo parece um pouco confuso. Por esta razão, ir passo a

passo. Em primeiro lugar, selecione o fabricante, ou seja, a família de microcontroladores você pode facilmente obter. Estudar um

modelo específico. Saiba o quanto você precisa, não entrar em detalhes. Solucionar um problema específico e algo incrível vai

acontecer, você vai ser capaz de lidar com qualquer modelo de pertencer a essa família de microcontroladores.

Lembre-se de aprender a andar de bicicleta. Depois de várias contusões, no início, você foi capaz de manter o equilíbrio, então a

montar facilmente qualquer outra bicicleta. E, claro, você nunca vai esquecer de programação, assim como você nunca vai

esquecer andar de bicicleta!

1,4 microcontroladores PIC

Microcontroladores PIC projetados por Microchip Technology provavelmente a melhor escolha para iniciantes. Aqui está o porquê

...

O nome original deste microcontrolador é PIC (Peripheral Controller Interface), mas é mais conhecido como PIC. Seu ancestral, o

chamado PIC1650, foi projetado em 1975 pelo General Instruments. Foi concebido para fins totalmente diferentes. Cerca de dez

anos mais tarde, este circuito foi transformado em um microcontrolador PIC real, adicionando memória EEPROM. Hoje, Microchip

Technologydivulga o fabrico da amostra 5000000000.

Se você estiver interessado em aprender mais sobre isso, apenas continue lendo.

A idéia principal com este livro é fornecer ao usuário informações necessárias a fim de que ele é capaz de usar microcontroladores

em prática depois de lê-lo. A fim de evitar explicações tediosas e história interminável sobre os recursos úteis de diferentes

microcontroladores, este livro descreve o funcionamento de um determinado modelo pertencente à "alta classe média". É o

merece atenção PIC16F887-poderoso o suficiente para ser e simples o suficiente para ser facilmente apresentado a todos. Assim,

os capítulos seguintes descrevem este microcontrolador em detalhes, mas referem-se a toda a família PIC também.

Page 24: Introdução a Microcontroladores PIC

Família ROM

[Kbytes] RAM

[bytes] Pinos

Freq Relógio.[MHz]

A / D Entradas

Resolução do

conversor A / D

Compar-dores

Timers bit - 8/16

Comunicação Serial.

Saídas PWM

Outros

Base-Linha 8 - arquitetura bit, 12-bit Instruction Palavra Comprimento

PIC10FXXX 0,375-

,75 16 - 24 6-8 4-8 0-2 8 0-1 1 x 8 - - -

PIC12FXXX 0,75-1,5 25 - 38 8 4-8 0-3 8 0-1 1 x 8 - - EEPROM

PIC16FXXX 0,75-3 25-134 14-44 20 0-3 8 0-2 1 x 8 - - EEPROM

PIC16HVXXX 1.5 25 18 - 20

20 - - - 1 x 8 - - VDD =

15V

Médios 8 - arquitetura bit, 14-bit Instruction Mundo Comprimento

PIC12FXXX 1,75-3,5 64-128 8 20 0-4 10 1 1 - 2 x 8 1 x 16

- 0-1 EEPROM

PIC12HVXXX 1.75 64 8 20 0-4 10 1 1 - 2 x 8 1 x 16

- 0-1 -

PIC16FXXX 1,75-14 64-368 14-64 20 0-13 8 ou 10 0-2 1 - 2 x 8 1 x 16

USART I2C SPI

0-3 -

PIC16HVXXX 1,75-3,5 64-128 14-20 20 0-12 10 2 2 x 8 1 x 16

USART I2C SPI

- -

High-End 8 - arquitetura bit, 16-bit Instruction Palavra Comprimento

PIC18FXXX 4-128 256 - 3936

18-80 32 - 48 4-16 10 ou 12 0-3

0-2 x agosto 2-3 x

16

USB2.0 CAN2.0

USART I2C SPI

0-5 -

PIC18FXXJXX 8-128 1024 - 3936

28-100

40 - 48 10 - 16 10 2

0-2 x agosto 2-3 x

16

USB2.0 USART

Ethernet I2C SPI

2-5 -

PIC18FXXKXX 8-64 768 - 3936

28 - 44

64 10-13 10 2 1 x 8 3 x 16

USART I2C SPI

2 -

Todos os microcontroladores PIC usar arquitetura de Harvard, o que significa que a sua memória de programa é ligado à CPU ao

longo de mais do que oito linhas. Dependendo da largura do canal, existem 12 -, 14 - e os microcontroladores de 16 bits. Tabela

acima mostra as principais características destas três categorias.

Como pode ser visto na tabela da página anterior, exceto '16-bit monsters'-PIC 24FXXX e PIC-24HXXX todos microcontroladores

PIC têm arquitetura Harvard 8-bit e pertencem a um dos três grandes grupos. Assim, dependendo do tamanho da palavra

programa existem primeira, segunda e terceira categoria microcontrolador, ou seja, 12 -, 14 - ou microcontroladores de 16

bits. Tendo semelhante núcleo de 8 bits, todos eles usam o mesmo conjunto de instruções eo hardware "esqueleto" básico ligado

a mais ou menos periférica unidades.

Conjunto de Instruções

O conjunto de instruções para o 16F8XX inclui 35 instruções no total. A razão para um pequeno número de instruções, tais reside

na arquitectura RISC. Isso significa que as instruções são bem otimizado dos aspectos da velocidade de operação, a simplicidade

na arquitetura e código de compacidade. A única coisa ruim sobre a arquitetura RISC é que o programador é esperado para lidar

com estas instruções. Claro, isso é relevante apenas se você usar a linguagem assembly para a programação. Este livro refere-se

à programação, linguagem de programação C mais elevada, o que significa que a maior parte do trabalho foi feito por outra

pessoa. Você apenas tem que usar instruções relativamente simples.

TEMPO DE EXECUÇÃO DE INSTRUÇÕES

Page 25: Introdução a Microcontroladores PIC

Todas as instruções são instruções de ciclo único. A única exceção pode ser instruções de desvio condicional (se a condição for

cumprida) ou instruções efectuadas sobre o contador de programa. Em ambos os casos, dois ciclos são necessários para a

execução da instrução, enquanto que o segundo ciclo é executado como um NOP (No Operation). Instruções de ciclo simples

consistem em quatro ciclos de clock. Se oscilador 4 MHz é utilizada, o tempo nominal para a execução da instrução é 1μS. Quanto

a instruções de salto, o tempo de execução da instrução é 2μS.

Conjunto de instruções de microcontroladores PIC de 14 bits:

I N S T R U Ç Ã O D E S C R I Ç Ã O O P E R A Ç Ã O B A N D E I R A C L K *

Instruções de transferência de dados

MOVLW k Mova constante para W k -> w

1

MOVWF f Move W para f W -> f

1

MOVF f, d Mova f para d f -> d Z 1 1, 2

CLRW Limpar W 0 -> W Z 1

CLRF f Limpar f 0 -> f Z 1 2

Swapf f, d Mordidelas de swap em f f (7:4), (3:0) -> f (3:0),

(7:4) 1 1, 2

Instruções aritméticas de lógica

ADDLW k Adicionar W e constante W + k -> W C, CC, Z 1

ADDWF f, d Adicionar W ef W + f -> d C, CC, Z 1 1, 2

SUBLW k Subtrair W a partir de constante kW -> W C, CC, Z 1

SUBWF f, d Subtrair W a partir de f fW -> d C, CC, Z 1 1, 2

ANDLW k Lógico E com W com uma constante W e K -> W Z 1

ANDWF f, d Lógico E com W com f W e F -> d Z 1 1, 2

ANDWF f, d Lógico E com W com f W e F -> d Z 1 1, 2

IORLW k OR lógico com W com uma constante W OR k -> W Z 1

IORWF f, d OR lógico com W com f W ou f -> d Z 1 1, 2

XORWF f, d Lógico OU exclusivo com W com uma

constante W XOR k -> W Z 1 1, 2

XORLW k Lógico W OU exclusivo com com f W XOR f -> d Z 1

INCF f, d Incremento f por 1 f +1 -> f Z 1 1, 2

DECF f, d Decrementa f por 1 f-1 -> f Z 1 1, 2

RLF f, d Gire f esquerdo através carry

C 1 1, 2

RRF f, d Rodar f para a direita através carry

C 1 1, 2

COMF f, d Complemente f f -> d Z 1 1, 2

Instruções orientada por bits

BCF f, b Limpar bit b em f 0 -> f (b)

1 1, 2

BSF f, b Limpar bit b em f 1 -> f (b)

1 1, 2

Instruções de Controle de Programa

BTFSC f, b Teste bit b de f. Ir a seguinte instrução se

clara. Ignorar se f (b) = 0

1 (2) 3

BTFSS f, b Teste bit b de f. Ir a seguinte instrução se

definir. Ignorar se f (b) = 1

1 (2) 3

DECFSZ f, d Decrementa f. Ir a seguinte instrução se

clara. f-1 -> d saltar se Z = 1

1 (2)

1, 2, 3

Page 26: Introdução a Microcontroladores PIC

INCFSZ f, d Incremento f. Ir a seguinte instrução se

definir. f +1 -> d saltar se Z = 0

1 (2)

1, 2, 3

GOTO k Ir para endereço k -> PC

2

CHAMADA k Chamada de sub-rotina PC -> TOS, k -> PC

2

RETORNO Retorno de sub-rotina TOS -> PC

2

RETLW k Retorno com constante em W k -> W, TOS -> PC

2

RETFIE Retorno de interrupção TOS -> PC, 1 -> GIE

2

Outras instruções

NOP Nenhuma operação TOS -> PC, 1 -> GIE

1

CLRWDT Limpar watchdog timer 0 -> WDT, 1 -> A, 1 -> PD TO, PD 1

SLEEP Vá para o modo de suspensão 0 -> WDT, 1 -> A, 0 -> PD TO, PD 1

* 1 Quando um registo de I / O é modificado como uma função de si, o valor utilizado será o valor actual dos próprios pinos.

* 2 Se a instrução é executada no registo TMR e se d = 1, o prescaler será apagado.

* 3 Se o PC é modificada ou o resultado do teste é um lógico (1), a instrução requer dois ciclos.

Page 27: Introdução a Microcontroladores PIC
Page 28: Introdução a Microcontroladores PIC

A arquitetura de microcontroladores PIC de 8 bits. Qual destes módulos são de pertencer a um microcontrolador depende do seu

tipo.