Top Banner
Produtos Soluções Entre em contato conosco Entrar | Compras (0) Microcontroladores PIC - Programação em BASIC TOC Capítulo 1 Capítulo 2 Capítulo 3 Capítulo 4 Um apêndice Capítulo 1: Mundial de microcontroladores A situação que nos encontramos hoje no campo dos microcontroladores têm os seus primórdios no desenvolvimento da tecnologia de circuitos integrados. Permitiu-nos para armazenar centenas de milhares de transistores em um único chip, o que era uma condição prévia para a fabricação de microprocessadores. Os primeiros computadores foram feitos pela adição de periféricos, tais como linhas de memória, entrada / saída, temporizadores e outros circuitos, a ele. Um aumento adicional na densidade pacote resultou na criação de um circuito integrado, que continha tanto do processador e periféricos. É assim que o primeiro chip com um microcomputador integrado, mais tarde conhecido como o microcontrolador, foi desenvolvido. search her
48

BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Feb 24, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Produtos

Soluções Entre em contato conosco

Entrar | Compras (0)

Microcontroladores PIC - Programação em BASIC

TOC Capítulo 1 Capítulo 2 Capítulo 3 Capítulo 4 Um apêndice

Capítulo 1: Mundial de microcontroladores A situação que nos encontramos hoje no campo dos microcontroladores têm osseus primórdios no desenvolvimento da tecnologia de circuitos integrados. Permitiu-nos para armazenar centenas de milhares de transistores em um único chip, o que era uma condição prévia para a fabricação de microprocessadores. Os primeiros computadores foram feitos pela adição de periféricos, tais como linhas de memória, entrada / saída, temporizadores e outros circuitos, a ele. Um aumento adicional na densidade pacote resultou nacriação de um circuito integrado, que continha tanto do processador e periféricos. É assim que o primeiro chip com um microcomputador integrado, mais tarde conhecido como o microcontrolador, foi desenvolvido.

search her

Page 2: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

1.1 Introdução 1.2 números, números, números ... 1.3 deve saber detalhes 1,4 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 entre si em muitas maneiras. O primeiro e mais importante diferença a favor do microcontrolador é a sua funcionalidade. Para que o microprocessador para ser utilizado, os outros componentes,antes de toda a memória, tem de ser adicionada a ele. Mesmoque ele é considerado uma máquina de computação poderosa, não é capaz de estabelecer uma comunicação direta com os periféricos. Em vez disso, os circuitos especializados deveser utilizado para este fim. Isto é como era no início e continua a ser o mesmo hoje.

Page 3: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Por outro lado, o microcontrolador é concebido para ser tudo isso em um. Não há outros componentes periféricos especializados são necessários para o seu funcionamento como todos os circuitos necessários, que de outro modo pertencem a periféricos, já foram incorporada. Ele economiza tempo e espaço necessário ao projetar um dispositivo.

ALL THE MICROCONTROLLER É CAPAZ DE

Microcontroladores são muito populares hoje em dia. Basta prestar atenção ao exemplo abaixo e você vai entender as razões do seu grande sucesso. Não vai ocupar muito do seu tempo, apenas um par de minutos.

Cerca de dez anos atrás, o processo de concepção de um dispositivo eletrônico que controla um elevador em um prédio de vários andares foi extremamente difícil, mesmo para uma equipe de especialistas. Você já pensou sobre quais os requisitos de um elevador comum tem de conhecer? Como lidar com a situação quando duas ou mais pessoas chamam o mesmo elevador ao mesmo tempo? Que chamam tem a prioridade? Como lidar com as questões de segurança? A perda de energia elétrica? Falha de operação? O uso indevido? Depois de resolver essas questões básicas, um processo difícil de projetar uma eletrônica apropriadas usando um grande número de fichas de propósito especial vema seguir. Dependendo da complexidade do dispositivo, este processo pode levar semanas e até meses. Então é hora de fazer uma placa de circuito impresso e dispositivo montar. Um enorme dispositivo! É mais um trabalho de longa duração e tentando. Por fim, quando o dispositivo está pronto e testado muitas vezes, o momento crucial vem. O momento em que você respire fundo e mudar a fonte de alimentação. A festa acabou neste momento como dispositivos eletrônicos quase nunca começar a operar imediatamente. Prepare-se paramuitas noites sem dormir, correções, melhorias ... e não seesqueça, ainda estamos falando sobre o funcionamento de um elevador comum.

Quando o dispositivo finalmente funciona perfeitamente e todo mundo está satisfeito e você é pago para o trabalho que tem feito, outras empresas que constroem vai tornar-se

Page 4: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

interessado em seu trabalho. Claro, se você tiver sorte, umdia vai lhe trazer uma oferta de bloqueio de um novo investidor. Um novo edifício tem quatro andares mais. Você sabe o que é tudo isso? Você acha que pode controlar o destino? Você vai fazer um dispositivo universal que pode ser usado em edifícios de 4-40 histórias, uma obra-prima daeletrônica? Mesmo se você conseguir fazer tal jóia electrónico, o seu investidor vai esperar na frente de sua porta pedindo uma câmera no elevador. Ou para música relaxante em caso de falha do elevador. Ou para um elevadorde duas portas. De qualquer forma, a lei de Murphy é inexorável e você certamente não vai ser capaz de fazer proveito de todo o esforço que você fez. Infelizmente, tudoo que disse até agora é verdade. Isto é o que 'eletrônica manipulação "realmente significa. Não, não, espera, vamos corrigir a nós mesmos, é assim que foi até os primeiros microcontroladores foram projetados - pequenos, potentes e baratos dispositivos. Desde o momento em sua programação deixou de ser uma ciência, tudo correu em outra direção ...

Eletrônica capazes de controlar um pequeno submarino, um guindaste ou um elevador são agora construídos em um único chip. Microcontroladores oferecer uma ampla gama de aplicações, mas apenas alguns deles são usados normalmente.Cabe a você decidir o que você quer do microcontrolador e despejar um programa de acordo com as instruções apropriadas para ele. Antes de ligar o aparelho, o seu funcionamento deve ser testado por simulação. 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. Isso é tudo.

Page 5: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC
Page 6: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Você sabia 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 ele. Você não entende? Então você ainda pertencem ao último grupo. Se você quiser mudar o seu estado de ler o texto a seguir, que descreve brevemente alguns dos conceitos básicos utilizadosainda neste livro (só para ter certeza de que estamos na mesma página).

1.2 números, números, números ... A matemática é uma boa ciência, tais! 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 exatamente dez dígitos? Claro que não, é só uma questão de hábito. Lembre-se das lições da escola. Por exemplo, o que acontece com o número 764 médios: quatro unidades, seis dezenas e sete centenas. É tão simples quanto isso! Poderiaser descrito de uma forma mais complicada? Claro: 4 + 60 + 700 Ainda mais complicado? Definitivamente: 4 * 1 + 6 + 7 *10 * 100. Poderia este número olhar mais científico? A resposta é sim mais uma vez: 4 * 10 0 + 6 * 10 * 1 + 7 10 2.

O que isso realmente significa? Por que usamos exatamente esses números: 10 0, 10 1 e 10 2? Por que é sempre sobre o número 10? A resposta é porque nós usamos dez dígitos diferentes (0, 1, 2, ... 8, 9). Em outras palavras, usamos o sistema de base 10 número, ou seja, sistema numérico decimal.

Page 7: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Sistema numérico de BINÁRIO

O que aconteceria se apenas dois dígitos foram usado- 0 e 1? Ou, se não não sabia como determinar se algo é de 3 ou 5vezes maior do que qualquer outra coisa? Ou, se eram restritas ao comparar dois tamanhos, ou seja, se pudéssemosafirmar 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? A fim de aprender isso, você só tem que seguir a mesma lógica que no exemplo anterior, mas em ordem inversa. Como você pode ver aqui, é tudo baseado em apenas dois digits- 0 e 1, ou seja, o sistema numérico de base 2 (sistema numérico binário).

É evidente que é o mesmo número representado em dois sistemas numéricos diferentes. A única diferença entre estes dois formatos é o número de dígitos que consistem. Umdígito (2) é usado para escrever o número 2 em sistema decimal, enquanto dois dígitos (1 e 0) são utilizados para a sua escrita no sistema binário. Já está de acordo 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 em condições estritamente controladas de laboratório, mesmo os circuitos eletrônicos mais complexos não pode determinar com precisão a diferença entre dois

Page 8: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

tamanhos (dois valores de tensão, por exemplo) se eles são muito pequenos (menores do que alguns volts). A razão para isso reside no ruído e algo conhecido como um "ambiente de trabalho real '(mudanças imprevisíveis de tensão de alimentação, mudança de temperatura, a tolerância para os valores de componentes embutidos etc). Imagine um computador que opera sobre números decimais, interpretando-os da seguinte forma: 0 = 0V, 1 = 5V, 2 = 10V, 3 = 15V, 4 =20V ... 9 = 45V.

Alguém disse baterias?

Uma solução muito mais simples é a 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 "há uma tensão", respectivamente. Trata-se de uma lógica zero (0) e uma lógica um (1) que os aparelhos eletrônicos perfeitamente lida com, e facilmente executa todas as operações matemáticas infinitamente complexas. Obviamente, o sistema eletrônico que estamos falando matemática aplicada, 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 que estamos falando de eletrônica digital.

Sistema numérico de HEXADECIMAL

No início do desenvolvimento do computador havia muitos problemas quando se trabalha com números binários. Por estarazão, um novo sistema numérico, utilizando 16 símbolos diferentes foi criado e chamado de um sistema numérico hexadecimal. Ele é composto de dez dígitos que são utilizados para (0, 1, 2, 3, ... 9) e seis letras do alfabeto A, B, C, D, E e F. Você provavelmente quer saber qual é o propósito deste aparentemente combinação bizarra? Basta olhar como ele se encaixa perfeitamente a história sobre números binários e você vai entender.

Page 9: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

O maior número que pode ser representado por quatro dígitosbinários é o número 1111 e corresponde ao número 15 em um sistema decimal, ao passo que é representado pela letra F no sistema hexadecimal. É o maior número de 1 dígito no sistema hexadecimal. Você vê como habilmente ele é usado? Omaior número escrito com oito dígitos binários é, ao mesmo tempo que o maior número de dígitos hexadecimais 2. Lembre-se que os computadores usam números binários de 8 dígitos. Coincidência?

BCD CODE

Um código BCD é um código binário para números decimais apenas (B inary- C Oded D ecimal). É composto 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 bits podem dar 16 combinações possíveis, no total, o código BCD torna vantagem de apenas dos primeiros dez.

SISTEMA DE NÚMERO DE CONVERSÃO

O sistema numérico binário é o mais comumente utilizado, o sistema decimal é o mais compreensível, enquanto o sistema hexadecimal é em algum lugar no meio. Portanto, é muito importante aprender como converter números de um sistema numérico para outro, ou seja, como transformar uma seqüência de zeros e uns em valores compreensíveis.

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

Mesmos dígitos de um número binário têm valores diferentes dependendo de sua posição nesse número. Cada posição pode conter 1 ou 0 e o seu valor pode ser facilmente determinadapor contagem da sua posição a partir da direita. Para executar um binário para decimal conversão de número é necessário multiplicar dígitos (0 ou 1) com o seu valor de posição (2, 0, 2 1, 2 2, 2 3, etc) e adicione todos os resultados. A magia do binário para decimal conversão de número funciona ... Veja o exemplo abaixo:

Page 10: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Para números decimais de 0 a 3 para ser representado, você só precisa de dois dígitos binários. Para números maiores, dígitos binários extras deve ser utilizado. Assim, para queos números decimais 0-7 para ser representado, são necessários três dígitos binários, para números de 0 a 15, quatro dígitos, etc Simplificando, o maior número binário que consiste de n dígitos é obtido quando a base 2 é geradopor n e o respectivo resultado é subtraído por 1 Por exemplo, se n = 4:

04-01 fevereiro = 16-1 = 15

Assim, quatro dígitos binários que você possa representar números decimais de 0 a 15, o que equivale a 16 valores diferentes no total.

Hexadecimais em decimais NÚMERO DE CONVERSÃO

Para realizar uma conversão hexadecimal para decimal número, cada dígito hexadecimal deve ser multiplicado com 16 apresentada pelo seu valor de posição e, depois disso, deve ser adicionada aos resultados obtidos. Por exemplo:

Hexadecimal para BINÁRIO conversão de número

Não é necessário realizar todos os cálculos para converter números hexadecimais para binário. Os dígitos hexadecimais são simplesmente substituídas por dígitos binários

Page 11: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

apropriados. Uma vez que o valor máximo de dígitos hexadecimal é equivalente ao número decimal 15, é necessária a utilização de quatro dígitos binários para representar um dígito hexadecimal. Por exemplo:

Uma tabela comparativa à esquerda mostra os valores dos números de 0-255 representados 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 numéricos.

Page 12: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Marcação de números

O sistema numérico hexadecimal é, juntamente com os sistemas numéricos binários e decimais, considerado o mais importante para nós. É fácil converter qualquer número hexadecimal em binário. Também é fácil de lembrar. No entanto, essas conversões podem confundir-nos. Por exemplo,o que significa a frase "É preciso contar até 110 produtos na linha de montagem 'realmente significa? Dependendo se é sobre binário, decimal ou sistema hexadecimal, o resultado poderia ser 6, 110 ou 272 produtos, respectivamente. Para evitar situações tais e semelhantes, diferentes prefixos e sufixos são diretamente adicionados aos números. Prefixos $0x e marcar números hexadecimais. Por exemplo, o número

Page 13: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

hexadecimal 10AF olha tanto quanto $ 10AF ou 0x10AF. Da mesma forma, os números binários geralmente se o prefixo%. Se um número não tem nem sufixo ou prefixo, considera-se decimal. Infelizmente, esta maneira de marcar os números não é padronizado, ainda depende da aplicação específica.

BIT

Em teoria, um bit é a unidade básica de informação ... Vamos esquecer isso por um momento e dar uma olhada no que é na prática. A resposta é-nada especial de um bit é apenasum dígito binário. Semelhante ao sistema numérico decimal, onde os mesmos dígitos de um número não tem o mesmo valor (por exemplo, dígitos em número decimal 444), o "significado" de bits depende de suas posições no número binário. Ao contrário do sistema numérico decimal, os dígitos binários não são referidos como unidades, dezenas, etc, além de zero bit (mais à direita bit), o primeiro bit (segundo a partir da direita), etc Uma vez que o sistema binário usa apenas dois dígitos diferentes (0 e 1) , o valor de um bit pode ser 0 ou 1.

Não fique confuso se você se deparar com um pouco de ter valor 4, 16 ou 64 Isso significa que seu valor é representado no sistema decimal. Estamos simplesmente muitoacostumados com o uso de números decimais que tais expressões são muito comuns. Seria correto dizer, por exemplo, "o valor do sexto bit de um número binário é equivalente ao número decimal 64 '. Mas somos humanos e hábitos velhos morrem duramente ... Além disso, como soaria"número um-um-zero-um-zero, ... '?

BYTE

Um byte é composto por oito bits agrupados. Se um bit é um dígito, então bytes representar números. Todas as operaçõesmatemáticas podem ser realizadas sobre eles, como em cima de números decimais comuns. Semelhante a qualquer número dedígitos, os dígitos byte 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, portanto, é chamado o bit menos significativo (LSB). Desde oito zeros e uns de um byte

Page 14: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

podem ser combinados em maneiras diferentes de 256, o maiornú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 doque a metade do registo que estamos falando (esquerda ou direita), há 'alta' e petiscos "baixo", respectivamente.

Alguma vez você já se perguntou o que eletrônicos dentro de Circuitos integrados digitais, microcontroladores ou processadores parece? O que circuitos realizar operações matemáticas complexas e tomar decisões parece? Você sabe que seus esquemas aparentemente complicadas compreendem apenas alguns componentes diferentes chamados circuitos lógicos ou portas lógicas?

1.3 deve saber detalhes O funcionamento de circuitos lógicos é baseado 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 eraexpressar formas lógicas através de funções algébricas. Elelogo teve levam a um produto real que, muito mais tarde, avaliada 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 resultadosque as portas lógicas. O princípio da sua operação será discutido abaixo.

E Porta

Page 15: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

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ão em sua saída apenas se ambas as entradas (A e B) são movidos alta (1). Tabela à direita mostra a dependência mútua entre os porta AND das entradas e saída.

O princípio de funcionamento é o mesmo, mesmo quando o portão tem mais de duas entradas: uma lógica 1 (um) aparecerá em sua saída apenas quando todas as entradas são movidos alta (1). Qualquer outra combinação de tensões de entrada vai resultar em uma lógica zero (0) na sua saída. Quando utilizado no programa, a lógica E é realizado por umprograma de instruções a ser discutido mais tarde. Basta lembrar que a lógica AND no programa refere-se aos bits correspondentes de dois registradores.

OR GATE

Page 16: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Da mesma forma, portas OR também têm duas ou mais entradas e uma saída. Se o portão tem apenas duas entradas é aplicável o seguinte. Uma lógica de um (1) aparece na sua saída, se uma ou outra entrada (A ou B) é colocada em alta (1). Se a porta OR tem mais de duas entradas, em seguida, oseguinte se aplica. Uma lógica de 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, o peração é realizada da mesma maneira que a lógica AND.

NÃO PORTA

A porta lógica NÃO tem apenas uma entrada e uma única saída. Ele opera de uma forma extremamente simples. Quando uma 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, portanto, é frequentemente chamado de inversor.

A lógica de operação NOT no programa é realizado em cima deum 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 mesma. O complemento de um número é um valor que somado a esse

Page 17: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

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) gate é um pouco complicado em relação a outras portas. É uma espécie de combinação de todos eles.A uma lógica (1) aparece em sua saída somente quando suas entradas têm diferentes estados lógicos.

No programa, a instrução apropriada é utilizada para comparar os dois bytes. Subtracção tem o mesmo efeito (se oresultado for 0, os bytes são iguais), mas a vantagem de a operação lógica OU EXCLUSIVO é que nunca dá resultados negativos.

REGISTRO

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

Page 18: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

SFR REGISTROS

Além de registros que não têm qualquer função especial e pré-definida, cada microcontrolador também tem um número deregistradores de funções especiais (SFR de) cuja função é predefinido pelo fabricante. Seus bits são ligados (literalmente) para os circuitos integrados dentro do microcontrolador como temporizadores, o conversor A / D, etc osciladores Isso significa que eles são directamente nocomando da operação destes circuitos, isto é, o microcontrolador. Imaginem oito chaves que controlam o funcionamento de um pequeno circuito dentro do microcontrolador - Registros de Funções Especiais fazer exatamente isso.

Page 19: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Em outras palavras, o estado de bits do registro é alteradoa partir do programa, registros executar pequenos circuitosintegrados dentro do microcontrolador, esses circuitos são via pinos do microcontrolador conectado a periféricos que são utilizados para ... Bem, cabe a você decidir por o quê.

Input / Output Ports

Para que o microcontrolador para ser útil, tem que ser ligada à electrónica adicionais, ou seja, os periféricos. Cada microcontrolador tem um ou mais registos ligados ao microcontrolador pinos I / O. Tais conexões fazer portas I / O. Por entrada / saída? Porque você pode mudar a funçãodo pino da forma que quiser. Por exemplo, suponha que você deseja que 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 ter três saídas (ligadas aos LEDs) e cinco entradas (ligados a sensores). Isso pode ser feito facilmente a partir do software, o que significa que uma função do pino pode ser alterada durante a operação.

Uma das características importantes de entrada / saída (I /O) pins é uma corrente máxima que pode suportar. Para a

Page 20: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

maioria dos microcontroladores, correntes fornecidas a partir de um pino é suficiente para activar o diodo emissorde luz ou qualquer outro dispositivo de baixo consumo (10-20 mA).

Outra característica importante é o pino de uma resistênciapull-up, pode ser fornecida com. A resistência de pull-up liga o pino apropriado para a tensão de alimentação positiva. Ele também pode ser usado quando o pino é configurado como uma entrada ligada a um comutador ou um botão de pressão. Versões posteriores do microcontroladorestêm resistores pull-up configuráveis por software.

Cada porta I / O é geralmente sob o controle de um SFR, o que significa que cada bit deste registo determina o estadodo pino microcontrolador correspondente. Por exemplo, ao escrever uma lógica um (1) para alguns dos bits do registador, o pino microcontrolador apropriado é automaticamente configurado como uma entrada. A tensão fornecida ao pino que é visível na sua porta de 0 ou 1 Casocontrário, escrevendo um zero lógico ao SFR, o pino de porta adequado é configurado como uma saída. Tensão fornecida na saída como um pino (0V ou 5V) reflecte o estado do bit de registo adequado (lógico 0 ou 1, respectivamente).

MEMORY UNIT

Módulo de memória é uma parte do microcontrolador usada para armazenamento de dados. A maneira mais fácil de explicar é comparando-a com um armário com muitas gavetas. Suponha-se, as gavetas são claramente identificados para que seu conteúdo possa ser facilmente disponível, lendo rótulos na frente das gavetas. Da mesma forma, cada endereço de memória corresponde a uma localização da memória. O conteúdo de qualquer local pode ser acessado e lido pelo seu endereço. Memória pode ser escrita ou lida.

Page 21: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Existem vários tipos de memória dentro do microcontrolador:

Memória só de leitura (ROM)

Read Only Memory (ROM) é usada para guardar permanentementeo programa a ser executado pelo microcontrolador. O tamanhode um programa a ser gravado depende do tamanho da 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 locais. Se você é um novato, o programa irá dificilmente excedem várias centenasde instruções. Existem vários tipos de ROM.

ROM mascarado (MROM)

ROM mascarada é um tipo especial de ROM o conteúdo das quais é determinado pelo fabricante. O termo "mascarado" vem do processo de fabrico, em que partes do chip estão mascaradas antes do 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 programapara ele, mas, como o seu nome indica, apenas uma vez. Se

Page 22: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

for detectado um erro após o processo de carregamento de umprograma, a única coisa que você pode fazer é carregar o programa para outro chip.

UV PROGRAMÁVEL ROM ERASABLE (UV EPROM)

Tanto o processo de fabrico e as características de memóriaEPROM UV são totalmente 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 de tais 'banhos de sol' é possível carregar um novo programa para ele. A instalação da janela é complicada, o que normalmente afecta o preço. Em nossa opinião, infelizmente negativo ...

Memória Flash

Memória Flash, conhecido como o sucessor do EPROM UV, foi feito na década de 80 nos laboratórios da Intel. Uma vez que essa memória pode ser reescrita 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 maioriados microcontroladores são hoje fabricados na tecnologia flash. Então, se você estiver indo para comprar um microcontrolador, o tipo que procurar é definitivamente 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. É, por conseguinte, utilizados para os dados de armazenagem temporária e resultados

Page 23: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

intermédios criados e utilizados durante o funcionamento domicrocontrolador. Por exemplo, se o programa executa um lado, é necessário dispor de um registo, que representa o que na vida diária é chamado a "soma". Por esta razão, 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 a 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, criadosdurante a operação, que devem ser guardados permanentemente. Por exemplo, se você projetar uma fechadura eletrô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.

INTERRUPÇÃO

A maioria dos programas usam interrupções na sua execução regular. A finalidade do microcontrolador é principalmente para responder a alterações na sua envolvente. Em outras palavras, quando uma ação acontece, o microcontrolador faz alguma coisa ... Por exemplo, quando você aperta um botão em um controle remoto de televisão, o microcontrolador irá registrá-lo e responder alterando um canal, aumentar o volume ou para baixo etc . Assim, o microcontrolador passaria a maior parte de seu tempo infinitamente verificando alguns botões durante horas ou dias, o que não é prático em tudo.

É por isso que o microcontrolador aprendeu um truque durante a sua evolução. Em vez de constante verificação de cada pino ou bit, os delegados de microcontroladores a 'esperar questão' para um 'especialista' que irá responder somente quando algo digno de atenção acontece.

Um sinal que informa a unidade central de processamento comessa ação é chamada de interrupção.

Page 24: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

BUS

Um ônibus é composta 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 é composta por quantas linhas necessárias para endereçamento de memória. Ele é usado para tranfer um endereço da CPU para a memória. O barramento de dados é tão grande como de dados, neste caso,é de 8 bits ou fios de largura. Ele é utilizado para ligar todos os circuitos dentro do microcontrolador.

Unidade central de processamento (CPU)

Como o próprio nome sugere, a CPU é uma unidade que monitora e controla todos os processos dentro do microcontrolador. É constituída por várias subunidades, dasquais as mais importantes são:

Decoder Instrução decodifica as instruções do programae executa outros circuitos, com base em que;

Unidade lógica aritmética (ALU) realiza todas as operações matemáticas e lógicas sobre os dados. O "conjunto de instruções", que é diferente para cada família de microcontroladores mostra as capacidades deste circuito; e

O acumulador é um SFR intimamente relacionado 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 executada (adição, mudança / movimento, etc). Ele também armazena resultados para ser usado em ulterior processamento. Um dos SFR, chamada de Registro de Status (PSW), está intimamente relacionado com o acumulador. Ele mostra, em um dado momento, o 'status' de um número armazenado no acumulador (número é maior ou menor que zero, etc). O acumulador é também chamado de registro de funcionamento e é referido como registo W ou apenas W,portanto.

Page 25: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

COMUNICAÇÃO SERIAL

A conexão paralela entre o microcontrolador e periféricos estabelecida através de portas de entrada / saída é uma solução ideal quando a distância entre eles é de até váriosmetros. Caso contrário, quando é necessário para estabelecer a comunicação em distâncias mais longas a conexão paralela é fora de questão. A comunicação serial é utilizada.

Hoje, a maioria dos microcontroladores têm vários módulos diferentes para comunicação serial construído para eles como um equipamento de série. Qual destes módulos serão usados depende de muitos fatores, dos quais os mais importantes são:

Quantos dispositivos microcontrolador tem para trocar dados com?

Qual a velocidade que a troca de dados tem que ser? O que é a distância entre dispositivos? É necessário enviar e receber dados ao mesmo tempo?

Page 26: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Uma das coisas mais importantes sobre a comunicação serial é o protocolo que deve ser estritamente observados. É um conjunto de regras que permite que os dispositivos de interpretar corretamente os dados que eles trocam. Felizmente, o próprio microcontrolador cuida disso, para que o trabalho do programador / usuário se resume a escritasimples (dados a serem enviados) e leitura (dados recebidos).

TAXA DE DADOS

A taxa de dados termo é usado para indicar o número de bits transmitidos por segundo [bps]. Note-se que ele se refere abits, não bytes. De acordo com o protocolo, cada byte é transferido juntamente com vários bits de controle. Isso significa que um byte no fluxo de dados em série pode consistir em 11 bits. Por exemplo, se o débito de dados é de 300 bps depois máximos e mínimos 37 27 bytes pode ser transferido por segundo.

Os módulos de comunicação serial mais comumente utilizados são:

I 2 C (INTER CIRCUITO INTEGRADO)

Page 27: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Um circuito inter-integrado é um módulo para troca de dadosserial entre microcontroladores e circuitos integrados especializados de uma nova geração. É usado quando a distância entre esses dispositivos é curto (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, enquanto o outro é usado para sincronização (sinal de relógio). Como pode ser visto na figura a seguir, um dispositivo é sempre um dispositivo mestre. Ele executa endereçamento de um dispositivo escravo antes do início da comunicação e controla o processo de transferência de dados. Desta forma, um microcontrolador pode se comunicar com 112 dispositivos diferentes usando I2C. A taxa de dadosé geralmente 100 Kb / s (modo padrão) ou 10 Kb / s (modo detaxa de dados é lenta). Dispositivos com uma taxa de 3,4 Mb/ s de dados ter aparecido recentemente. A distância entre os dispositivos que se comunicam através de um barramento I2C é limitado a vários metros.

SPI (Serial Bus Interface Periférica)

Um ônibus de interface periférica de série (SPI) é um módulo de comunicação serial que usa três ou quatro condutores. Um condutor é utilizado para receber dados, um para enviar dados, um para a sincronização e uma alternativa para a selecção de um dispositivo para comunicar com. É uma conexão full-duplex, o que significa que os dados podem ser enviados e recebidos simultaneamente.

A taxa de dados máxima é maior do que no módulo de comunicação I2C.

Page 28: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

UART (Universal Asynchronous Receiver / Transmitter)

Como o seu nome sugere, a comunicação é assíncrono USART, oque significa que nenhuma linha especial para a transferência de sinal de relógio é usada. Em algumas aplicações, tais como a conexão de rádio ou ondas infravermelhas controle remoto, este recurso é crucial. Umavez que apenas uma linha de comunicação é utilizado, tanto do receptor e transmissor operam com a mesma velocidade pré-definida, a fim de manter a sincronização necessária. Esta é uma maneira muito simples de transferência de dados,uma vez que basicamente se resume a conversão de dados de 8bits de paralelo para o formato de série. Taxa de dados nãoé alta, até 1 Mbit / s.

OSC

Mesmo os impulsos gerados pelo oscilador de permitir um funcionamento harmonioso e sincronizada de todos os

Page 29: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

circuitos dentro do microcontrolador. O oscilador é geralmente configurados de modo a utilizar um cristal de quartzo ou ressoador cerâmico para a estabilização de frequência, mas também podem funcionar como um circuito independente (como RC do oscilador). É importante dizer queas instruções não são executadas à taxa imposta pelo próprio oscilador, 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 que em outros, o número de ciclos é diferente paradiferentes instruções. Por conseguinte, se o microcontrolador 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 microcontrolador.

REDE ELÉTRICA

Há duas coisas que merece atenção quando se fala de circuito de alimentação do microcontrolador:

Brown para fora é uma condição potencialmente perigosaque ocorre no momento em que o microcontrolador é desligada ou quando a tensão de alimentação cair para o seu valor mínimo devido ao ruído. Como o microcontrolador é composto por vários circuitos com diferentes níveis de tensão de funcionamento, tal condição pode causar o seu desempenho fora de controle. A fim de impedir que, o microcontrolador temgeralmente um circuito de restabelecimento embutida que faz com que a condição de reposição para ocorrer assim que o microcontrolador entra no estado de castanha de emergência.

Redefina o PIN é normalmente referido como MCLR (Master Clear Reset). Ele é utilizado para causar uma reposição externa do microcontrolador através da aplicação de uma lógica zero (0) ou um lógico um (1) a ele, o qual depende do tipo de microcontrolador. No caso de o circuito de castanho para fora não é construído para omicrocontrolador, um circuito externo para a reinicialização simples castanho para fora pode ser ligado ao pino MCLR.

Page 30: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Temporizadores / Contadores

O oscilador do microcontrolador utiliza cristal de quartzo para o seu funcionamento. Mesmo que ele não é a melhor solução, ainda existem 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. Esses osciladores também são usados em relógios de quartzo. Se é necessário medir o tempo entre os dois eventos, que é suficiente para contar impulsos gerados por este oscilador. Este é exatamente o que o temporizador faz.

A maioria dos programas usam estes "cronômetros" eletrônicos em miniatura. O seu coração fazer 8 ou 16- SFRsbits, cujo conteúdo é automaticamente incrementado em cada

Page 31: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

pulso que vem. Uma vez que um registo é totalmente carregada, uma interrupção pode ser gerado.

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 armazenado no registador de cronometro é T1, no momento em que a medição é iniciada, e T2, no momento em que termina, depoiso tempo decorrido for igual ao resultado da subtracção T2-T1). Se registros usar pulsos fornecidos a partir de uma fonte externa, em seguida, como timer é transformado em um balcão.

Esta é apenas uma simples explicação do funcionamento do timer / contador. Como você já sabe, é mais complicado na prática.

COMO O TIMER funciona?

É assim que o temporizador funciona na prática: pulsos gerados pelo oscilador de quartzo são diretamente, ou através de um divisor, trouxe para o circuito que incrementa o número armazenado no registro timer. Ao incorporar um cristal de quartzo com uma frequência de 4 MHz é aplicável o seguinte: se uma instrução (um ciclo de máquina) tem a duração de quatro períodos do oscilador de quartzo, em seguida, pela incorporação de um cristal de quartzo com uma frequência de 4 MHz este número será incrementado um milhão de vezes por segundo ( cada microsegundo).

Page 32: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

É fácil para medir intervalos de tempo curtos, de até 256 microssegundos, na maneira descrita acima, porque ele é o número maior que um registo pode armazenar. Esta restrição pode ser feita facilmente por usar um oscilador mais lento,registra com mais bits, divisor ou interrupções. As duas primeiras soluções têm algumas desvantagens de modo que é mais aconselhável utilizar prescalers ou interrupções.

USANDO UM PRESCALER NO TIMER OPERAÇÃO

Um divisor é um dispositivo eletrônico usado para reduzir afrequência de uma taxa de divisão predefinido. A fim de gerar um pulso na sua saída, que é necessário para levar um, dois, quatro ou mais impulsos na sua entrada. A maioriados microcontroladores têm um ou mais prescalers bulit 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.

Usando interrupção NO TIMER OPERAÇÃO

Se o registro do temporizador consiste de 8 bits, o maior número que pode armazenar 255 é para 16 bits registra é 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 ativado a partir do programa, o excesso pode causar uma interrupção, o que dá possibilidades totalmente novas. Por exemplo, o estado de registradores usados para contar os segundos, minutos ou dias pode ser alterada em uma rotina de interrupção. O processo todo (exceto para a rotina de interrupção) é realizada automaticamente por trás das

Page 33: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

cenas, o que permite os principais circuitos do microcontrolador a funcionar normalmente.

Figura acima ilustra o uso de uma interrupção na operação do temporizador. Atrasos de duração arbitrária, tendo quasenenhuma influência sobre a execução do programa principal, pode ser facilmente obtida através da atribuição de um divisor para o temporizador.

CONTADORES

Se o timer é fornecido com pulsos do pino de entrada do microcontrolador, então ele se transforma em um contador. Éevidente que o mesmo circuito electrónico é capaz de funcionar em dois modos diferentes. A única diferença é que, neste caso, impulsos a serem contados vêm através do pino de entrada do microcontrolador e a sua duração (largura) é geralmente indefinido. É por isso que elas não podem ser utilizados para a medição de tempo, mas pode ser utilizado para outros fins, tais como a contagem de produtos numa linha de montagem, o número de rotação do eixo, etc passageiros (dependendo do sensor em uso).

Watchdog timer

A watchdog timer é um temporizador ligado a um oscilador RCautônomo dentro do microcontrolador.

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

Page 34: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

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ários ciclos mais longos ou mais curtos. Se as instruções para a reposição watchdog timer são definidos nos locais apropriados do programa, além de comandos a ser executado regularmente, então a operação do watchdog timer não afetará a execução do programa. Se por qualquer motivo, geralmente devido à fabricação de ruído, ocontador de programa 'fica preso' em algum local de memóriaa partir do qual não há retorno, o watchdog timer não será apagado, por isso o valor do registro que está sendo constantemente incrementado chegará ao máximo et voila ! resetocorre eo programa será executado desde o início.

Um conversor A / D

Page 35: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Sinais externos geralmente são fundamentalmente diferentes daquelas que o microcontrolador reconhece (0V e 5V apenas) e, portanto, têm de ser convertidos em valores reconhecíveis. Um conversor analógico-digital é um circuitoeletrônico que converte sinais contínuos para números digitais discretos. Por outras palavras, este circuito converte um valor analógico num número binário e encaminha-a para o CPU para processamento adicional. Este módulo é, portanto, utilizada para (valor analógico) de medição de tensão pino de entrada.

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

Page 36: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Arquitetura interna

Todos os microcontroladores atualizado implementar um dos dois modelos básicos de design chamada arquitetura Harvard e von-Neumann.

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

VON-NEUMANN ARQUITETURA

Microcontroladores usando 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

Page 37: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

linhas, o ônibus está sobrecarregado e comunicação é lento e ineficiente. A CPU pode ler uma instrução ou ler / escrever dados de / para a memória. Ambos os processos não podem ser executadas ao mesmo tempo uma vez que as instruções e dados utilizam a mesma barra. Por exemplo, se uma linha de programa que lê um registro de memória RAM chamada "soma" deve ser incrementado por um (instrução: incf SUM ), 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 deve ser executada).

2. Leia a outra parte da mesma instrução que especifica sobre quais os dados que devem ser realizados (neste caso, é a "soma" register).

3. Depois de ser incrementado, o conteúdo do registo deveser escrito para o registo a partir do qual ele foi lido (o endereço de registro do "soma").

O mesmo barramento de dados é usado para todas estas operações intermediárias, quando os dados são trocados entre a CPU ea memória.

HARVARD ARQUITETURA

Microcontroladores que implementam a arquitetura Harvard têm dois barramentos de dados diferentes. Uma é de 8 bits de largura e liga a CPU para a memória RAM. A outra consiste em 12, 14 ou 16 linhas e conecta a CPU para ROM. Deste modo, o processador pode ler a memória de dados de

Page 38: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

instrução e de acesso ao mesmo tempo. Uma vez que todos registros de memória RAM são de 8 bits, todos os dados que estão sendo trocados é da mesma largura. Durante o processode escrita, apenas os dados de 8 bits está incluído. Em outras palavras, tudo o que você pode mudar a partir do programa e tudo que você pode enfrentar é de 8 bits. Todos os programas escritos para estes microcontroladores serão armazenados na ROM interna microcontrolador depois de ser compilado para código de máquina. No entanto, locais de memória ROM não 8, mas 12, 14 ou 16 bits de largura são. O resto dos bits 4, 6 ou 8, respectivamente, representa a instrução sozinho especificando, para a CPU para fazer com que os dados de 8 bits.

As vantagens desta arquitectura são como se segue:

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 instruções e dados podem ser lidos simultaneamente usando estas 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 é de dois ciclos.

Devido ao facto de o programa (ROM) e dados temporária(RAM) utilizar autocarros separadas, o processador pode executar instruções dois ao mesmo tempo. Em outras palavras, enquanto a RAM leitura ou gravação está em andamento (o fim de uma instrução), a próxima instrução do programa é lido através de outro ônibus.

Com microcontroladores com a 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 regradura e rápida, mas o caso mais comum. Na arquitetura de Harvard o ônibus programa é mais amplo do que um byte, o que permite que cada palavra programa para consistir de instrução e de dados, ou seja, um local de memória - uma instrução de programa.

Conjunto de instruções

Page 39: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

Todas as instruções reconhecíveis pelo microcontrolador sãocolectivelly chamado o conjunto de instruções. Quando você escreve um programa em linguagem de montagem, você realmente especificar instruções de tal ordem que deve ser executado. A principal restrição é aqui o número de instruções disponíveis. Os fabricantes geralmente utilizam uma das duas soluções opostas e microcontroladores de design que implementam o menor ou o maior número possível de instruções. Em outras palavras - que escolher entre RISCe CISC conjuntos de instruções, respectivamente.

RISC (reduzido conjunto de instruções do computador)

Neste caso, o microcontrolador reconhece e executa operações básicas só (adição, subtração, copiar etc). Outras operações mais complicadas, são realizadas através da sua combinação. Por exemplo, a multiplicação no programadeve ser executado como uma adição sucessiva. É o mesmo quese você tentar explicar a alguém, usando apenas algumas palavras diferentes, como chegar ao aeroporto em uma cidadegrande. No entanto, não é tão negro como ele é pintado. Poruma questão de fato, não é tão difícil de explicar onde o aeroporto é se você usar as palavras certas, como esquerda,direita, etc quilômetros

CISC (Complex Instruction Set Computer)

CISC é o oposto de RISC. Microcontroladores destinados a reconhecer mais de 200 diferentes instruções pode fazer um

Page 40: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

monte de coisas em alta velocidade. No entanto, é preciso entender como tirar tudo o que tais ofertas um conjunto de instruções rico, que não é nada fácil ...

Como fazer a escolha certa?

OK, você é um novato e você tomou a decisão de ir em uma aventura de trabalhar com microcontroladores. Parabéns pelasua escolha. Mas, não é tão fácil de escolher o microcontrolador certo como pode parecer. O problema não é uma gama limitada de dispositivos, mas o oposto.

Antes de começar a projetar um dispositivo baseado em microcontrolador, pense no seguinte: quantas entradas / saídas é que o seu projeto exige? Deve realizar algumas outras operações do que simplesmente virar relés on / off? Será que ela precisa de alguns módulos especializados, taiscomo a comunicação serial, conversor A / D, etc? Quando você cria uma imagem clara do que você precisa, o intervalode selecção é consideravelmente reduzido e é hora de pensarno preço. Você vai fazer vários desses dispositivos? Váriascentenas de pessoas? Um milhão? De qualquer maneira, você começa o ponto.

Se você acha de todas essas coisas pela primeira vez, entãotudo parece um pouco complicado. Faça-o simples e 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. Aprenda tanto quanto você precisa, não entrar em detalhes. Solucionar um problema específico e algo incrível irá acontecer- você será capaz de lidar com qualquer modelo de pertencer a essafamília de microcontroladores.

Lembre-se de aprender a andar de bicicleta. Depois de várias contusões que você tem quando você começou, você foicapaz de manter o equilíbrio e, em seguida, facilmente montar qualquer outra bicicleta. E, claro, você nunca vai esquecer a programação, assim como você nunca vai esquecer andar de bicicleta!

1,4 microcontroladores PIC

Page 41: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

O nome original do microcontrolador PIC é PIC (Peripheral Controller Interface), mas é mais conhecido como um PIC. Seu ancestral, o chamado PIC1650, foi projetado em 1975 pelo General Instruments. Foi destinado para fins totalmente diferentes. Cerca de dez anos mais tarde, este circuito evoluiu para um microcontrolador PIC real, adicionando memória EEPROM.

Se você quiser saber mais sobre ele, apenas manter a leitura.

O objetivo principal deste livro é fornecer ao usuário informações necessárias, ele / ela precisa saber a fim de ser capaz de usar microcontroladores na prática. A fim de evitar explicações tediosas e histórias intermináveis sobre as características úteis de diferentes microcontroladores, este livro lida com a operação de um determinado modelo pertencente à "alta classe média". É o microcontrolador PIC16F887 - poderoso o suficiente para valer a pena a atenção e simples o suficiente para ser facilmente aprendido por todos. Assim, mesmo que os capítulos seguintes descrevem este microcontrolador em detalhes, eles realmente se referem a toda a família PIC.

Todos os microcontroladores PIC implementar a arquitectura de Harvard, o que significa que a sua memória de programa éligado ao processador por meio de mais do que oito linhas. Dependendo da largura do canal, há microcontroladores de 12, 14 e 16 bits. A tabela abaixo apresenta as principais características destas três categorias de microcontroladores PIC.

FamíliaROM [Kbytes]

RAM[bytes]

Pinos

Relógio Freq. [MHz]

A / D Entradas

Resolução do conversor A / D

Ators comparações

8/16 -Timersbit

Comunicação Serial.

SaídasPWM

Outros

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

PIC10FXXX

0,375-,75

16 - 24

6-8 4-8 0 -

2 8 0-1 1 x8 - - -

PIC12FXXX

0,75-1,5

25 -

8 4-8 0 - 3

8 0-1 1 x8

- - EEPROM

Page 42: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

38

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 x8 - -

VDD = 15V

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

PIC12FXXX

1,75-3,5

64-128 8 20 0-4 10 1

1 -2 x8 x1 16

- 0-1 EEPROM

PIC12HVXXX 1.75 64 8 20 0-4 10 1

1 -2 x8 x1 16

- 0-1 -

PIC16FXXX

1,75-14

64-368

14-64

20 0-13 8 ou 10 0 - 2

1 -2 x8 x1 16

USART I2C SPI

0 -3 -

PIC16HVXXX

1,75-3,5

64-128

14-20

20 0-12 10 2

2 x8 x1 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 xagosto2-3x 16

USB2.0CAN2.0USART I2C SPI

0-5 -

PIC18FXXJXX

8-128

1024 -3936

28-100

40 - 48

10 -16

10 2 0 -2 xagosto

USB2.0USART Ethernet I2C

2-5 -

Page 43: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

2-3x 16

SPI

PIC18FXXKXX 8-64

768- 3936

28- 44

64 10-13 10 2

1 x8 3x 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, há microcontroladores de 12, 14 e 16 bits. Tabela acima mostra as principais características destas três categorias.

Como pode ser visto na tabela da página anterior, se desconsiderarmos '16 bits arquitetura Harvard monsters'- PIC 24FXXX e PIC 24HXXX para um momento- todos os microcontroladores PIC tem 8 bits e pertencem a um dos trêsgrandes grupos. Assim, dependendo do tamanho da palavra programa existem na primeira, segunda e terceira categoria microcontrolador, ou seja 12, 14 ou microcontroladores de 16 bits. Tendo semelhante núcleo de 8 bits, todos eles usamo mesmo conjunto de instruções e do hardware "esqueleto" básico ligado a mais ou menos periférica unidades.

Microcontroladores PIC com palavras de programas de 14 bitssão mais propensos a melhor escolha para iniciantes. Aqui está o porquê ...

Conjunto de instruções

O conjunto de instruções para o 16F8XX inclui 35 instruçõesno total. A razão para um número tão pequeno de instruções está na arquitectura RISC. As instruções são bem otimizado do aspecto velocidade de operação, a simplicidade na arquitetura e código de compacidade. A desvantagem para a arquitetura RISC é que o usuário é esperado para lidar com estas instruções. Claro, isso só é relevante se você usar alinguagem assembly para a programação. Este livro lida com a programação em uma linguagem de programação de alto nívelchamado Basic, o que significa que a maioria do trabalho já

Page 44: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

foi feito por outra pessoa. Você apenas tem que usar instruções relativamente simples.

TEMPO DE INSTRUÇÕES DE EXECUÇÃO

Todas as instruções para microcontroladores PIC são instruções em um único ciclo. A única exceção são as instruções de desvio condicional (se a condição for cumprida) e 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. Isso significaque, se um oscilador de 4 MHz é utilizado, vai demorar 1μS para uma instrução a ser executada. O tempo de execução de instruções para instruções de salto é 2μS.

Conjunto de instruções de 14 bits microcontroladores PIC aspalavras do programa:

Instrução Descrição Operação Bandeira CLK *

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 emf

f (7: 4), (3:0) -> f (3: 0), (7: 4)

1 1, 2

Instruções aritméticas-logic

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 de constante kW -> W C, CC,

Z 1

SUBWF f, d Subtrair W de f fW -> d C, CC,

Z 1 1, 2

ANDLW k E lógico com W com W e K -> W Z 1

Page 45: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

constante ANDWF f, d E lógico com W com f W e F -> d Z 1 1,

2

IORLW k Lógico OR com W com constante W ou k -> W Z 1

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

2 XORWF f, d

Lógico OU exclusivo com W com constante W XOR k -> W Z 1 1,

2

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

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

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

RLF f, d Gire f esquerdo através carry C 1 1,

2

RRF f, d Gire para a direita através f carry C 1 1,

2

COMF f, d Complemento 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.

Ir se f (b) =0

1 (2) 3

BTFSS f, b

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

Ir se f (b) =1

1 (2) 3

DECFSZ f,d

Decrementa f. Ir a seguinte instrução seclara.

f-1 -> D saltar se Z =1

1 (2)

1, 2, 3

INCFSZ f,d

F incremento. Ir a seguinte instrução sedefinir.

f + 1 -> d saltar se Z =0

1 (2)

1, 2, 3

GOTO k Ir para endereço k -> PC 2

Page 46: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

CHAMADA k Sub-rotina chamada PC -> TOS, k -> PC 2

RETURN Retorno de sub-rotina TOS -> PC 2

RETLW k Retorno com constantena 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 -> TO, 1 -> PD TO, PD 1

SLEEP Vá em modo de suspensão

0 -> WDT, 1 -> TO, 0 -> PD TO, PD 1

* 1 Quando um registo de I / O é modificado, o valor utilizado será o valor presente sobre os próprios pinos. * 2 Se a instrução é executada sobre o registo TMR e se d =1, o prescaler será apagado. * 3 Se o PC é modificada ou o resultado do teste é um lógico um (1), a instrução requer dois ciclos. O segundo ciclo é executado como um NOP.

Page 47: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC
Page 48: BULLET Produtos @BULLET @BULLET Soluções @BULLET Entre em contato conosco @BULLET Entrar | Compras (0) Microcontroladores PIC -Programação em BASIC

A arquitetura de microcontroladores PIC de 8 bits. Qual destes módulos são para ser construídos para o microcontrolador depende do tipo da mesma.