0% acharam este documento útil (0 voto)
10 visualizações34 páginas

Diferenças entre Microcontroladores e Microprocessadores

O documento explica as diferenças entre microcontroladores e microprocessadores, destacando que os microcontroladores são mais integrados e práticos para aplicações eletrônicas. Ele também aborda a importância dos sistemas numéricos, como binário e hexadecimal, e como esses sistemas são utilizados na eletrônica digital. Além disso, discute a conversão entre diferentes sistemas numéricos e os conceitos básicos de bits e bytes.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
10 visualizações34 páginas

Diferenças entre Microcontroladores e Microprocessadores

O documento explica as diferenças entre microcontroladores e microprocessadores, destacando que os microcontroladores são mais integrados e práticos para aplicações eletrônicas. Ele também aborda a importância dos sistemas numéricos, como binário e hexadecimal, e como esses sistemas são utilizados na eletrônica digital. Além disso, discute a conversão entre diferentes sistemas numéricos e os conceitos básicos de bits e bytes.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

1.

1 INTRODUÇÃO

Novatos em eletrônica costumam pensar que o microcontrolador é o mesmo que o microprocessador. Isso não é

verdade. Eles diferem entre si de muitas maneiras. A diferença primeira e mais importante em favor do microcontrolador é

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

lugar, deve ser adicionado a ele. Mesmo que seja considerada uma poderosa máquina de computação, não é ajustado

para se comunicar com o ambiente periférico. A fim de permitir o microprocessador para se comunicar com o ambiente

periférico, circuitos especiais devem ser usados. Isto é como era no princípio e continua a ser o mesmo hoje.

Por outro lado, o microcontrolador foi projetado para ser tudo isso em um. Nenhum outro especializado componentes

externos são necessários para sua aplicação, pois todos os circuitos necessários que de outra forma pertencem a

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

A fim de tornar mais fácil para você entender as razões para um sucesso tão grande de microcontroladores, vamos

chamar a sua atenção por alguns minutos com o seguinte exemplo.

Cerca de dez anos atrás, concepção de um dispositivo eletrônico controlando o elevador em um prédio de vários

andares foi muito 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 exigem tem prioridade? Como lidar com questão de segurança? Perda de energia elétrica? Falha?

Uso indevido? ... O que vem depois de resolver essas questões básicas é um processo meticuloso de concepção

eletrônica apropriada usando um grande número de chips especializados. Dependendo da complexidade do dispositivo,

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

montar dispositivo. Um dispositivo de enorme! É mais um trabalho de longa duração e tentando. Finalmente, quando tudo

está terminado e testado por muitas vezes, o momento crucial vem quando você se concentrar, tomar uma respiração

profunda e mudar a fonte de alimentação.

Isso 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 todos estão satisfeitos e você finalmente receber

o pagamento pelo trabalho que têm feito, muitas empresas de construção vai se interessar por seu trabalho. Claro, se

você tiver sorte, outro dia lhe trará uma oferta de travamento de um novo investidor. No entanto, um novo edifício tem

quatro andares mais. Você sabe o que é isso? 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 de produtos eletrônicos? Tudo bem,

mesmo se você conseguir fazer tal jóia um eletrônico, o investidor vai esperar na frente de sua porta pedindo uma câmera

no elevador. Ou para uma relaxante música, no caso da falha do elevador. Ou por duas portas de elevador. De qualquer

forma, a lei de Murphy é inexorável e você certamente não 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, é assim que foi até os primeiros microcontroladores foram projetados - pequeno,

microcontroladores poderosos e baratos. Desde o momento em sua programação deixou de ser uma ciência, tudo tomou

outro rumo ...

Eletrônicos capazes de controlar um pequeno submarino, um guindaste ou o elevador acima mencionados já está

construído em um único chip. Microcontroladores oferecem uma ampla gama de aplicações e apenas alguns deles são

normalmente utilizados. Cabe a você decidir o que você quer que o microcontrolador para fazer dump e um programa

contendo instruções apropriadas para ele. Antes de ligar o aparelho, 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é se sentir satisfeito. Isto é tudo.
Sabe que todas as pessoas podem ser classificadas em um dos 10 grupos, aqueles que estão familiarizados com o

sistema numérico binário e aqueles que não estão familiarizados com ela. Você não entende? Isso significa que você

ainda pertencem ao último grupo. Se você quiser alterar o seu estado leia o texto a seguir descreve brevemente alguns

dos conceitos básicos utilizados 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 ciência tão boa! Tudo é tão lógico... Todo o universo pode ser descrito com dez dígitos apenas.

Mas, isso realmente tem que ser assim? Precisamos exatamente dez dígitos? Claro que não, é apenas uma questão de

hábito. Lembre-se as lições da escola. Por exemplo, qual é 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 + 6 + 7 * 10 * 100. Este número poderia olhar mais científico? A resposta é sim

mais uma vez: 4 * 100 + 101 + 6 * 7 * 102. O que isso realmente significa? Por que usamos exatamente estes 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 numeração, ou seja, sistema de numeração decimal.

Sistema numérico 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 são restritas 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 números

da mesma forma como o fazemos agora, mas seria um pouco diferente. Por exemplo: 11011010. Quantas páginas de um

livro que o número 11011010 incluir? A fim de aprender 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, sistema de base-2 número (sistema numérico binário).

É, obviamente, o mesmo número representado em dois sistemas de número diferente. A única diferença entre essas

duas representações é o número de dígitos necessário 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 escrevê-la 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 controlada, os circuitos mais complicados eletrônico 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 (menos de alguns volts). As razões são ruídos elétricos e algo chamado de "ambiente de trabalho real
'(mudanças imprevisíveis de tensão de alimentação, mudanças de temperatura, tolerância a valores de componentes

embutidos etc.) Imagine um computador que opera sobre números decimais, tratando-as da seguinte forma: 0 = 0 V, 1 =

5V, 2 = 10V, 3 = 15V, 4 = 20V ... 9 = 45V.

Será que ninguém baterias dizer?

Uma solução muito mais simples é uma lógica binária, onde 0 indica que não há 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. É sobre a

lógica zero (0) e lógica de um (1) que os aparelhos eletrônicos perfeitamente lidar com e facilmente realiza todas as

operações infinitamente complexa matemática. Obviamente, o sistema eletrônico estamos falando de matemática em que

se aplica todos os números são representados por apenas dois dígitos e onde só é importante saber se há uma tensão ou

não. Claro, estamos falando de eletrônica digital.

Sistema numérico hexadecimal


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

números binários. Por esta razão, um sistema novo número, com 16 símbolos diferentes foi criada. É chamado sistema

de numeração hexadecimal e consiste de dez dígitos que estamos acostumados a (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. 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 ele é usado com habilidade? O maior número escrito com oito dígitos

binários é, ao mesmo tempo o maior número hexadecimal de 2 dígitos. Não se esqueça que os computadores usam

números de 8 dígitos binários. Por acaso?

CÓDIGO BCD

Código BCD é um código binário para números decimais ( B -veterinários C oded D ecimal ). É usado para ativar os

circuitos eletrônicos para se comunicar tanto com os periféricos usando sistema de numeração decimal ou dentro dos

próprios o seu mundo "usando o sistema binário. É composto por números de 4 dígitos binários 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 usa normalmente apenas os dez primeiros.

SISTEMA DE CONVERSÃO NÚMERO

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

hexadecimal é algo entre eles. Portanto, é muito importante para 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ível.

Conversão de binário em número decimal

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 seu valor pode ser facilmente determinado através da contagem a 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 ou1) e adicione todos os resultados. A magia do binário para conversão de número decimal

funciona...

Você duvida? Veja o exemplo abaixo:


Note-se que, para representar 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 devem ser usados. Assim, para representar números decimais 0-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 que consiste de n dígitos é obtido quando a base 2 é levantada pelo n. O resultado deve ser subtraído de 1. Por

exemplo, se n = 4:

2 4 - 1 = 16-1 = 15

Assim, usando 4 dígitos binários, é possível representar números decimais de 0 a 15, o que equivale a 16 valores

diferentes no total.

HEXADECIMAL PARA CONVERSÃO NÚMERO DECIMAL

A fim de 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 de posição. Por exemplo:

HEXADECIMAL PARA CONVERSÃO NÚMERO BINARY

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

hexadecimais são simplesmente substituídos por dígitos binários apropriado. Desde o dígito hexadecimal máximo é

equivalente ao número decimal 15, nós precisamos utilizar quatro dígitos binários para representar um dígito

hexadecimal. Por exemplo:


Um quadro comparativo abaixo contém os valores de números 0-255 em três sistemas de número diferente. Esta é

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

NÚMEROS DE MARCAÇÃO

Sistema de numeração hexadecimal é, juntamente com os sistemas binário e decimal considerado o sistema de número

mais importante para nós. É fácil 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 ele é sobre o sistema, binário decimal ou

hexadecimal, o resultado poderia ser produtos de 6, 110 ou 272, respectivamente! Assim, a fim de evitar mal-entendidos,

diferentes prefixos e sufixos são diretamente adicionados aos números. O prefixo 0x ou $, assim como o sufixo h marcas,

os números no sistema hexadecimal. Por exemplo, o número hexadecimal 10AF pode parecer quanto $ 10AF, ou 0x10AF

10AFh. Da mesma forma, números binários normalmente obter o prefixo ou 0b%. Se um número não tem nem sufixo

prefixo nem é considerado decimal. Infelizmente, esta maneira de números de marcação não é padronizado, portanto,

depende da aplicação concreta.

BIT

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

que ela é na prática. A resposta não é nada especial, um pouco é apenas um dígito binário. Semelhante ao sistema de

numeração decimal em que os dígitos de um número não têm o mesmo valor (por exemplo dígitos do número decimal

444 são as mesmas, mas têm valores diferentes), a 'importância' de bit depende de sua posição no número binário .
Como não há ponto de falar sobre as unidades, dezenas etc, em números binários, seus dígitos são referidos como o bit

zero (bit mais à direita), primeiro bit (o segundo da direita), etc Além disso, desde o sistema binário utiliza dois dígitos

apenas (0 e 1), o valor de um bit pode ser 0 ou 1.

Não pode ser confundido se você se deparar com um bit com valor 4, 16 ou 64. Significa apenas que seu valor é

representado no sistema decimal. Basta colocar, nós temos muito acostumados com o uso de números decimais que tais

expressões se tornaram comuns. Seria correto dizer, por exemplo, "o valor do bit sexta de qualquer número binário é

equivalente ao número 64 decimal. Mas nós somos humanos e hábitos velhos morrem duramente ... Além disso, como

seria o som 'número um-um-zeroone-zero ...'?

BYTE

Um byte é composto por oito bits agrupados. Se um bit é um dígito, é lógico que bytes representam os números. Todas

as operações matemáticas podem ser realizadas sobre eles, como sobre números decimais comum. Semelhante ao de

qualquer número de dígitos, os dígitos de bytes não tem o mesmo significado que qualquer um. O maior valor tem o bit

mais à esquerda chamado o bit mais significativo (MSB). O bit mais à direita tem o menor valor e por isso é chamado o bit

menos significativo (LSB). Desde oito zeros e uns de um byte pode ser combinado em 256 formas diferentes, o maior

número decimal que pode ser representado por um byte é 255 (uma combinação representa um zero).

Um nibble é referido como metade de um byte. Dependendo do que a metade do registo que estamos falando

(esquerda ou direita), há "alto" e "baixo" nibbles, respectivamente.

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

processadores parece? O que fazer circuitos realizar operações matemáticas complexas e tomar decisões se parece?

Você sabe que seu esquema aparentemente complicada compreendem apenas alguns elementos diferentes chamados

circuitos lógicos ou portas lógicas?

1,3 DEVEM 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 avaliados no que hoje é conhecido como AND, OR NOT e circuitos lógicos. O princípio de sua operação é

conhecida como álgebra booleana.

Circuitos Lógicos

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

discutido 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á na sua saída apenas se as duas entradas (A e B) são acionados alta (1).

Tabela à direita mostra a dependência mútua entre entradas e saída.

Quando usado em um programa, uma lógica e operação é realizada pela instrução de programa, que será discutido

posteriormente. Por enquanto, é suficiente para lembrar que a lógica E em um programa refere-se aos bits

correspondentes de dois registradores.

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

seguir se aplica. Alogic um (1) aparecerá na sua saída, se uma ou outra entrada (A OR B) é impulsionado alta (1). Se a

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

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

também.

No programa, a lógica OR operação é realizada da mesma maneira como a lógica AND.

NÃO GATE

A porta lógica NÃO tem apenas uma entrada e apenas uma saída. Atua de forma extremamente simples. Quando a

lógica zero (0) aparece em sua entrada, uma lógica de um (1) aparece em sua saída e vice-versa. Isso significa que esta

porta inverte o sinal e é freqüentemente chamado de inversor, portanto.

No programa, a operação lógica NOT é feita em cima de um byte. O resultado é um byte com pedaços invertidos. Se os

bits byte são consideradas como um número, o valor invertido é na verdade um complemento do mesmo. O complemento

de um número é um valor que adicionado ao número torna alcançar o maior número binário de 8 dígitos. Em outras

palavras, a soma de um número de 8 dígitos e seu complemento é sempre 255.


EXCLUSIVE OR GATE

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

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

diferentes.

No programa, esta operação é comumente usado para comparar dois bytes. Subtração podem ser usados para o

mesmo fim (se o resultado for 0, bytes são iguais). Ao contrário da subtração, a vantagem desta 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.
SFR REGISTOS

Além de registros que não têm qualquer função especiais e pré-determinado, cada microcontrolador tem um número de

registros (SFR), cuja função é pré-determinado pelo fabricante. Seus bits estão ligados (literalmente) para circuitos

internos do microcontrolador, tais 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. Imagine oito switches que

controlam o funcionamento de um pequeno circuito dentro do microcontrolador Registra-Special Function fazer

exatamente isso.

Em outras palavras, o estado de bits registo é alterado a partir do programa, registra executar pequenos circuitos dentro

do microcontrolador, esses circuitos são via pinos do microcontrolador ligados à eletrônica periférica que é usado para ...

Bem, cabe a você.

INPUT / OUTPUT PORTOS

A fim de fazer o microcontrolador útil, tem que ser ligado a uma eletrônica adicional, ou seja, periféricos. Cada

microcontrolador tem um ou mais registros (chamados portos) conectados aos pinos do microcontrolador. Por input /

output? Porque você pode alterar uma função pin como você deseja. Por exemplo, suponha que você deseja que o seu

dispositivo para ativar / desativar três LEDs de sinal e, simultaneamente, monitorar o estado lógico de cinco sensores ou

botões de pressão. Alguns dos portos precisam ser configurados de modo que há três saídas (ligado à LEDs) e cinco

entradas (ligado a sensores). É simplesmente realizada por software, o que significa que uma função do pino pode ser

alterado durante a operação.


Uma das especificações importantes da entrada / saída (I / O) pinos é a corrente máxima que pode suportar. Para a

maioria dos microcontroladores, atuais obtidos a partir de um pino é suficiente para ativar um LED ou algum dispositivo de

baixo outra corrente (10-20 mA). Quanto mais pinos I / O, menor corrente máxima de um alfinete. Em outras palavras, a

corrente máxima indicada na ficha de especificações de dados para o microprocessador é compartilhado entre todas as

portas I / O.

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

tensão positiva de alimentação e entrará em vigor quando o pino é configurado como uma entrada conectada a um

interruptor mecânico ou um botão de pressão. As versões mais recentes dos microcontroladores têm resistores pull-up

configuráveis por software.

Cada porta I / O é normalmente sob o controle do SFR especializados, o que significa que cada bit do registrador

determina o estado do pino microcontrolador correspondente. Por exemplo, escrevendo uma lógica (1) a um bit do

registrador de controle (SFR), o pino porta apropriada é automaticamente configurado como entrada e tensão trouxe a ele

pode ser lido como lógico 0 ou 1. Caso contrário, por escrito zero para a SFR, o pino porta apropriada é configurado como

uma saída. Sua tensão (0V ou 5V) corresponde ao estado de bit apropriado da porta registo.

UNIDADE DE MEMÓRIA

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

compará-lo com um armário com muitas gavetas. Suponha-se, as gavetas estão claramente marcados para que seu

conteúdo pode ser encontrada com facilidade através da leitura da etiqueta na parte frontal da gaveta.
Da mesma forma, cada endereço de memória corresponde a uma posição de memória. O conteúdo de qualquer local

pode ser acessado e lido 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) é usado para salvar permanentemente o programa sendo executado. O tamanho do

programa que pode ser escrita depende do tamanho desta memória. Microcontroladores de hoje costumam usar 16-bit de

endereçamento, 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, seu programa raramente excedem o limite de várias centenas de instruções. Existem vários tipos de

ROM.

Mascarados ROM (MROM)

Mascarados ROM é um tipo de ROM o conteúdo do que está programado pelo fabricante. "Mascarado" o termo vem do

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

produção em grande escala, o preço é muito baixo. Esquecê-lo ...

Um Time Programmable ROM (OTP ROM)

Uma ROM tempo programável permite que você baixar um programa para ele, mas, como seu nome indica, uma única

vez. Se for detectado um erro após o download, a única coisa que você pode fazer é baixar o programa correto para outro

chip.
Erasable Programmable ROM UV (UV EPROM)

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

entanto, o pacote do microcontrolador com esta memória tem uma "janela" reconhecível em seu lado superior. Ele

permite que dados sejam apagados sob luz ultravioleta forte. Depois de alguns minutos é possível baixar um programa

novo para ele.

Instalação desta janela é complicada, que normalmente afeta o preço. Do nosso ponto de vista, infelizmente negativo ...

Memória Flash

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

EPROM UV. Como o conteúdo dessa memória pode ser escrita e apagada praticamente um número ilimitado de vezes,

microcontroladores com Flash ROM são ideais para a produção de experimentação de aprendizagem, e de pequena

escala. Devido à sua grande popularidade, a maioria dos microcontroladores são fabricados na tecnologia flash de hoje.

Então, se você estiver indo para comprar um microcontrolador, o tipo de olhar é definitivamente para Flash!

Random Access Memory (RAM)

Uma vez que a fonte de alimentação está desligado o conteúdo da RAM é apagada. Ele é usado para armazenar dados

temporários e resultados intermediários criados e utilizados durante a operação do microcontrolador. Por exemplo, se o

programa realiza uma adição (de qualquer), é necessário ter um registo que representa o que na vida cotidiana é

chamado de 'soma'. Por esta razão, um dos registos de memória RAM é chamado de 'soma' e usado para armazenar os

resultados da adição.

Apagável eletricamente ROM programável (EEPROM)

O conteúdo da EEPROM pode ser alterado durante a operação (similar ao RAM), mas continua a ser salvas

permanentemente, mesmo após a perda do poder (semelhante ao ROM). Assim, EEPROM é freqüentemente usado para

armazenar valores, criada durante a operação, que deve ser permanentemente guardados. Por exemplo, se você projetar

uma fechadura electrónica ou um alarme, que seria ótimo para habilitar o usuário para criar e digitar 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.
INTERRUPT

A maioria dos programas usar interrupções em sua execução regular. O objetivo do microcontrolador é principalmente

para responder às mudanças no seu entorno. 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 pela mudança de um canal, aumentar o volume para cima ou para baixo etc Se o microcontrolador passou a

maior parte de seu tempo infinitamente verificando alguns botões por horas ou dias , não seria prático em tudo.

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

bit constantemente, os delegados microcontrolador o "wait questão 'a um' especialista ', que irá responder apenas quando

algo acontece atenção digna.

O sinal que informa a unidade de processamento central sobre um evento como esse é chamado de uma interrupção.

CENTRAL unidade de processamento (CPU)

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

microcontrolador. É composto de várias subunidades, dos quais os mais importantes são:

 Decodificador de instrução é uma parte da eletrônica que as instruções do programa decodifica e


executa outros circuitos, com base em que. O "conjunto de instruções", que é diferente para cada família de
microcontroladores expressa a capacidade deste circuito;
 Logical Unit aritmética (ALU) realiza todas as operações matemáticas e lógicas sobre os dados, e
 Acumulador é um SFR intimamente relacionada com a operação da ALU. É uma espécie de mesa de
trabalho usada para armazenar todos os dados em que alguma operação deve ser realizada (além mudança, /
mover etc.) Ele também armazena resultados pronto para uso em processamento. Um dos SFR, chamado
Registrador de Status (PSW) , está intimamente relacionado com o acumulador. Ele mostra, em determinado
momento o 'status' de um número armazenado no acumulador (número é maior ou menor que zero, etc.)
Acumulador é também chamado de registrador de trabalho e é marcado como registo W ou apenas W,
portanto.
BUS

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

de dados. O barramento de endereços é composto por quantas linhas necessárias para endereçamento de memória. Ele

é usado para transmitir o endereço da CPU para a memória. O barramento de dados é tão grande como os dados, no

nosso caso, é de 8 bits ou fios de largura. É usado para conectar todos os circuitos dentro do microcontrolador.

COMUNICAÇÃO SERIAL

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

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

dois dispositivos em distâncias mais longas, não é possível usar a conexão paralela. Em vez disso, a comunicação serial

é usado.

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

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?


 O quão rápido a troca de dados tem de ser?
 Qual é a distância entre os dispositivos?
 É necessário enviar e receber dados simultaneamente?
Uma das coisas mais importantes sobre comunicação serial é o protocolo que deve ser estritamente observados. É um

conjunto de regras que devem ser aplicados a fim de que os dispositivos podem interpretar corretamente os dados trocam

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

é reduzido para escrever simples (dados a serem enviados) e ler (receber dados).

TAXA BAUD

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

se refere a bits, não bytes. Geralmente é exigido pelo protocolo que cada byte é transferido, juntamente com vários bits

de controle. Isso significa que um byte no fluxo de dados de série pode ser constituída de 11 bits. Por exemplo, se a taxa

de transmissão é de 300 bps, em seguida, no máximo 37 e mínimo de 27 bytes podem ser transferidos por segundo.

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

I 2 C (INTER Circuito Integrado)

Inter-circuito 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 elas é de curta duração (receptor e transmissor

estão geralmente na mesma placa impressa). Conexão é estabelecida através de dois condutores. Um é usado para

transferência de dados, o outro é usado para sincronização (sinal de clock). Como visto na figura abaixo, um dispositivo é

sempre um mestre. Ele realiza o endereçamento de um chip de escravos antes do início da comunicação. Desta forma

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

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

têm aparecido recentemente. A distância entre dispositivos que se comunicam em um barramento I2C é limitada a vários

metros.

SPI (Serial Peripheral Interface BUS)

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

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

alternativa para a seleção de um dispositivo para se comunicar. É uma conexão full-duplex, o que significa que os dados

são enviados e recebidos simultaneamente.

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


UART (assíncrono UNIVERSAL receptor-transmissor /)

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

não é utilizado. Em algumas aplicações, tais como conexão de rádio ou controle remoto infravermelho ondas, esta

característica é crucial. Uma vez que apenas uma linha de comunicação é usado, o receptor e transmissor operar na

mesma velocidade pré-definidas, a fim de 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 8 bits de dados de paralelo para o formato

de série. Taxa de transmissão não é alto, até 1 Mbit / seg.

OSCILLATOR

Mesmo pulsos gerados pelo oscilador permitir a operação harmônica e sincronizada de todos os circuitos dentro do

microcontrolador. O oscilador é normalmente configurado de modo a utilizar de cristal de quartzo ou cerâmica ressonador

para a estabilidade de freqüência, mas também pode operar como um circuito de stand-alone (como oscilador RC). É

importante dizer que as instruções não são executadas a uma taxa imposta pelo oscilador em si, mas várias vezes mais

lento. Isso acontece porque cada instrução é executada em várias etapas. Em alguns microcontroladores, o mesmo

número de ciclos é necessário para executar todas as instruções, enquanto em outros, o número de ciclos é diferente
para diferentes instruções. Assim, se o sistema utiliza cristal de quartzo com uma frequência de 20 Mhz, o tempo de

execução de uma instrução não é 50ns, mas 200, 400 ou 800 nS, dependendo do tipo de MCU!

CIRCUITO DE ALIMENTAÇÃO DE ENERGIA

Há duas coisas que valem a atenção sobre o microcontrolador circuito de alimentação:

 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 operação,
este estado pode causar o seu desempenho fora de controle. , A fim de impedi-lo, o microcontrolador tem
geralmente um circuito de marrom para redefinir a eletrônica que redefine a todo assim que o microcontrolador
incorre em um estado de emergência.
 Pino de reset é normalmente marcado como MCLR ( Master Reset Limpar ). É utilizado para repor
externa do microcontrolador através da aplicação de um zero a lógica (0) ou um (1) a ele, que depende do tipo
de microcontrolador. No caso do circuito fora marrom não é embutido, um circuito simples externo para marrom
fora reset pode ser ligado ao pino MCLR.

Temporizadores / Contadores

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

simples, existem muitas razões para usá-lo. A freqüência de oscilador, é precisamente definido e muito estável, de modo

que gera pulsos são sempre da mesma largura, o que os torna ideais para a medição do tempo. Osciladores como

também são usados em relógios de quartzo. Se é necessário medir o tempo entre dois eventos, é suficiente para contar

até pulsos gerados por este oscilador. Este é exatamente o que o temporizador faz.
A maioria dos programas usam esses eletrônicos em miniatura 'cronômetros. Estes são comumente 8 - ou 16-bit SFRs

o conteúdo do que é automaticamente incrementado por cada impulso vindo. Uma vez que um registo é completamente

carregado, uma interrupção pode ser gerada!

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

medir o tempo entre dois eventos (se o valor do registro é T1 no momento em que se inicia a medição, e T2 no momento

em que termina, então o tempo decorrido é igual a o resultado da subtração T2-T1). Se registra pulsos provenientes do

uso de fonte externa, em seguida, tal um temporizador é transformado em um balcão.

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

COMO FUNCIONA O TIMER OPERAR?

Na prática, pulsos gerados pelo oscilador de quartzo são uma vez por cada ciclo de máquina, diretamente ou através de

um divisor, trouxe para o circuito que aumenta o número armazenado no temporizador registo. Se uma instrução (um ciclo

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

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

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

que um registrador pode armazenar. Essa restrição pode ser facilmente superado de diversas maneiras, como através de

um lento oscilador, registra-se com mais bits, divisor ou interrupções. As duas primeiras soluções têm alguns pontos

fracos por isso é mais recomendado o uso de prescalers ou interrupções.

USANDO UMA PRESCALER NA OPERAÇÃO TIMER

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

pulso em sua saída, é necessário trazer pulsos 1, 2, 4 ou mais em sua entrada. A maioria de microcontroladores ter um

ou mais prescalers embutido e sua taxa de divisão pode ser alterada a partir do programa. O prescaler é usado quando é

necessário medir longos períodos de tempo. Se um prescaler é compartilhada por cronômetro e timer de monitoria, não

pode ser usado por ambos simultaneamente.


UTILIZAÇÃO DE INTERRUPÇÃO EM OPERAÇÃO TIMER

Se o registro do temporizador é composto por 8 bits, o maior número que pode armazenar é 255. Como para 16 bits

registros é o número 65,535. Se esse número for ultrapassado, o temporizador será automaticamente reiniciado e

contando terá início às zero novamente. Esta condição é chamada de um estouro. Se ativado a partir do programa, o

excesso pode causar uma interrupção, o que dá possibilidades completamente novas. Por exemplo, o estado de registros

usados por alguns segundos de contagem, minutos ou dias pode ser alterada em uma rotina de interrupção. Todo o

processo (exceto para rotina de interrupção) é executada automaticamente atrás das cenas, o que permite 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, é o mesmo circuito eletrônico capaz de operar em dois modos diferentes. A única diferença é que neste

caso pulsos a serem contados vir sobre o pino de entrada do microcontrolador e sua duração (largura) é mais indefinida.
É por isso que eles não podem ser utilizados para a medição do tempo, mas para outros fins, tais como contagem de

produtos numa linha de montagem, número de rotação do eixo, os passageiros, etc (dependendo do sensor em uso).

TIMER WATCHDOG

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

Se o watchdog timer é ativada, cada vez que 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 ponto é evitar que isso aconteça através de um comando

específico.

De qualquer forma, a idéia é baseada no fato de que cada programa é executado em vários loops maior ou menor. Se

as instruções que redefinir o timer de monitoria são definidas nos locais programa apropriado, além de comandos sendo

executados regularmente, então a operação do watchdog timer não afetará a execução do programa. Se por qualquer

motivo, o ruído normalmente elétrica 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, por isso o valor do registo é constantemente incrementado

vai atingir o máximo et voila ! Redefinir ocorre!


CONVERSOR A / D

Sinais externos são geralmente fundamentalmente diferentes daqueles que o microcontrolador entende (uns e zeros) e

têm de ser convertidos em valores, portanto, compreensível para o microcontrolador. Um conversor analógico-digital é um

circuito eletrônico que converte sinais contínuos para discretos números digitais. Em outras palavras, este circuito

converte um valor analógico em um número binário e passa para a CPU para processamento posterior. Este módulo é,

portanto, utilizado para medição de tensão de entrada do pino (valor analógico).

O resultado da medição é um número (valor digital) utilizados e transformados mais tarde no programa.
Arquitetura interna

Todos os microcontroladores atualizado usar um dos dois modelos de projeto básico chamado Harvard e von-Neumann

arquitetura.

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

VON NEUMANN-ARQUITETURA

Microcontroladores usando von-Neumann arquitetura têm apenas um bloco de memória e um bus de 8 bits de dados.

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 de leitura / gravação de dados de / para a memória. Ambos não podem

ocorrer ao mesmo tempo, uma vez que instruções e dados usar o mesmo ônibus. Por exemplo, se uma linha de programa

lê que a memória RAM registo chamado "SUM" deve ser incrementado por um (instrução: SUM INCF), o microcontrolador

irá fazer o seguinte:

1. Leia a parte da instrução de programa especificando o que deve ser feito (neste caso, é o 'INCF'
instrução para incremento).
2. Leia a outra parte da mesma instrução especificando sobre os dados que esta deve ser executada
(neste caso, é a "soma" register).
3. Depois de ser incrementado, o conteúdo deste registo deve ser escrito no registo de que foi lido ("SUM"
endereço de registro).

O barramento de dados utilizada é a mesma para todas estas operações intermediárias.


Arquitetura Harvard

Microcontroladores com arquitetura Harvard tem dois ônibus de dados diferentes. Um deles é de 8 bits e se conecta a

CPU RAM. A outra consiste em linhas 12, 14 ou 16 e se conecta a CPU ROM. Assim, a CPU pode ler uma instrução e

memória de dados de acesso, ao mesmo tempo. Uma vez que todos os registos de memória RAM são 8 bits de largura,

todos os dados que estão sendo trocadas são da mesma largura. Durante o processo de writin um programa, apenas 8

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

pode influenciar é de 8 bits de largura. Todos os programas escritos para estes microcontroladores serão armazenados

na ROM interna do microcontrolador depois de ser compilados em código de máquina. No entanto, posições de memória

ROM não tem 8, mas de 12 bits, 14 ou 16. O resto do bits 4, 6 ou 8 representa a instrução que especifica para a CPU o

que fazer com os dados de 8 bits.

As vantagens de tal projeto são os seguintes:

 Todos os dados no programa é um byte (8 bits) de largura. Como o barramento de dados usado para a
leitura do programa tem linhas 12, 14 ou 16, ambos de instruções e dados podem ser lidos simultaneamente
usando esses bits de reposição. Por esta razão, todas as instruções são de ciclo único com instruções, com
exceção da instrução de salto que é de dois ciclos de instrução.
 Devido ao fato de que o programa (ROM) e dados temporária (RAM) são separados, a CPU pode
executar duas instruções por vez. Simplificando, enquanto RAM ler ou escrever está em andamento (no final de
uma instrução), a próxima instrução do programa é lido através do barramento outros.
 Ao usar microcontroladores com a arquitetura von-Neumann, nunca se sabe quanta memória está a ser
ocupado pelo programa. Basicamente, as instruções mais 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 os dados que esta
deveria ser feito). No entanto, não é uma regra dura e rápida, mas o caso mais comum. Em microcontroladores
com arquitetura Harvard, o ônibus palavra programa é mais amplo do que um byte, que permite que cada
palavra programa consistem de instrução e de dados, ou seja, local de memória 1-1 instrução de programa.
SET DE INSTRUÇÕES

Todas as instruções compreensíveis para o microcontrolador são convocados do conjunto de instruções . Quando você

escreve um programa em linguagem assembly, na verdade você especificar instruções em tal ordem que deve ser

executado. A principal restrição aqui é uma série de instruções disponíveis. Os fabricantes geralmente adotam ambas as

abordagens descritas a seguir:

RISC (Reduced Instruction Set Computer)

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

as operações mais complicadas são realizadas combinando-as. Por exemplo, a multiplicação é feita através da realização

de sucessivas adições. É o mesmo que se você tentar explicar a alguém, usando apenas algumas palavras diferentes,

como 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 aritmética

'acrobacias' 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 esquerda, direita, km etc

CISC (Complex Instruction Set Computer)

CISC é o oposto ao RISC! Microcontroladores projetado para reconhecer mais de 200 instruções diferentes pode fazer

um monte de coisas em alta velocidade. No entanto, é preciso entender como tirar tudo o que oferece uma tal linguagem

rica, que não é nada fácil ...

COMO FAZER A ESCOLHA CERTA?

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

pela sua escolha! No entanto, ele não é tão fácil escolher o microcontrolador direita, como pode 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 o seguinte: quantos de entrada / saída

linhas vou precisar para a operação? Deveria realizar algumas operações para além de simplesmente ligar relés on / off?
Será que ela precisa de algum módulo especializado, tais como comunicação serial, A / D etc conversor? 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 ter vários dispositivos mesmo? Várias centenas de? 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. Antes de mais nada, selecione o fabricante, ou seja, a família de microcontroladores você pode

facilmente obter. Estudo de um modelo específico. Aprender tanto quanto você precisa, não entrar em detalhes. Resolver

um problema específico e algo incrível vai acontecer, você será capaz de lidar com qualquer modelo que pertencem 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 facilmente montar 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 projetado pela Microchip Technology provavelmente a melhor escolha para iniciantes. Aqui está

o porquê ...

O nome original deste microcontrolador é PICmicro ( Controller Interface Periférica ), 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 depois, este circuito foi transformado em um microcontrolador PIC real por adição de

memória EEPROM. Hoje em dia, Microchip Technology anuncia a fabricação da amostra 5000000000.

Se você estiver interessado em aprender mais sobre isso, basta manter a leitura.

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

microcontroladores em prática depois de lê-lo. A fim de evitar explicações tedioso e história sem fim sobre as

características úteis de microcontroladores diferentes, este livro descreve o funcionamento de um modelo específico

pertencente à "classe média alta". É o suficiente PIC16F887-poderoso para valer a pena a atenção e simples o suficiente

para ser facilmente apresentados a todos. Assim, os capítulos seguintes descrevem este microcontrolador em detalhes,

mas referem-se à família PIC todo também.


Fre Resol
16/
RA q ução Seri Saí
ROM Entr Com 08 -
M Pi relóg de al das Out
Família [Kbyt adas par- Time
[byte nos io. Conver Com PW ros
es] A/D Ators rs
s] [MHz sor A / m. M
bit
] D
Base Line-8 - bit, 12-bit Comprimento Palavra Instrução
PIC10FX 0,37 16- 6- 1 x
4-8 0-2 8 0-1 - - -
XX 5-,75 24 8 8
PIC12FX 0,75- 25- 1 x EEP
8 4-8 0-3 8 0-1 - -
XX 1,5 38 8 ROM
PIC16FX 0,75- 25- 14 1 x EEP
20 0-3 8 0-2 - -
XX 3 134 -44 8 ROM
PIC16HV 18 1 x Vdd
1,5 25 20 - - - - -
XXX -20 8 = 15V
Médio 8 - bit, 14-bit Comprimento Mundial Instrução
1-2
PIC12FX 1,75- 64- EEP
8 20 0-4 10 1 x 8 1 - 0-1
XX 3,5 128 ROM
x 16
1-2
PIC12HV
1,75 64 8 20 0-4 10 1 x 8 1 - 0-1 -
XXX
x 16
1-2 USA
PIC16FX 1,75- 64- 14 8 ou
20 0-13 0-2 x 8 1 RT SPI 0-3 -
XX 14 368 -64 10
x 16 I2C
2 x USA
PIC16HV 1,75- 64- 14
20 0-12 10 2 8 1 x RT SPI - -
XXX 3,5 128 -20
16 I2C
High-End 8 - bit, comprimento de palavra de 16 bits Instrução
USB
0-2
2.0
x 02-
256 CAN2.
PIC18FX 4- 18 32- 10 ou 03
- 4-16 0-3 0 0-5 -
XX 128 -80 48 12 agost
3936 USAR
o x
T SPI
16
I2C
USB
0-2 2.0
x 02- USAR
102
PIC18FX 8- 28 40- 10- 03 T
4 - 10 2 2-5 -
XJXX 128 -100 48 16 agost Ether
3936
o x net
16 SPI
I2C
768 1 x USA
PIC18FX 28 10-
8-64 - 64 10 2 8 3 x RT SPI 2 -
XKXX -44 13
3936 16 I2C

Todos os microcontroladores PIC use arquitetura Harvard, o que significa que sua memória de programa está ligado à

CPU durante mais de 8 linhas. Dependendo da largura de ônibus, há 12 -, 14 - e 16-bit microcontroladores. Tabela acima

mostra as principais características dessas três categorias.


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

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

tamanho da palavra programa existem categoria microcontrolador primeiro, segundo e terceiro, ou seja, 12 -, 14 - ou 16-

bit microcontroladores. Tendo núcleo de 8 bits semelhantes, todos eles utilizam o mesmo conjunto de instruções e

"esqueleto" do hardware básicos ligados a unidades mais ou menos periféricos.

SET DE INSTRUÇÕES

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

instruções encontra-se na arquitetura RISC. Isso significa que as instruções são bem otimizado dos aspectos da

velocidade de funcionamento, a simplicidade na arquitetura e compacidade código. A única coisa ruim sobre a arquitetura

RISC é que o programador é esperado para lidar com estas instruções. Claro, isso só é relevante se você usar linguagem

assembly para a programação. Este livro refere-se à programação na linguagem de programação C mais elevadas, o que

significa que mais trabalho tem sido feito por outra pessoa. Você apenas tem que usar instruções relativamente simples.

TEMPO DE EXECUÇÃO DE INSTRUÇÕES

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

condição é satisfeita) 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 ).

Único ciclo de instruções consistem em quatro ciclos de clock. Se oscilador de 4MHz é usado, o tempo nominal para a

execução de instruções é 1μS. Como para instruções de salto, o tempo de execução de instruções é 2μS.

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

INSTRUÇÃ DESCRIÇÃO OPERAÇÃO BANDEIR CL *


O A K

Transferência de dados Instruções


Movimento constante para
MOVLW k k -> w 1
W
MOVWF f Move W para f W -> f 1
1,
MOVF f, d Mova para f d f -> d Z 1
2
CLRW W clara 0 -> W Z 1
CLRF f F clara 0 -> f Z 1 2
f (7:4), (3:0) -> f 1,
Swapf f, d Trocando em nibbles f 1
(3:0), (07:04) 2
Aritmética lógica Instruções
ADDLW k Adicionar W e constante W + k -> W C, DC, Z 1
1,
ADDWF f, d Adicionar W e f W + f -> d C, DC, Z 1
2
SUBLW k Subtrair W de constante kW -> W C, DC, Z 1
1,
SUBWF f, d Subtrair W de f FW -> d C, DC, Z 1
2
E lógico com W com
ANDLW k E k W -> W Z 1
constante
1,
ANDWF f, d W E lógico com com f W E f -> d Z 1
2
1,
ANDWF f, d W E lógico com com f W E f -> d Z 1
2
OU lógico com W com
IORLW k W ou K -> W Z 1
constante
1,
IORWF f, d W OU lógico com com f W ou f -> d Z 1
2
Lógico W OU exclusivo com 1,
XORWF f, d W XOR k -> W Z 1
a constante 2
Lógico W OU exclusivo com
XORLW k W XOR f -> d Z 1
com f
1,
INCF f, d F incremento de 1 f +1 -> f Z 1
2
1,
DECF f, d F decremento de 1 f-1 -> f Z 1
2
Rodar f para a esquerda 1,
RLF f, d C 1
através bit CARRY 2
Rodar f para a direita 1,
RRF f, d C 1
através bit CARRY 2
1,
COMF f, d Complementar f f -> d Z 1
2
Bit-oriented Instruções
1,
BCF f, b B bit claro em f 0 -> f (b) 1
2
BSF f, b B bit claro em f 1 -> f (b) 1 1,
2
Instruções de Controle de programa
Teste bit b de f. Ir a
BTFSC f, b Ir se f (b) = 0 1 (2) 3
instrução seguinte se clara.
Teste bit b de f. Ir a
BTFSS f, b Ir se f (b) = 1 1 (2) 3
instrução seguinte se definir.
Decremento f. Ir a instrução f-1 -> d pular se Z = 1,
DECFSZ f, d 1 (2)
seguinte se clara. 1 2, 3
Incremento de f. Ir a f +1 -> d pular se Z 1,
INCFSZ f, d 1 (2)
instrução seguinte se definir. =0 2, 3
GOTO k Ir para endereço k -> PC 2
CHAMADA k Subrotina chamada PC -> TOS k, - PC> 2
RETURN Retorno da subrotina TOS - PC> 2
Retornar com constante em
RETLW k k -> W, TOS -> PC 2
W
RETFIE Retorno de interrupção TOS -> PC, 1 -> GIE 2
Outras instruções
NOP Nenhuma operação TOS -> PC, 1 -> GIE 1
0 -> WDT, 1 -> A, 1 -
CLRWDT Watchdog timer clara TO, PD 1
> PD
Entrar em modo de 0 -> WDT, 1 -> A, 0 -
SLEEP TO, PD 1
suspensão > PD

* 1 Quando um registo de I / O é modificado em função de si mesmo, o valor utilizado será o valor presentes nos pinos

de si mesmos.

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

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

Você também pode gostar