Enviado por Do utilizador7651

Utilização-didática-do-MULTISIM-na-implementação-do-PIC16F84

Propaganda
Utilização didática do MULTISIM na implementação do PIC16F84
João Guilherme Correia Caldonazio1
Vladimir Rambaldi Chagas2
Prof. M.Sc. Juliano Coêlho Miranda3
RESUMO
Este artigo tem como objetivo a formulação didática da implementação do
microcontrolador PIC16F84 no software de simulação MULTISIM, orientando profissionais
que possuem conhecimento em eletrônica e linguagem de programação a realizar um projeto
de simulação antes de aplicá-lo fisicamente e auxiliar academicamente aulas voltadas a este
tipo de aplicação. Apresentará um diagrama contendo o projeto de inserção do PIC16F84 em
ambiente de simulação, assim como a descrição de cada etapa. A falta de documentação em
língua nativa causa uma dificuldade na utilização desse sistema de simulação, o que uma parte
será suprida com esse artigo, através de modelos, testes e definições de circuitos utilizando a
linguagem C e Assembly. Terá como resultado a obtenção de material para satisfazer a
implementação inicial do microcontrolador no sistema de simulação, e aplicabilidade em
algumas situações reais.
Palavras-chave: MULTISIM, implementação, microcontrolador, C, Assembly, PIC6F84.
1 INTRODUÇÃO
Um ambiente de simulação eletrônico físico necessita de um investimento que não há
como mensurar, onde temos várias variáveis que devem ser levadas em consideração. Caso o
1
João Guilherme Corrêia Caldonazio, Graduando em Bacharelado em Ciência da Computação (2007 – 2010) no
Centro Universitário do Sul de Minas.
2
Vladimir Rambaldi Chagas, Graduando em Bacharelado em Ciência da Computação (2007-2010) no Centro
Universitário do Sul de Minas.
3
Prof. M. Sc. Juliano Coêlho Miranda, Mestre em Engenharia Elétrica (EESC/USP) e Doutorando da Escola de
Engenharia Elétrica de São Carlos (EESC/USP). http://lattes.cnpq.br/9613023129913069.
1
ambiente de simulação seja um laboratório de uma universidade temos que serão necessários
vários tipos de conectores assim com todo material de parte elétrica, robótica e computacional
para a consolidação de um equipamento eletrônico.
Neste artigo será abordada a implementação de um microcontrolador PIC16F84 de
maneira simples em um ambiente de simulação, o MULTISIM, visto que não há material
disponível em língua portuguesa para este tipo de operação.
2 MICROCONTROLADORES E SUAS PROGRAMAÇÕES
2.1 Microcontroladores
“Os microcontroladores, [...], são dispositivos mais simples, com memórias RAM e
ROM internas, oscilador interno de clock, I/O interno, [...]” (PEREIRA, 2004, 3ª ed., p. 19).
“O microcontrolador foi projetado para ter tudo num só. Nenhum outro componente
externo é necessário nas aplicações, uma vez que todos os periféricos necessários já estão
contidos nele. [...]” (Microcontroladores).
Segundo PEREIRA (2004, P. 35), Os microcontroladores PIC utilizam uma
arquitetura RISC, com freqüências de clock de até 40Mhz, até 2048k word de
memória de programa e até 3968 bytes de memória RAM. São divididos em três
famílias basicamente que se diferenciam pelo tamanho de sua memória de programa,
sendo 12, 14 ou 16 Bits, possuindo todos um barramento interno de 8 bits.
PEREIRA (2004, p. 36-57) ressalta que a arquitetura PIC reside na semelhança e
compatibilidade entre os diversos chips, o que facilita a migração de um MCU para outro.
Deve se destacar algumas características internas dos MCUs, como capacidade de pipeline,
capacidade de execução de uma instrução por ciclo de máquina, cada instrução ocupar apenas
uma posição de memória de programa e o tempo de execução fixo para todas as instruções.
Essa arquitetura se consolida na apresentação de memória de programa, esta sendo ROM do
tipo máscara, OTP, EPROM e FLASH; de Memória RAM e Registradores, sendo Registrador
W, contador de programa (PC), Pilha (Stack); de interrupções, estas sendo, mascaráveis e não
mascaráveis. Os PICs mais antigos possuem até quatro tipos de interrupções, sendo, externa,
por mudança de nível lógico na porta B(RBIF), do timer0 (T0IF), de periférico, interrupção
GPIF OU GPIO.
2
2.2 Programação de microcontroladores
Em uma aplicação real, um microcontrolador, por si só, não é suficiente, é necessário
que haja uma programação. O programa é uma parte fundamental quando se trabalha com
microcontroladores, onde este tem a funções de informar dados ao microcontrolador, assim
sucessivamente de controlar toda a estrutura onde está localizado. Esta programação pode ser
realizada em Assembly, C e Basic, respectivamente do nível mais baixo de programação ao
nível mais alto de programação, sendo a linguagem C um nível que realiza comunicação
direta com o nível mais baixo de programação e apresenta algumas características de nível
alto de programação. (Microcontrolador).
2.2.1 Linguagem Assembly
Segundo PEREIRA (2007, p. 15), o Assembly consiste em uma forma alternativa de
representação dos códigos de máquina, usando mnemônicos. A conversão desses mnemônicos
em códigos binários executáveis pela máquina é realizada por um montador chamado
Assembler.
“Todos os computadores executam os comandos que residem na memória sob a
forma de instruções de máquinas, assim a finalidade de um montador (Assembler),
tem a finalidade de traduzir os comandos escritos em linguagem de alto nível para
nível de máquina.[...]. No entanto o Assembly utiliza instruções que estão mais
próximas da manipulação do hardware do computador”(GODFREY, 1989, p. 1819, tradução nossa).
2.2.2 Linguagem C
PEREIRA (2007, p. 16) afirma que as linguagens de alto nível, ao qual se enquadra a
linguagem C, são criadas para permitir a programação utilizando comandos de alto nível, e
que são posteriormente traduzidos para a linguagem de baixo nível, ou diretamente para
código de máquina do sistema utilizado.
O uso da linguagem C permite a programação dos microcontoladores em situações
complexas, o que não seria viável caso tivesse que ser realizada em Assembly.
“A utilização de uma linguagem de alto nível como C permite que o programador preocupe-se
mais com a programação da aplicação em si [...]” (PEREIRA, 2007, P. 18).
3
3. SIMULAÇÃO
A simulação se define por “representação de um sistema ou de um processo por um
modelo estatístico com que se trabalha, como se tratasse desse sistema ou processo, para
investigar os seus efeitos” (Infopédia).
Segundo (Kelton ET AL., 1998) a simulação de sistemas consiste na utilização de um
conjunto de métodos e técnicas matemáticas, com o objetivo de representar o comportamento
de sistemas reais, com a utilização de computadores e sistemas adequados.
Define-se também, como um processo de expressar um modelo de sistema real, e de
procedimentos de experimentos com este modelo, objetivando o resultado comportamental do
sistema visando avaliar melhores posicionamentos ou estratégias para a operação de maneira
real (Pegden et AL., 1995).
Há a possibilidade de simulação de praticamente quase todos os tipo de operação ou
processos reais (Freitas Filho, 1997).
4 MATERIAIS E MÉTODOS
4.1 Microcontrolador PIC16F84
Tateoki (2009, p. 5) apresenta que “um microcontrolador como o PIC16F84 é por sua
natureza, um computador completo em um chip, onde este possui um processador,
registradores, programa e memória de dados”.
O PIC16F84 apresenta um processador de 8-bits, 90 registradores que são
responsáveis pelo armazenamento interno do processador, possui uma memória de programa
de 1k, ou seja, 1024 locais para programa, sendo endereçada do endereço 000h até 3ffh,
possui 64 bytes de memória de dados (EEPROM), interrupções e os seus pinos de I/O, sendo
um total de 13 pinos divididos em 5 sendo portas A e 8 sendo portas B (Figura 01).
Figura 1 - Microcontrolador PIC16F84 (Fonte: Apostila Introdução aos microcontroladores)
4
4.2 MULTISIM
O MULTISIM se apresenta como uma ferramenta de análise comportamental de
circuitos eletrônicos, combinando recursos intuitivos e facilidades de utilização com o padrão
industrial de simulação SPICE em um único ambiente integrado, abstraindo as complexidades
e dificuldades de simulação tradicional. (MULTISIM, 2010).
Segundo Braga (2009, p. 7) “o MULTISIM é capaz de verificar erros antes que eles
se propaguem pelo projeto, essa verificação é feita através de um conjunto amplo de
instrumentos virtuais que indicam formas de ondas, sinais, tensões e correntes, além
da própria posta de freqüência de um circuito”.
5 AMBIENTE DE SIMULAÇÃO
Um projeto de simulação se inicia com a escolha do ambiente de simulação. O
MULTISIM se apresenta como uma ferramenta de simulação de ambientes eletrônicos, onde
se pode realizar simulações de circuitos antes da implementação no ambiente laboratorial.
No ambiente de simulação MULTISIM, são avaliadas as reações das ligações dos
componentes juntamente com a execução de uma programação que busca o fim de manipular
os dados entre o microcontrolador e o circuito, assim tendo respostas de erros de compilação
de códigos como a não execução do ambiente por motivo de erro de montagem do circuito.
As etapas de um projeto de simulação eletrônica se compõem pelos seguintes passos:
- especificação do circuito a ser montado, isso se faz através de identificação dos
componentes que serão necessários e qual será a utilidade deste circuito.
- escolha do sistema de simulação para a realização da implementação do circuito elétrico
planejado.
- colocação do circuito elétrico no ambiente de simulação. Caso o circuito possua um sistema
que necessite de programação de algum componente, parte-se para a etapa da criação do
programa que será utilizado na execução de instruções em um componente específico, como
um microcontrolador.
Com essas etapas, temos que neste projeto realizaremos uma simulação com um
circuito elétrico, contendo um microcontrolador PIC16F84, aplicado no ambiente de
simulação MULTISIM, utilizando as linguagens de programação Assembly e C para a
programação de seus sistemas internos para a realização das tarefas/objetivos do circuito.
O diagrama 01 apresenta os passos a serem seguidos no processo de simulação.
5
Diagrama 1 - Diagrama dos processos para a simulação
O ambiente de simulação MULTISIM (Figura 02) se apresenta com uma interface
amigável e com grande acessibilidade, desde que o projetista tenha a noção de eletrônica
(componentes e ligações) e um conhecimento de programação (lógica de programação).
O MULTISIM passa ao criador do projeto ferramentas para controle da visualização
do painel central onde será desenvolvido o circuito da simulação, (região 01 da Figura 02),
uma barra de componentes, (região 02 da Figura 02), controles da simulação (START, PAUSE
e STOP), (região 03 da Figura 02), uma barra de ferramenta de análise (multímetro,
osciloscópio, etc.), (região 04 da Figura 02), a Desig toolbox (barra contendo arquivos do
projeto), (região 05 da Figura 02), e a Spreadsheet View, (região 06 da Figura 02), que contém
informações sobre a execução do circuito.
6
Figura 2 – Ambiente de desenvolvimento MULTISIM (Fonte: Print Screen retirado pelos autores)
O projetista, tendo as noções de aplicações das ferramentas apresentadas pelo
programa inicia seu projeto inserindo no painel central o microcontrolador, (Figura 03), e os
componentes que compõem o circuito. Estes componentes são inseridos através da barra de
ferramentas components onde ao clicar em qualquer tipo de componente é apresentada uma
janela de seleção de componentes, nesta janela se encontra a caixa de busca de circuito, onde
o projetista apresenta em inglês o nome do componente que será necessário.
Figura 3 - Inserção do Microcontrolador PIC16F84 (Fonte: Print Screen retirado pelos autores)
7
Na inserção do microcontrolador é necessária a criação de um espaço de trabalho
(projeto), (Figura 04), nesta etapa se define o nome do ambiente de trabalho passando assim a
escolha da linguagem a ser utilizada (Figura 05). Tem que se aplicar um nome ao projeto e ao
arquivo de programa seja ele Assembly (.asm) ou C (.c), (Figura 06).
Figura 4 - Montagem do Workspace (Fonte: Print Screen retirado pelos autores)
Figura 5 - Montagem do Projeto na linguagem (Fonte: Print retirado pelos autores)
Figura 6 - Inserção do arquivo para o código (Fonte: Print Screen retirado pelos autores)
8
Inserido o microcontrolador temos no design toolbox os arquivos do projeto definidos
como arquivo geral do design, arquivo do microcontrolador (workspace), arquivo indicando o
projeto que está sendo executado, e o arquivo do programa (Figura 07).
Figura 7 - Design Toolbox contendo os arquivos do projeto (Fonte: Print Screen retirado pelos autores)
No arquivo design serão implantados os outros componentes para a formação do
circuito desejado.
O simulador apresenta uma ferramenta de gerenciamento do microcontrolador (Figura
08), esta ferramenta é acessada pelo projetista através de dois cliques no MCU apresentado na
área Design Toolbox.
Figura 8 - Gerenciamento do Microcontrolador (Fonte: Print Screen retirado pelos autores)
9
O gerenciamento do projeto possibilita ao projetista a inserção de novos arquivos de
códigos assim como novos projetos interligados ao que está sendo montado, fazendo com que
haja a interação de projetos distintos.
No arquivo de programa temos a abertura de um ambiente onde serão inseridas as
linhas de programação (Figura 09), para a informação de ordens ao microcontrolador,
informando-lhe bits de programação de portas, assim como informações a serem passadas aos
outros componentes do circuito (Figura 10).
Figura 9 - Ambiente de programação (Fonte: Print Screen retirado pelos autores)
Figura 10 - Programação realizada no ambiente (Fonte: Print Screen retirado pelos autores)
10
Na etapa de programação são necessários alguns princípios básicos de lógica da
programação como sintaxe e semântica, com esses princípios são aplicadas as funções
específicas de programação para microcontroladores tendo em Assembly (Figura 11) e em C
(Figura 12) onde é necessário o conhecimento e domínio destas linguagens para poder realizar
a implementação.
11
Figura 11 – Código aplicado no projeto Assembly.asm (Fonte: Print Screen retirado pelos autores)
Figura 12 - Código aplicado no projeto main.c (Fonte: Print Screen retirado pelos autores)
Realizada a programação do microcontrolador apresentados na Figuras 11 e 12,
juntamente com a montagem do circuito conforme projeto desejado. Inicia-se então a fase de
execução do circuito, nessa fase utilizam-se os comandos de controle da simulação. Ao dar
START no circuito, na Spreadsheet View acompanhamos o que ocorreu ao programa ser
executado, caso o programa apresente alguma irregularidade, é neste ambiente que conterá as
informações de erros ou alertas. Apresentando erros ou alertas, é necessário que o projetista
realize as correções para que tudo esteja operando de maneira correta, para que possa haver a
aplicação em ambiente laboratorial (físico) sem que haja a necessidade de correções.
8 PROJETOS FUTUROS
Será realizada a continuação dos estudos para a simulação de um sistema real, assim
como a disponibilização dos materiais programados no MULTISIM, com passo a passo na
criação dos circuitos e geração dos códigos.
12
7 CONCLUSÃO
O direcionamento para a aplicação de um microcontrolador no ambiente de simulação
MULTISIM não é encontrado na língua portuguesa. O embasamento neste campo possibilitou
a aprendizagem de simulação eletrônica assim como o conhecimento de programação em uma
linguagem de nível próximo ao de máquina. Um conteúdo didático apresentando as
características de montagem de um ambiente para trabalho e estudos de circuitos semiaplicados, pois estes a priori se apresentam em forma de simulação e posteriormente podendo
ser aplicado de maneira física, evitando perdas em excesso de componentes e placas.
Com esta aplicação tem-se um material semi-narrativo apresentando a maneira de se
realizar a implementação do microcontrolador no ambiente de simulação MULTISIM, assim
como a sua aplicação.
PIC16F84: didatic use of MULTISIM in implementing PIC16F84A
ABSTRACT
This article aims at teaching the formulation of the implementation of the PIC16F84
microcontroller simulation software MULTISIM, targeting professionals who are
knowledgeable in electronics and programming language to perform a simulation project
before you apply it physically. Submit a diagram containing the project's insertion into
PIC16F84 simulation environment, as well as a description of each step. The lack of
documentation in the native language causes a difficulty in using this simulation system,
which will be supplied with a part of this article, from models, tests and definitions of circuits
using C and Assembly. Will result in the procurement of material to satisfy the initial
implementation of the microcontroller in the system simulation, and applicability to some real
situations.
Keywords: MULTISIM, implementation, microcontroller, C, Assembly, PIC6F84.
13
REFERÊNCIAS
Introdução
aos
microcontroladores.
Disponível
em:
<http://www3.fsa.br/LocalUser/Eletronica/mario.garcia/Microprocessaores/Apostila%20Micr
ocontrolador%20PIC16F84.pdf>. Acesso em: 06 nov. 2010.
O que é MULTISIM?. Disponível em: <http://digital.ni.com/express.nsf/bycode/braf3i>.
Acesso em: 06 nov. 2010.
BRAGA. N. C. Aprenda a Usar o MULTISIM. Saber. 2009. p. 7.
GODFREY, J. T. IBM microcomputer assembly language: begining to advanced. Prenticehall, 1989. p. 18-19.
PEREIRA, F. Controladores PIC: Técnicas Avançadas. São Paulo: Érica, 2004. p.19; 35-57.
PEREIRA, F. Microcontroladores PIC: programação em C. 7. ed. São Paulo: Erica, 2007.
p.15-18.
TATEOKI, G. T. Apostila curso de programação PIC. 2009. Disponível em:
http://www.getulio.eng.br/meusalunos/EDII/curso_pic_16f84.pdf>. Acesso em: 06 nov. 2010.
KELTON, W. D.; SADOWSKI, R. P.;SADOWSKI, D. A. – Simulation with Arena.
McGraw-Hill, NY, 1998.
PEDGEN, C. D.; SHANON, R. E.; SADOWSKI, R. P. – Introduction to simulation using
SIMAN. McGraw-Hill: 2nd ed., NY, 1995.
FREITAS FILHO, Paulo J. – Introdução a modelagem e a simulação de sistemas discretos.
Apostila, UFSC, SC, 1997.
Definição
de
simulação.
Disponível
em:
<http://www.infopedia.pt/pesquisa-
global/Simulação>. Acesso em: 12 dez. 2010.
14
Download