Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Tutorial Proteus
Proteus 7.4 – Isis e VSM
Exsto Tecnologia Ltda.
Av. Coronel Francisco Palma, 95 – Loja 2
Santa Rita do Sapucaí – MG
CEP: 37540‐000
+55 35 3471 6898
www.exsto.com.br
Tutorial Proteus 2
“Desenvolvido e produzido com orgulho no Brasil”
Exsto Tecnologia Ltda
R. Cel. Francisco Palma, 95 – Loja 2
Santa Rita do Sapucaí – MG
CEP: 37540‐000
+55 35 3471 6898
www.exsto.com.br
Exsto Tecnologia
Tutorial Proteus 3
ÍNDICE PÁGINA
1 Introdução ......................................................................................................................................... 5
2 Abrindo o Proteus (ISIS) ............................................................................................................... 5
3 Barra de MENU ................................................................................................................................ 5
4 Conhecendo a interface do Programa....................................................................................... 5
5 Como escolher componentes para simulação ....................................................................... 6
6 Interação com componentes especiais .................................................................................... 8
7 Editando os componentes (individualmente e em grupo) ................................................... 9
8 Fios elétricos ...................................................................................................................................11
8.1 Coloque os fios em seu esquema ................................................................................................. 11
8.2 Edite os fios elétricos ................................................................................................................... 11
8.3 Usando Ponto (Junções)............................................................................................................... 12
8.4 Barramentos ................................................................................................................................. 12
9 Como iniciar a simulação e fazer as devidas configurações .............................................13
9.1 Iniciar a Simulação ...................................................................................................................... 13
9.2 Simulação “passo a passo”........................................................................................................... 14
9.3 Configuração da simulação .......................................................................................................... 14
9.4 Simulation Log ............................................................................................................................ 15
9.5 Configuração de Diagnósticos ..................................................................................................... 15
10 Uso de pontas de prova (“Probe”) e Gráficos .....................................................................17
10.1 Break-Points com Probes ........................................................................................................... 19
11 Geradores ......................................................................................................................................20
11.1 DC Generator ............................................................................................................................. 20
11.2 SINE Generator.......................................................................................................................... 20
11.3 PULSE Generator ...................................................................................................................... 20
11.4 Exp Generator ............................................................................................................................ 20
11.5 SFFM Generator ........................................................................................................................ 20
11.6 PWLIN Generator ...................................................................................................................... 20
11.7 FILE Generator .......................................................................................................................... 21
11.8 AUDIO Generator...................................................................................................................... 21
11.9 DSTATE Generator ................................................................................................................... 22
11.10 DEDGE Generator ................................................................................................................... 22
11.11 DPULSE Generator ................................................................................................................. 22
11.12 DCLOCK Generator ................................................................................................................ 22
11.13 DPATTERN Generator ............................................................................................................ 22
11.14 SCRIPTABLE Generator......................................................................................................... 23
12 Instrumentos .................................................................................................................................23
12.1 Osciloscópio (“Oscilloscope”) ................................................................................................... 23
Exsto Tecnologia
Tutorial Proteus 4
Exsto Tecnologia
Tutorial Proteus 5
1 Introdução
O Proteus é um software que conta com dois programas:
ARES : Neste programa cria‐se layout de PCI (placa de circuito impresso).
ISIS : Programa de simulação com o qual você poderá simular circuitos digitais, analógicos
e microprocessados. Também possui um laboratório virtual contendo osciloscópio, voltímetro,
amperímetro, gerador de sinal, gráficos, etc.
Com o software instalado na máquina vá em:
“Iniciar” ‐> “Programas” ‐> “Proteus Professional” ‐> “ISIS Professional”.
Em seguida espere alguns segundos até que o mesmo já esteja aberto e pronto para o uso.
3 Barra de MENU
Localizada na parte superior da tela. Possui, como qualquer outra típica janela do Windows,
uma série de comandos distribuídos em pequenos menus (“File”, “View”, “Edit”, etc.) conforme pode
ser visto na sequência:
Com um ‘clique’ em um dos menus será exibida a lista de comandos correspondente. Como
exemplo, temos os comandos da lista denominada “Template”:
Na “Barra de Menu” são encontrados importantes recursos como salvar (“Save”), imprimir
(“Print”) ou abrir um esquemático (“Open Design”), neste caso, os recursos citados estão no menu
“File”.
Exsto Tecnologia
Tutoriial Proteus 6
Com o proggrama aberto
o você verá:
• Janela dee edição: nad
da mais é do
o que a áreaa de montaggem de suas simulações..
T
Trata‐se da m
maior área quue você obse
erva.
• Visor: Traata‐se de um
ma visão maais geral (“ovverview”) daa janela de edição.
e Nelaa
v
você verá umma caixa azuul, que corre
esponde à mesma
m da jaanela de edição, e umaa
v
verde, que é
é a parte quue será mosttrada mais detalhadame
d ente em suaa “Janela dee
e
edição”.
• Seletor dee Componen ntes: Será ne
este local qu
ue ao começçar a realizarr um projeto
o
vvocê verá a to
oda a lista dee componenntes que estãão sendo utilizados ou qu
ue em algumm
m
momento voc cê o escolheeu para uso.
• Barra Seleetora de ferrramentas (“M
Mode Selecto
or Toolbar”)..
Obs: Casoo a interface não esteja d de seu agraddo você podeerá modificá‐‐la (“Visor” ee “Seletor dee
Comp ponentes”) conforme sua preferêência. Para isto, posiicione o “m mouse” em m uma dass
correespondentes bordas até que a seta m mude seu forrmato e em seguida cliqu ue e, mantendo o botão o
presssionado, arraaste‐o até o
o tamanho desejado.
d Podendo aumeentar ou dim
minuir a larggura, ou atéé
mesm mo mudá‐loss de lado se o os arrastar atté o canto de
esejado.
5 Como
C es
scolher compo
onentes para siimulaçã
ão
Entre o “V
Visor” e o “SSeletor de Co
omponentes”” você encon
ntrará as letrras P e L.
Para com
mponentes, clique em P (““Pick Device””). Abrirá a sseguinte janeela:
Exsto Tecnologia
a
Tutorial Proteus 7
Há várias maneiras de encontrar o que se deseja. Se souber exatamente o que está
procurando ou mesmo parte do nome do componente basta digitá‐lo no campo denominado
“Keywords” ( ). Outra maneira será usar as categorias disponíveis no campo “Category” ( ), entre
elas: Capacitores, Diodos, Resistores, etc.
Usando qualquer uma das maneiras descritas, os correspondentes componentes apareceram
sempre a sua direita. Como mostrado abaixo:
Perceba que mais ao canto aparece a figura correspondente ao componente escolhido. Logo
abaixo do campo “Category” existem dois outros campos chamados “Sub‐category” ( ) e
“Manufacturer” ( ), ambos com o objetivo de refinar ainda mais sua pesquisa.
Exsto Tecnologia
Tutorial Proteus 8
Escolhido o componente, basta ir em “OK” situado abaixo da tela e ele aparecerá no campo
do “Seletor de Componentes”. Repita o processo com todos os componentes desejados.
Com todos já escolhidos (estarão visíveis no “Seletor de Componentes”) basta selecionar um
deles e clicar na “Janela de edição” onde este aparecerá imediatamente junto ao cursor do “mouse”,
ficando móvel para que você possa escolher o local adequado para colocá‐lo. Movimente‐o então até
a posição desejada e com mais um ‘clique’ o mesmo estará fixado, podendo‐se colocar quantos
forem precisos, de maneira que cada clique do mouse corresponderá a um componente.
Repita o processo para todos os componentes necessários a sua montagem.
Sempre que precisar de algum outro que não tenha sido selecionado anteriormente e,
portanto não esteja no “Seletor de Componentes”, volte ao menu “Pick Device”.
Certos componentes, para seu funcionamento, necessitam de uma interação por parte do
usuário. É o caso das chaves lógicas, chaves BCD e hexadecimais, potenciômetros, etc.
Nosso objetivo neste capítulo não é o de explicar todos os existentes um a um, e sim dar uma
introduzida no assunto para que se saiba desta funcionalidade do Proteus, de maneira que ao se
deparar com algum outro que não tenha sido listado, você já saiba como proceder.
A seguir, então, são mostrados alguns desses componentes que são muito usados nas
simulações do seu kit:
Perceba que todos possuem ao seu lado duas bolinhas vermelhas com uma seta dentro de
cada uma. Através delas que ocorrem as interações por parte do usuário. Com o “mouse”, ‘clica‐se’
em uma das bolinhas sempre que desejar que o componente em questão mude o estado em que se
encontra.
Explicaremos abaixo um pouco de cada um dos mostrados acima. Da esquerda para a direita
temos:
As chaves lógicas, que representam os estados lógicos 1 e 0 para as simulações digitas. Com
o ‘clique’ do “mouse” muda‐se do estado 0 para o 1 ou ao contrário. Sua palavra chave, a ser
colocada no campo “Keyword” da janela “Pick Device” (conforme explicado no capítulo anterior), é
“LOGICSTATE”.
Em segundo, um potenciômetro, que vai alterando o seu valor ôhmico ao clicar do “mouse”.
A palavra chave, do mostrado acima (existem outros tipos), é “POT‐HG”.
Exsto Tecnologia
Tutorial Proteus 9
E, por último, duas chaves simples. Uma com duas posições e outra com três. As respectivas
palavras chaves são “SW‐SPDT” e “SW‐ROT‐3”.
Já com os componentes fixados na “Janela de Edição” dispõe‐se de vários recursos para
construir seu esquema. Todos eles podendo ser acessados através de um ‘clique’ com o botão direito
do “mouse” sobre o componente desejado fazendo com que seja exibida uma pequena lista de
opções:
Seguem as mais usadas:
• Rotação: Para girar o objeto no sentido horário ou anti‐horário localizar na lista as funções
“Rotate Clockwise” ou “Rotate Anti‐Clockwise” .
• Espelhamento: Para espelhá‐los encontre as funções “X‐Mirror” ou “Y‐Mirror” .
Obs: Ambos os recursos acima também são encontrados na “Barra Seletora de ferramentas”
da seguinte maneira:
Porém esses atalhos não servem para ser usados nos componentes que já estão fixados na
“Janela de edição, mas sim antes dos mesmos serem fixados.
Selecionamos o que desejamos editar dentre os que estão no “Seletor de Componentes” e
daí, através dos atalhos das funções (figura anterior), o colocamos na posição desejada para
só depois fixá‐los.
Visualize a posição de seu componente no campo do “Visor”.
Exsto Tecnologia
Tutorial Proteus 10
No quadro de texto disponível junto às funções (figura anterior) pode‐se introduzir um
ângulo limitado aos seguintes valores (0º, +/‐90º, +/‐180º, +/‐270º). Por isso é mais fácil
dirigir a orientação por meio dos botões.
• Menu: Cada objeto possui um menu próprio. Para acessá‐lo dê ‘clique duplo’ no
componente. Nele você poderá mudar o nome, o valor, esconder determinada informação
que deseja que não apareça no esquema, etc.
(Ver figura.)
Obs: Com o botão direito do “mouse” também acessamos o menu ‘clicando’ em seguida em
“Edit Properties”.
• Deletar: seleciona‐se o objeto e no teclado clique em “Delete”.
Além de manipular componentes isoladamente, podemos trabalhar com vários ao mesmo
tempo. Primeiramente, selecione o bloco desejado. Clique no primeiro botão do menu a esquerda e
depois no esquemático, arrastando o mouse diagonalmente até cobrir toda parte que se deseja
manipular. Com o bloco selecionado, ‘clique’ sobre com o botão direito do ‘mouse’ e aparecerá um
menu com as opções já explicadas anteriormente (componentes individuais).
Para copiar um bloco (conjunto) de componentes selecione‐o e, novamente, clique com o
botão direito sobre ele. Aberto o menu, selecione a opção “Copy To Clipboard”, que apenas o
copiará, ou “Cut to Clipboard”, que o recortará.
Exsto Tecnologia
Tutorial Proteus 11
Em seguida, vá ao local onde deseja colocar o circuito (que foi copiado ou recortado) e clique
sobre o esquemático com o botão direito. Com o menu aberto, clique na opção “Paste From
Clipboard” e seu circuito será colado.
Obs.: Se esta opção não estiver ativa, é porque nada foi copiado ou recortado.
8 Fios elétricos
Para interligar os componentes e equipamentos na “Janela de edição”, posicione o cursor e
‘clique’ num terminal (início da ligação), arraste‐o até o outro terminal e dê outro ‘clique’ finalizando
a ligação. (Vide observação abaixo).
Obs: Ao colocar o cursor em um terminal, o visual do mesmo irá mudar automaticamente
para o formato de um lápis verde , indicando que o fio pode ser colocado.
Note que não há ícone para essa função.
Dê um clique com o botão direito do mouse no fio elétrico e selecione “Edit Wire Style”. E
faça as devidas alterações.
Exsto Tecnologia
Tutorial Proteus 12
São usados para marcar a conexão entre fios elétricos. Como mostrado abaixo:
Caso deseje marcar alguma conexão com um ponto, para facilitar sua visualização, recorra ao
ícone “Junction Dot Mode” na “Barra Seletora de ferramentas” e ‘clique’ no lugar onde gostaria
de colocá‐lo.
Obs.: Para facilitar o movimento de ligações repetitivas a uma mesma direção e distância (como
ligações a um barramento ou a vários terminais), o Proteus nos fornece um pequeno “truque”.
Observe o exemplo abaixo:
Depois de ligar o primeiro pino “P0.0” e seu respectivo terminal, não é preciso repetir o mesmo
processo com todos os outros pinos, basta clicar duas vezes sobre os próximos.
8.4 Barramentos
São formas de ligar vários fios através de um só (barramento), simplificando as ligações de
um circuito.
Para inserir um barramento, selecione o sexto botão da “Barra Seletora de ferramentas”,
denominado “Buses Mode”. Clique na “Janela de edição” com o botão esquerdo, arraste até o ponto
desejado e clique duas vezes. Não é preciso ligá‐los a terminais para inseri‐los no esquemático.
Para editar um barramento, clique sobre ele com o botão direito, e aberto um menu,
selecione a opção “Edit Wire Style”. Aparecerá uma janela, onde é possível editar seus atributos de
linha, ou deixá‐los como padrão, selecionando a opção “Follow Global?” para todos os campos.
Exsto Tecnologia
Tutorial Proteus 13
Ligar um barramento a vários fios é fazê‐lo funcionar como um fio que comporta todos os
outros. Para isso, insira o barramento no esquemático. Em seguida, puxe os fios dos terminais
desejados e clique sobre ele. A seguir, crie “labels” para todos os terminais que serão ligados, tanto
paraos de entrada quanto para os de saída de dados. Depois, é só criar um “label” para o barramento
também. Observe o exemplo a seguir:
Obs.: Não é possível ver as junções, pois elas estão omissas no barramento.
Com os equipamentos e componentes fixados na “Janela de Edição” já se pode dar início a
sua simulação. Para isso você deve ir até o atalho localizado no canto inferior esquerdo de sua tela
ou também clicando em "Debug" na barra de opções da parte superior do programa e logo depois
em "Execute". Como mostrado a seguir (as duas maneiras):
Na figura acima podemos observar duas opções localizadas abaixo da opção “Execute”:
“Execute Without Breakpoints” e “Execute for Specified Time”. A primeira executa o programa sem
Breakpoints, ou seja, se houver algum Breakpoint demarcado no seu programa ele será ignorado. E a
segunda, executa o programa o programa por um tempo específico. Este pode ser configurado na
janela que é aberta quando esta opção é selecionada, como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 14
Para iniciar simulação “passo a passo”, aperte o botão circulado na figura abaixo. É possível
também iniciá‐la através do menu “Debug”. Para finalizá‐la clique no botão "Stop".
Obs.: O “passo” executado pelo botão circulado acima é de 50ms. Para alterar esse tempo, leia o
item abaixo.
Para configurar a simulação do Proteus vá no menu “System”, localizado na barra de
ferramentas da parte superior do programa e clique em “Set Animation Options”, o que abrirá a
janela mostrada a seguir:
Existem três campos definidos nesta janela: “Simulation Speed”, “Animation Options” e
“Voltage/Current Ranges”.
Em “Simulation Speed”, é possível alterar a velocidade da simulação. No campo “Single Step
Time” define‐se o tempo gasto para cada passo na simulação.
Em “Animation Options” são opções de visualização do circuito enquanto simulado.
Exsto Tecnologia
Tutorial Proteus 15
Obs.: O item “Show Logic States of Pins” mostra o estado lógico de cada pino do componente através
das cores cinza, vermelho e azul. É possível também termos a cor amarela, que significa a imposição
de dois níveis lógicos em um mesmo pino e ao mesmo tempo.
Observe um exemplo de circuito que ilustra as opções do campo “Animation Option”:
Em “Voltage/Current Ranges”, é possível definir as faixas de corrente e voltagem. No campo
“Maximum Voltage” a tensão escrita serve como referência para a ferramenta da opção “Show Wire
Voltage by Color?”, ou seja, ele indica a diferença entre a tensão negativa e positiva.
Em “Current Threshold”, altera‐se a mínima corrente necessária para ativar um dispositivo.
O “Simulation Log” nos permite ver os avisos que o Proteus faz ao usuário. Inicialmente ele
avisa se todos os pré‐requisitos para a simulação foram executados corretamente (como a lista de
componentes). Durante a simulação ele nos fornece avisos de ocorrências que geralmente estão
incorretas e podem prejudicar a simulação, ou também pode mostrar avisos escolhidos pelo usuário
através da “Configuração de Diagnósticos”.
Exsto Tecnologia
Tutorial Proteus 16
Aberta uma janela, clicando no sinal ‘+’ ao lado opção denominada “System (ISIS/PROSPICE)”,
são mostrados de que aspectos do funcionamento do sistema é possível receber informações
durante a simulação. Clicando sobre uma dessas opções, aparecerá embaixo em “Trace Information
Level”, os níveis de informação que deve ser mostrada para o usuário em relação a opção escolhida:
‐ “Disabled” siginifica que não deve ser mostrado nada.
‐ “Warnings” significa que devem ser mostradas informações somente quando o
funcionamento do circuito pode estar comprometido.
‐ “Full Trace“ significa que todas as informações referentes a opção escolhida devem ser
mostradas.
‐ “Debug” significa que, além de todas as informações referentes a opção escolhida serem
mostradas, o que levou a ocorrência dela também deve ser noticiado (em caso de
problemas). OBS: em alguns casos, não há diferença entre “Full Trace” e “Debug”.
Por exemplo, se dentro de “System (ISIS/PROSPICE)”, você clicar em “Digital Logic
Contentions”, o tipo de nível de informação relacionado a ela, por padrão, é de “Warning”, portanto
se houver alguma contenção de sinal lógico, o Proteus somente avisará uma vez que ocorreu esse
problema, como na figura a seguir:
Se você mudar o nível de informação para “Full Trace”, o Proteus avisará todas as vezes que
ocorreu, como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 17
E finalmente, se você mudar o nível de informação para “Debug”, o Proteus avisará todas as
vezes que ocorreu, e qual foi a causa da contenção. Observe no exemplo abaixo, que o “Simulation
Log” indica que a contenção ocorreu graças à imposição de nível lógico alto (SH) no pino TXD do
Virtual Terminal e de nível lógico baixo (SL) no pino RC6 do microcontrolador, os quais estão ligados
entre si.
Além do “System (ISIS/PROSPICE)”, haverá também opções de outros componentes digitais
presentes no circuito, no entanto, apenas os que dispuserem da ferramenta de diagnóstico. Um
exemplo é o microcontrolador, cujos eventos e módulos estão disponíveis para análise. No exemplo
abaixo, o módulo USART do microcontrolador foi selecionado para “Debug”. Observe como fica fácil
a análise dos dados que são enviados e recebidos pelo microcontrolador através da serial:
As pontas de prova são recursos importantes quando se trata de realizar medidas.
Exsto Tecnologia
Tutorial Proteus 18
Encontram‐se na “Barra Seletora de ferramentas” nos ícones chamados de “Voltage Probe
Mode” (usadas para medir tensão) e “Current Probe Mode” (usadas para medir corrente).
Para usá‐las basta colocar uma delas no lugar desejado do esquemático, seja em algum
ponto de um fio elétrico ou em algum pino de um equipamento, conforme mostrado abaixo:
Para observar o que elas estão medindo recorre‐se aos gráficos. Para inseri‐los em seu
esquemático vá até o ícone “Graph Mode” na sua “Barra Seletora de ferramentas”.
Após ‘clicar’ neste ícone será listado no campo “Seletor de Componentes” todos os tipos de
gráficos disponíveis para o uso (ex: Gráfico Digital, Analógico, etc.). Escolha qual deles é o adequado
para realizar sua medida e, em seguida, coloque‐o em seu esquemático. Para isso vá para área da
“Janela de edição” e no primeiro ‘clique’ que você der será marcado o início do gráfico, arraste‐o até
o ponto onde você dará o segundo ‘clique’ determinando assim o seu ponto de término.
Feito os passos descritos acima seu gráfico estará disponível da seguinte maneira em seu
esquemático (ex: Gráfico Analógico):
Agora você precisa determinar qual será a ponta de prova que se baseará o gráfico para
mostrar o sinal. Para isso de um ‘clique’ com botão direito no gráfico e vá em “Add Traces” e a janela
a seguir se abrirá:
Exsto Tecnologia
Tutorial Proteus 19
Nos campos “Probe P1”, “Probe P2”, etc., você ‘clica’ na seta e serão mostrados todos os
nomes das pontas de prova presentes em seu esquemático. Escolha uma delas e a selecione.
Faça isso para todos os campos que desejar e note que no campo “Expression” será montado
uma expressão, no qual o seu resultado que será mostrado no gráfico.
Caso queira que apenas o sinal de uma ponta de prova seja mostrado no gráfico, preencha
apenas um dos campos “Probe” com a ponta de prova que será analisada. Se existir alguma outra
ponta de prova para ser analisada individualmente, monte outro gráfico para ela e o configure da
mesma maneira.
Feito as configurações necessárias ‘clique’ em “OK.
Agora de um ‘duplo clique’ no gráfico e acerte o tempo em que o sinal será mostrado no
gráfico e coloque os nomes que achar pertinente no eixo “X” e “Y” e o título do gráfico.
‘Clique’ em “OK” novamente e seu gráfico esta pronto para ser simulado. Agora basta
selecioná‐lo e apertar a “barra de espaço” do seu teclado para que o sinal seja mostrado no gráfico.
(Vide figura abaixo).
Também se pode criar gráficos baseados, não somente em pontas de prova, mas em
geradores localizados na “Barra Seletora de ferramentas” no ícone “Generator Mode” .
Fazer um “Break‐Point” com o Probe é parar a simulação quando um determinado nível de
tensão ou corrente for detectado por ele. Para habilitar e configurar essa ferramenta, clique sobre a
“probe” com o botão direito do mouse e após aparecer um menu ‘clique’ em “Edit Properties”. Em
“Real Time Break Point”, há três opções para selecionar: em “Disabled”, esta ferramenta é
desabilitada; em “Digital” e “Analog”, seleciona‐se se o sinal observado é digital ou analógico. No
campo “Trigger Value” define‐se o valor da tensão que a “probe” deve detectar para suspender a
Exsto Tecnologia
Tutorial Proteus 20
simulação. Em “Arm at Time”, define‐se em que instante da simulação a “probe” deve começar a
observar os valores de tensão para então detectar o valor no campo acima.
11 Geradores
No 12º botão da “Barra Seletora de ferramentas”, denominado "Generators" há 12 tipos de
geradores para se utilizar.
Obs.: Depois de escolher um dos geradores que serão descritos logo em seguida e colocá‐los na
“Janela de Edição”, você deve dar um ‘clique’ duplo em cima do mesmo pra editar suas
configurações. Cada um deles possuem um menu de configuração específico.
11.1 DC Generator
É um gerador de sinal contínuo.
É um gerador de sinal alternado.
É um gerador de pulso.
É um gerador de sinal exponencial.
É um gerador de um sinal de freqüência modelado.
Exsto Tecnologia
Tutorial Proteus 21
É um gerador de sinal de forma de onda arbitraria.
Como a forma de onde do pulso é você quem escolhe, é possível desenhá‐la no gráfico de
Tempo/Divisão abaixo. No entanto, só se podem desenhar sinais “retos” (dentes de serra,
triangulares ou quadrados), não sendo possível o desenho de senoides por exemplo. Para isso,
arraste o mouse com o botão esquerdo pressionado para “colocar” pontos que definirão o sinal.
Para apagá‐los, clique sobre eles com o botão direito, e para apagar todos, aperte a tecla “CTRL” e
clique sobre o gráfico com o botão direito.
Veja figura abaixo onde é mostrada a área de construção do sinal.
É um gerador de sinal de forma de onda arbitraria, mas que não é como o PWLIN, e sim
carregado de um arquivo ASCII.
‐ O campo “Data File” serve para definir o arquivo, caso já haja uma lista.
‐ O botão “Browse” serve para procurar o arquivo dentro pastas do seu computador.
Usa arquivos Windows WAV para gerar um sinal.
Exsto Tecnologia
Tutorial Proteus 22
‐ O campo “WAV Audio File” serve para definir o arquivo, caso já haja uma lista.
‐ O botão “Browse” serve para procurar o arquivo dentro pastas do seu computador.
Gerador de sinal com nível lógico estacionário.
Gerador de um pulso com transição de descida ou subida.
Gerador de um pulso.
É um gerador de sinal de clock.
Exsto Tecnologia
Tutorial Proteus 23
É um gerador de uma sequência arbitraria de níveis lógicos.
Ele gera um sinal a partir de um Script.
No campo “Assigned Script”, o “<LOCAL>” significa que o Script será escrito no espaço em
branco abaixo. O botão “Help...” oferece ajuda para montar um script e o botão “Edit...” oferece um
Editor para que o script seja alterado ou escrito.
12 Instrumentos
Para o uso de instrumentos você deve ir à barra “Barra Seletora de ferramentas” e clicar no
ícone “Virtual Instruments Mode” . Em seguida estarão disponíveis para o uso, no “Seletor de
Componentes”, os seguintes instrumentos:
Obs: Ao iniciar a simulação abrirá o painel de controle de cada instrumento (se o mesmo o
possuir).
Nele é possível fazer medidas e ainda observar as formas de onda de interesse. Suas
especificações seguem abaixo:
¾ Possui quatro canais para análise de sinais (A, B, C, e D);
Exsto Tecnologia
Tutorial Proteus 24
¾ Ganho de canal de 20V a 2mV por divisão;
¾ Base de tempo de 200ms a 0,5us por divisão.
Usando o Painel de Controle.
Com o osciloscópio no seu esquemático, ao iniciar sua simulação a seguinte janela se abrirá:
Trata‐se do painel de controle do mesmo.
Ao lado esquerdo (parte escura) existem quatro linhas paralelas que são os sinais medidos
em cada um dos canais. No exemplo (figura acima), você observa sinal existente em apenas um dos
canais, representado pela primeira linha (canal A).
Logo à direita existem seis divisões denominadas: “Trigger”, “Horizontal”, “Channel A” (canal
A), “Channel B” (canal B), “Channel C” (canal C) e “Channel D” (canal D). Abaixo estes são mostrados
mais detalhadamente:
Exsto Tecnologia
Tutorial Proteus 25
Obs.: A interface do Canal A é igual a dos outros canais (B, C e D). Por isso foi mostrado
apenas um deles.
_Na interface “Trigger” encontra‐se a função denominada “level” que é o ajuste de uma linha
horizontal na tela de observação. Nesta divisão pode‐se fazer com que o sinal fique se auto‐
atualizando através da função “Auto” ou, se preferir, atualizar o sinal somente no momento desejado
com a função “One‐Shot” e, também, é possível observar as componentes DC ou AC do sinal.
O botão "Cursor" lhe dá a opção de poder analisar o sinal na tela através do cursor. É só
posicioná‐lo em cima do sinal e é possível ver precisamente a tensão e o momento (em unidade de
tempo) em que o sinal encontra‐se dentro de seu período.
Na chave "Source", escolhe‐se qual canal cuja visualização se deseja configurar.
_Na interface “Horizontal” pode‐se deslocar o sinal para direita ou para esquerda através da
função “Position” e, também, regular o tempo por divisão do osciloscópio.
_Nas interfaces “Channel” você edita o sinal correspondente a cada canal. A função
“Position” trata‐se do “Offset” do sinal e também se encontra, em cada uma dessas interfaces, o
ajuste de volts por divisão do correspondente sinal. No botão "Invert", inverte‐se a polaridade do
sinal.
Para o caso de uso de dois cainais ("Channel A" e "channel B", por exemplo) o botão "A+B"
mostra na tela os dois sinais somados.
Possui os recursos abaixo:
Exsto Tecnologia
Tutorial Proteus 26
¾ Resolução de captura de 220us até 0,5ns por amostra com tempos
correspondentes de captação de 2s a 5ms.
¾ Faixa de “zoom” do visor de 1000 amostras a 1 amostra por divisão;
¾ Dois cursores fornecem medidas de tempo precisas;
¾ Posições de “Trigger” de 0, 25, 50, 75 e 100% de captura.
Usando o Analisador Lógico.
Exemplo: Com o Clock e as saídas de um contador ligados ao analisador lógico, deseja‐se ver
sua contagem quando o sinal do clock está em transição de descida e os bit de saída Q4 e Q7 estão
em nível lógico alto. Então se configura o analisador para capturar os dados mostrar‐los quando se
satisfaz essa condição.
Para fazer a configuração do Analisador Lógico siga as instruções abaixo:
1 ‐ A primeira coisa a fazer é ajustar a resolução e a escala do display do aparelho, de acordo com a
sua necessidade.
2 ‐ O próximo passo é configurar, através das chaves a esquerda, a condição para a captura da
imagem. Em cima das chaves há um desenho que mostra a que estado do sinal se referem às
posições das chaves abaixo.
A segunda posição significa nível lógico baixo (verde);
A terceira significa transição de subida (entre o verde e o vermelho);
A quarta significa o nível lógico alto (vermelho);
A quinta significa transição de descida (depois do vermelho).
3 ‐ Agora é necessário escolher se deseja ter a visualização dos dados anteriores à condição escolhida
ou posteriores a ela. Isso se faz através de chave "Position".
4 ‐ Após as configurações serem feitas, clique no botão "Capture" e ele ficará rosa. Isso mostra que
ele está fazendo a captura de dados. Após se satisfazer a condição proposta, o analisador ainda
Exsto Tecnologia
Tutorial Proteus 27
demora algum tempo (segundos) para capturar os dados posteriores a ela (se for configurado para
isto). Quando ele terminar, o led do botão "Capture" ficará verde e os dados aparecerão na tela.
5 ‐ Os pinos B0, B1, B2 e B3 são entradas seriais, e pode‐se escolher o número em HEXA, que o sinal
digital forma. Assim, esse número se torna uma das condições para que o analisador mostre os dados
na tela.
6 ‐ O botão cursor serve para observar precisamente o tempo de um determinado ponto através do
mouse.
É um instrumento digital utilizado para realizar medidas de intervalos de tempo, freqüência
de sinal ou contagem de pulsos.
Possibilita os seguintes modos de operação:
Exsto Tecnologia
Tutorial Proteus 28
¾ Modo de tempo (segundos), como resolução de 1 micro segundo;
¾ Modo de tempo (horas, minutos, segundos), com resolução de 1 ms.
¾ Modo medidor de freqüência, com resolução de 1Hz.
¾ Modo contador, com máxima contagem de 99.999.999.
Obs1: Botão de “reset” manual facilita o uso como cronômetro.
Obs2: Habilitar os pinos de “clock” e “reset” para modo temporizador e de contagem.
Obs3: Polaridade lógica selecionável para habilitar o “clock” e os pinos de “reset”.
Descrição dos Pinos.
‐ O pino "CE" serve para habilitar ou desabilitar o Clock. Clique com o botão direito sobre o
instrumento, e aparecerá um menu. Escolha a opção "Edit Properties". Aberta a janela, selecione no
campo "Count Enable Polarity" a opção "High" para que ele seja acionado em nível lógico alto ou
"Low" para que ele seja acionado em nível lógico baixo.
‐ O pino "RST" serve para limpar o contador, retornando a contagem ao ínicio. Ele é acionado por
transição e não por nível lógico. Para mudar sua polaridade, clique com o botão direito sobre o
instrumento, e aparecerá um menu. Escolha a opção "Edit Properties". Aberta a janela, selecione no
campo "Reset Edge Polarity" a opção "Low‐High" para transição de subida ou "High‐Low" para
transição de descida.
‐ O pino "CLK" é a entrada do sinal que deseja medir, ou usar para a contagem de tempo.
Obs.: Os pinos "CE" e "RST" não são usados no modo de "Freqüência".
Trabalhando no modo de Temporizador.
Para medir intervalos de tempo:
1. Posicione o equipamento no lugar desejado do esquemático;
2. Se for conveniente, conecte fio elétrico no pino CE “Clock Enable” para que o sinal de
“clock” controle o avanço do visor de tempo. Caso não necessite de “clock” você pode
deixar o pino desconectado;
Exsto Tecnologia
Tutorial Proteus 29
3. Se for conveniente, conecte o fio elétrico no pino RST (reset) para o sinal que entrar por ele
faça o tempozirador zerar. Caso não necessite de um sinal de “reset” você pode deixar o
pino desconectado;
4. Dê um ‘duplo clique’ no equipamento fazendo aparecer a janela “Edit Component” e faça as
devidas configurações;
5. Selecione o modo de tempo desejado (segundos ou horas/mim/seg.) e a polaridade lógica
para as funções CE e RST;
6. Inicie a simulação como de costume.
Trabalhando no modo de Frequência.
Para medir frequência de um sinal digital:
1. Posicione o equipamento no lugar desejado do esquemático;
2. Conecte o fio elétrico no pino “CLK” com o sinal que deseja medir. Os pinos “CE” e “RST”
não são usados para o modo de Frequência.
3. Dê um ‘duplo clique’ para fazer as devidas configurações e selecione o modo “frequency”
no campo “Operating Mode”.
4. Inicie a simulação como de costume.
Trabalhando no modo Contador.
Para contar pulsos digitais:
1. Posicione o equipamento no lugar desejado do esquemático e conecte o fio elétrico no “CLK”
(“clock”)com o sinal a ser analisado;
2. Se necessário, conecte o pino “CE” (“clock enable”) em um fio elétrico com um sinal que
controlará a cadência da contagem. Caso não seja necessário pode‐se deixar este pino
desconectado;
3. Se necessário, conecte o pino “RST” (“reset”) em um fio elétrico com um sinal que irá zerar a
contagem do equipamento. Se não precisar pode‐se deixar este pino desconectado.
4. Dê um ‘clique duplo’ para fazer as configurações necessárias e selecione o modo “Count” no
campo “Oparating Mode”.
5. E escolha as polaridades lógicas para as funções “CE” e “RST”;
6. Inicie a simulação como de costume.
O Terminal Virtual é o terminal do Windows virtual e, portanto, nos possibilita usar o teclado
para enviar e receber dados através de comunicação serial assíncrona. Os dados seriais recebidos são
mostrados como caracteres ASCII e os transmitidos como dados seriais ASCII.
Exsto Tecnologia
Tutorial Proteus 30
Possui os recursos a seguir:
¾ Totalmente Bi‐direcional. Os dados seriais são recebidos como caracteres de
ASCII e transmitidos também em ASCII;
¾ Simples interface com dois fios para dados em serial: RXD para receber dados e
TXD para transmitir;
¾ Simples interface com fios para hardware: RTS (“Ready‐to‐Send”) e CTS (“Clear‐
to‐Send”);
¾ Dados com 7 ou 8 bits;
¾ Polaridade normal ou invertida para sinais RX/TX e RTS/CTS;
Descrição dos Pinos.
‐"RX" é o pino que recebe os dados seriais.
‐"TX" é o pino que transmite os dados seriais.
‐"CTS" é uma entrada que deve receber nível lógico alto antes que o terminal comece a
transmitir.
‐"RTS" é uma saída que sinaliza que o terminal está pronto para receber dados.
Configuração do terminal.
Para configurar o terminal, clique sobre o terminal com o botão direito, e aberto um menu,
clique em ”Edit Properties”.
‐ Em “Baud Rate” se escolhe a taxa de transmissão do sinal serial.
‐ Em “Data Bits” se escolhe se os dados devem ser de 8 ou 7 bits.
‐ Em “Parity”, se escolhe se deve haver paridade ou não, e se houver, se ele deve ser par (“Even”) ou
ímpar (“Odd”).
‐ Em “Advanced Properties”, na opção “Trace Events”, configura‐se o diagnóstico do terminal (ver em
Configuração de Diagnósticos).
‐ Em “Other Properties”, pode ser pré‐definida alguma mensagem que você deseja enviar ao seu
circuito no iniciar de uma simulação. Por exemplo:
TEXT= “Exsto Tecnologia”
Exsto Tecnologia
Tutorial Proteus 31
O terminal geralmente será ligado diretamente ao microcontrolador ou a UART, como na
figura a seguir:
No entanto, caso queira conectá‐lo a um driver, como o MAX232, terá que inverter a
polaridade dos pinos “TX” e “RX”, já o que driver tem as saídas invertidas. Para isso, clique sobre o
terminal com o botão direito, e aberto um menu, clique em ”Edit Properties”. Dentro da janela, em
“Advanced Properties”, selecione “TX/RX Polarity” e ao lado, selecione a opção “Inverted”, como na
figura a seguir:
Faça o mesmo processo se quiser inverter a polaridade dos pinos CTS e RTS também.
Durante a simulação, também há um menu de configuração da tela do terminal.
Exsto Tecnologia
Tutorial Proteus 32
‐ Através da opção “Echo Typed Characters” o terminal passa a mostrar os caracteres digitados pelo
usuário.
‐ Ativando a opção “Hex Display Mode”, o terminal mostra os dados recebidos em hexa.
ATENÇÃO: As teclas digitadas no terminal serão enviadas imediatamente por ele, não sendo
necessário digitar teclas de finalização, como por exemplo “Enter”.
O terminal somente é compatível aos códigos de controle ASCII : CR (0Dh), BS (0x08h) e BEL
(0x07h).
BEL : Emite um bip;
BS : Retorna uma coluna;
CR: Envia um retorno de carro;
Todos os outros códigos de comando são ignorados pelo terminal.
SPI é um protocolo de comunicação serial síncrona entre dois dispositivos, onde há dois
modos: o escravo e o mestre. O SPI Debugger faz a depuração dessa comunicação, podendo operar
como escravo ou mestre.
O terminal pode operar de três maneiras:
MODO ESCRAVO: Comporta‐se como um dispositivo escravo;
MODO MESTRE: Comporta‐se como um dispositivo mestre;
MODO MONITOR: Apenas reporta o que está passando pelo barramento SPI.
Descrição dos Pinos.
Exsto Tecnologia
Tutorial Proteus 33
I. DIN: Pino onde ocorre à entrada de dados;
II. DOUT: Pino onde ocorre à saída de dados;
III. SCK: É um pino bi‐direcional que é conectado para funcionar como o “clock” da sua interface
SPI. No ‘modo escravo’ funciona como uma entrada e no ‘modo mestre’ como uma saída;
IV. SS: No ‘modo escravo’ este pino deve estar ativo (nível lógico baixo) para que o terminal
responda e no ‘modo mestre’ ativo somente enquanto os dados estão sendo transmitidos
por ele;
V. TRIG: Quando ativo, coloca a próxima sequência pronta para ser transmitida.
Configuração.
Para definir em qual modo o SPI Debugger deve operar, entre no seu modo de edição e , no
campo “SPI Mode”, selecione apção apropriada: Slave para escravo e Master para Mestre. Caso ele
for o mestre, no campo “Master Clock Frequency em Hz”, escreva a freqüência em que quer que ele
opere.
Funcionamento.
1 – É onde se vê se o SPI Debugger foi ativado ou desativado, quais foram os dados recebidos e os
enviados.
2 – É onde se escreve qual dado vai ser enviado. Ele deve vir acompanhado de um símbolo que
representa qual tipo de número ele é.
‐ Números decimais devem vir acompanhados de “d”. Ex: 66d.
‐ Números hexadecimais devem vir acompanhados de “0x”, ou de “h” ou de “$”. Ex: 0XFF,
FFh ou $FF.
‐ Números binários devem vir acompanhados de “%” ou de “b”. Ex: %00001111 ou
00001111b.
3 – Esses botões servem para escolher se o dado deve ir direto para a lista de transmissão (Queue) ,
para a lista de seqüências pré definidas (Add) ou se devem ser apagados (Delete).
Exsto Tecnologia
Tutorial Proteus 34
4 – É o espaço onde as seqüências pré‐definidas ficam antes de serem mandadas para a lista de
transmissão.
5 – É o espaço onde ficam os dados para serem transmitidos.
Observe um exemplo do SPI Debugger funcionando como escravo:
No SPI Debugger, as setas cor turquesa representam os dados enviados e as azuis, as
recebidas por ele. Os círculos verdes riscados indicam a inativação do dispositivo, enquanto as não
riscadas, a ativação deles. Data_Out e Data_In são variáveis de saída e entrada do microcontrolador.
Observe que o “data_out” foi enviado do microcontrolador para o SPI Debugger e recebido com
sucesso (seu valor está circulado em vermelho em ambas as telas). O mesmo aconteceu para o dado
que foi enviado pelo SPI Debugger e recebido pelo microcontrolador pela variável “data_in” (seu
valor está circulado em azul em ambas as telas).
Modo monitor
Além de funcionar como um dos participantes da comunicação o SPI Debugger pode também
atuar como o depurador de uma comunicação alheia. Ele mostrará os dados que estão sendo
transmitidos de acordo com a sua sintaxe. Para usá‐lo dessa forma, conecte o pino “DIN” a um dos
barramentos de dados, “DOUT” ao outro barramento de dados e o “SCK” no barramento de clock.
Exsto Tecnologia
Tutorial Proteus 35
Descrição dos pinos.
I. SCL: É um pino bi‐direcional que é conectado ao fio de “clock”;
II. SDA: É um pino bi‐direcional para dados;
III. TRIG: É uma entrada que faz com que as sucessivas sequências gravadas sejam colocadas na
saída.
Configuração.
Para configurar o I2C Debugger entre no seu modo de edição.
‐ No campo “Clock Frequency in Hertz” ajusta‐se sua freqüência caso ele for o Mestre.
‐ No campo “Address Byte 1”, se o terminal estiver configurado para atuar com escravo, define‐se o
primeiro byte de endereço do dispositivo. Se este campo for deixado em branco, ou como “Default”,
ele não atuará como escravo. Obs.: Somente serão usados 7 bits para o endereço. O bit menos
significativo será usado para definir se a instrução é de leitura ou escrita. No entanto, há regras para
esse endereçamento, fazendo com que alguns endereços não possam ser usados:
0000 000 1 ‐ É um endereço que indica o ínicio da operação
0000 001 X ‐ É reservado para o endereço de CBUS
0000 010 X ‐ É reservado para um formato diferente de barramento
0000 011 X ‐ É reservado para propósitos futuros
0000 1XX X ‐ É o código de mestre “Hs‐mode”
1111 1XX X ‐ É reservado para propósitos futuros 1111 0XX
X – É reservado para o endereçamento de 10 bits
‐ No campo “ Address Byte 2”, se o terminal estiver configurado para atuar com escravo e se quiser
usar endereçamento de 10 bits, define‐se o segundo byte do endereço. Se este campo for deixado
em branco, o endereçamento de 7 bits será adotado.
‐ A opção “Stop on buffer empty?” indica se a simulação deve ser parada quando a saída do buffer
está vazia e um byte é requisitado a sair.
Funcionamento.
Exsto Tecnologia
Tutorial Proteus 36
1 – É onde se vê se o I2C Debugger foi ativado ou desativado, quais foram os dados recebidos e
enviados.
2 – É onde se escreve qual dado vai ser enviado. Ele deve vir acompanhado de um símbolo que
representa qual tipo de número ele é.
‐ Números decimais devem vir acompanhados de “d”. Ex: 66d.
‐ Números hexadecimais devem vir acompanhados de “0x”, ou de “h” ou
de “$”. Ex: 0XFF, FFh ou $FF.
‐ Números binários devem vir acompanhados de “%” ou de “b”. Ex:
%00001111 ou 00001111b.
3 – Esses botões servem para escolher se o dado deve ir direto para a lista de transmissão (Queue) ,
para a lista de sequências pré definidas (Add) ou se devem ser apagados (Delete).
4 – É o espaço onde as seqüências pré‐definidas ficam antes de serem mandadas para a lista de
transmissão.
5 – É o espaço onde ficam os dados para serem transmitidos.
Sintaxe do I2C Debugger.
Há algumas sintaxes usadas pelo I2C Debugger para indicar a condição do seu barramento de
entrada e saída de dados.
‐ S: Indica uma condição de “Start”
‐Sr: Indica uma condição de “Restart”
‐P: Indica uma condição de “Stop”
‐ N: Indica uma condição de “Nack”
‐A: Indica uma condição de “Ack”
‐L: Indica que a arbitrariedade foi perdida
‐*: Indica um dado parcial
‐ ?: Indica que níveis lógicos inválidos foram detectados
Escrita & Leitura.
Exsto Tecnologia
Tutorial Proteus 37
Para realizar a leitura deve‐se primeiramente mandar um comando para o I2C Debugger que
indica o endereço do dispositivo (escolhido na sua configuração), definindo no último bit como uma
ação de leitura (“1”). Por exemplo, se o endereço for 0x30h, a instrução enviada ao I2C Debugger
deve ser “0x31h”. Em seguida, como o Debugger está sob o seu controle, você deve enviar ao
microcontrolador o dado a ser lido. Observe o exemplo abaixo:
As setas azuis indicam os dados que foram recebidos do microcontrolador, enquanto as rosas
indicam os que foram enviados a ele. A primeira instrução foi de leitura. Observe a troca de
comandos e dados entre o microcontrolador e o I2C Debugger.
‐ No “CPU Variables” a variável “endereco_leitura” (0x41) e o comando de leitura
(41) no I2C Debugger, circulados em vermelho.
‐ O dado enviado pelo Debugger (CC) e seu recebimento na variável
“data_in”(0xcCC), ambos circulados em azul.
‐ No “CPU Variables” a variável “endereco_escrita” (0x40) e o comando de escrita
(40) no I2C Debugger, circulados em verde.
‐ No “CPU Variables” a variável “data_out” (0x00) e o seu recebimento no I2C
Debugger (00), circulados em cinza.
Obs.: A cada operação de leitura ou escrita, deve‐se usar um comando de “Start” e “Stop.”
Depuração de uma comunicação alheia.
Exsto Tecnologia
Tutorial Proteus 38
Além de funcionar como um dos participantes da comunicação o I2C Debugger pode também
atuar como o depurador de uma comunicação alheia. Ele mostrará os dados que estão sendo
transmitidos de acordo com a sua sintaxe. Para usá‐lo dessa forma, conecte o pino “SDA” ao
barramento de dados e o “SCK” ao barramento de clock.
Possui os seguintes recursos:
¾ Quatro tipos de formas de onda: Seno, Triângulo, Dente de Serra e Quadrada;
¾ Frequência de saída de 0 até 12MHz dividida em 8 faixas;
¾ Amplitude de saída de 0 até 12V dividida em 4 faixas;
¾ Entradas para AM e FM.
Usando o Painel de Controle.
Exsto Tecnologia
Tutorial Proteus 39
Trabalhando com os botões vermelhos ajusta‐se a amplitude do sinal que está sendo gerado,
com os azuis a freqüência.
_Controle da Freqüência.
A chave azul "Range" serve para escolher a faixa da grandeza de freqüência em que se deseja
trabalhar. Há três faixas de grandezas que podem ser escolhidas: a de Hertz, KilloHertz, a de
MegaHertz. E dentro de cada uma dessas faixas é possível escolher em qual unidade se quer
trabalhar: dezenas, unidades ou decimais. A chave azul "Centre" serve para escolher com mais
precisão a faixa de freqüência. Ela depende diretamente da chave "Range", pois seu valor é
multiplicado pelo que foi escolhido na primeira. Por exemplo: Se a faixa de grandeza escolhida na
faixa "Range" foi de KilloHertz, sua unidade for dezena e o valor escolhido na chave "Centre" for de 9,
a freqüência gerada será 90KHz.
_Controle da Amplitude.
A chave vermelha "Range" serve para escolher a faixa da grandeza de amplitude em que se
deseja trabalhar. Há duas faixas de grandezas que podem ser escolhidas: a de Volts e de MilliVolts. E
dentro de cada uma dessas faixas é possível escolher em qual unidade se quer trabalhar: dezenas ou
unidades (no caso de MilliVolts) e unidades ou decimais (no caso de Volts). A chave vermelha "Level"
serve para escolher com mais precisão a faixa de amplitude. Ela depende diretamente da chave
"Range", pois seu valor é multiplicado pelo que foi escolhido na primeira. Por exemplo: Se a faixa de
grandeza escolhida na faixa "Range" foi de MilliVolts, sua unidade for dezena e o valor escolhido na
chave "Level" for de 7, a amplitude do sinal será 70mV.
Atenção: Esta amplitude é de pico a pico.
Pode‐se ou não usar, dependendo de seu interesse, as entradas de AM e FM. No caso de não
querer usar, basta deixá‐las desconectadas. Mas se for usá‐las, o sinal produzido pelo equipamento
ora descrito será o sinal Modulante e, a Portadora será o sinal que for introduzido na entrada AM ou
FM.
Com o botão “Waveform” escolhe‐se o formato da onda que será produzida pelo gerador.
Com o botão “Polarity” escolhe‐se se o sinal deve ter valores positivos e negativos (Bi) ou
somente positivos (Uni)
É o equivalente digital do “Gerador de Sinal”, ou seja, gera sinais digitais. Você é quem define
os valores (formato) do sinal que será gerado.
Exsto Tecnologia
Tutorial Proteus 40
Permite simulações de 8 bits até 1000 bytes e possui as seguintes características principais:
¾ Funciona no modo de gráfico básico ou interativo;
¾ Modos de “Clock” e “Trigger” interno e externo;
¾ Botões de ajuste fino para “Clock” e “Trigger”;
¾ Visor em modo hexadecimal ou decimal;
¾ Entrada direta de valores específicos para maior exatidão;
¾ Carrega e salva relatórios da simulação;
¾ Configuração manual do período do sinal;
¾ O controle “Step” permite que você faça com que o andamento da simulação
aconteça passo a passo;
¾ O visor do equipamento permite que você veja exatamente onde esta na
grade;
¾ O bloco de edição com grades torna mais fácil a configuração do sinal.
Para usá‐lo, insira‐o no esquemático e comece a simulação. Aberta a janela de exibição do
gerador, em “Clock” escolha se este deve ser interno ou acionado com transição de subida ou
descida, se for externo. Se for interno, ajuste nas chaves azuis o valor da sua freqüência. A chave
"Clock" serve para escolher a faixa da grandeza em que se deseja trabalhar (0.01Hz 0.1Hz, 1Hz, 10Hz,
etc.). A "Vernier" serve para escolher com mais precisão dentro desta faixa. Ela depende
diretamente da chave "Clock", pois seu valor é multiplicado pelo que foi escolhido na primeira. Por
exemplo: Se a faixa de grandeza escolhida na faixa "Clock" foi de 10k e o valor escolhido na chave
"Vernier" for de 9, a freqüência gerada será 90KHz.
Em “Trigger”, escolha se o sinal de reinicialização da sua seqüência de valores deve ser
interno ou externo. Se externo, deve‐se escolher se o acionamento será por transição de subida ou
descida, e se será síncrono ou assíncrono ao sinal de clock. Se for interno, ajuste nas chaves amarelas
o valor da sua freqüência. A chave "Trigger" serve para escolher a faixa da grandeza de em que se
deseja trabalhar (0.1Hz, 1Hz, 10Hz, etc.). A "Vernier" serve para escolher com mais precisão dentro
desta faixa. Ela depende diretamente da chave "Trigger", pois seu valor é multiplicado pelo que foi
escolhido na primeira.
Por exemplo: Se a faixa de grandeza escolhida na primeira chave foi de 1k e o valor escolhido
na segunda for de 9, a freqüência gerada será 9KHz.
Exsto Tecnologia
Tutorial Proteus 41
Obs: Para escolher com mais precisão a freqüência do clock e da reinicialização, entre no modo de
edição do instrumento e nos campos “Clock Rate” e “Reset Rate” escreva a freqüência desejada.
Cada coluna representa um valor na seqüência e cada quadradinho representa um bit. Para
definir cada valor, clique sobre eles com o botão esquerdo para deixá‐los em nível lógico alto, ou os
deixe em branco, para que fiquem em nível lógico baixo. É possível também defini‐los alterando os
números em baixo das colunas. Para isso, clique sobre eles com o botão esquerdo, escreva o
número e aperte a tecla “Enter”. Atenção: Estes números estão inicialmente em “Hexa”. Para mudá‐
los para decimal, clique com o botão direito sobre o gráfico e escolha “Decimal Display”.
Para definir o fim da seqüência, clique com o botão esquerdo sobre a coluna desejada, mas
acima do gráfico. Atenção: a seqüência começa na extremidade direita. Para avançar a seqüência
clock por clock, aperte o botão “Pause” (DO Proteus) e depois o botão “STEP”. Observe na figura a
seguir o gráfico mostrando as saídas do Pattern Generator:
Descrição dos Pinos.
‐ “CLKOUT”: Quando o Pattern Generator está configurado para clock interno, este pino serve como
uma saída deste, caso quiser usá‐lo para outros fins. Para utilizar essa função é necessário entrar no
Exsto Tecnologia
Tutorial Proteus 42
modo de edição do Pattern, e no campo “Clock Out Enabled in Interna Mode”, selecionar a opção
“Yes”.
‐ “CASCADE”: Este pino de saída sinaliza o primeiro clock após a inicialização da simulação e também
o primeiro clock após uma reinicialização.
‐ “TRIG”: Este pino é a entrada do sinal de reinicialização da sequência, caso ele for configurado para
ser externo.
‐ “CLKIN”: Este pino é a entrada do sinal de clock, caso ele for configurado ara ser externo.
‐ “Hold”: Este pino, quando acionado (nível lógico alto), pára o “Pattern Generator”, o qual
permanece parado até que este pino seja desacionado
‐ “OE”: Este pino habilita as saídas do Pattern quando acionado com nível lógico alto. No entanto, se
ele for deixado em aberto, o Proteus considera que ele está acionado, como na figura acima.
Permite medições de tensão contínua.
Para ajustar a faixa de valores de tensão que necessita ver no seu display, clique com o botão
direito, e depois com o botão esquerdo para editar esses dados. Então no campo "Display Range",
escolha se quer observar o valor da tensão medida em volts, millivolts ou microvolts.
Faz medições de corrente contínua.
Para ajustar a faixa de valores de corrente que necessita ver no seu display, clique com o
botão direito, e depois com o botão esquerdo para editar esses dados. Então no campo "Display
Range", escolha se quer observar o valor da corrente medida em amperes, milliamperes ou
microamperes.
Permite medições de tensão alternada.
Exsto Tecnologia
Tutorial Proteus 43
Para ajustar a faixa de valores de tensão que necessita ver no seu display, clique com o botão
direito, e depois com o botão esquerdo para editar esses dados. Então no campo "Display Range",
escolha se quer observar o valor da tensão medida em volts, millivolts ou microvolts.
Faz medições de corrente alternada.
Para ajustar a faixa de valores de corrente que necessita ver no seu display, clique com o
botão direito, e depois com o botão esquerdo para editar esses dados. Então no campo "Display
Range", escolha se quer observar o valor da corrente medida em amperes, milliamperes ou
microamperes.
13 Terminais
Encontram‐se na “Barra Seletora de ferramentas” no ícone denominado “Terminals Mode”
.
São usados para interligar um terminal ao outro sem a necessidade de uni‐los fisicamente
através de fios elétricos. Para isto, após ‘clicar’ no ícone descrito acima, bastará escolhe‐los dentre
as opções de terminais que serão listados no “Seletor de Componentes”. É necessário escolher dois
deles e nomeá‐los com o mesmo nome para que o Proteus entenda que um é continuação do
outro.
Veja exemplo abaixo:
O circuito mostrado acima (sem o uso de terminais) equivale ao circuito mostrado abaixo
(com o uso de terminais):
Exsto Tecnologia
Tutorial Proteus 44
Perceba que ambos os terminais estão nomeados com o mesmo nome “1”.
Porém, o exemplo acima é meramente didático, uma vez que não se vê vantagem no que foi
feito com o circuito. O uso de terminais se torna vantajoso para os casos em que nosso esquemático
é grande e o número de fios elétricos também. Nestes casos, fazer uso dos vários tipos de terminais
possibilitará uma “Janela de edição” mais agradável e limpa de se trabalhar, pois facilita a ligação dos
componentes afastados uns dos outros, evitando o congestionamento dos fios. Os terminais são
usados também para se fazer os blocos de subcircuitos, que será abordado no próximo capítulo.
14 Circuitos e Subcircuitos
O Proteus permite a criação do que podemos chamar de ‘circuito pai’ e ‘circuito filho’. O
primeiro é seu programa principal e o segundo é um subcircuito localizado dentro de um bloco.
Para trabalharmos com esse recurso acesse, com um ‘clique’ no ícone “Subcircuit Mode”
na “Barra Seletora de ferramentas”. Feito isso você deve ir na “Janela de Edição” e com um primeiro
‘clique’ definir o começo do bloco e, arrastando o “mouse” até outro local, dar um segundo ‘clique’
demarcando o ponto final do bloco. Com isso definimos o espaço que ele irá ocupar no ‘circuito pai’.
Ver processo ilustrado abaixo:
A figura mostrada a esquerda mostra o momento de escolha do tamanho do bloco (situação
posterior ao primeiro ‘clique’ do “mouse” conforme descrito anteriormente). Já a direita o mesmo já
está definido e fixado na “Janela de Edição” (situação posterior ao segundo ‘clique’ do “mouse”).
Neste momento você já pode começar a trabalhar com ‘circuito filho’. Para acessá‐lo, ‘clique’
com o botão direito do “mouse” sobre o bloco e, na lista que irá aparecer, e vá à opção “Goto Child
Sheet”, conforme mostrado abaixo abaixo:
Exsto Tecnologia
Tutorial Proteus 45
Pronto, após isso uma nova “Janela de Edição” aparecerá, a qual se trata de sua área
disponível do ‘circuito filho’. Esta área conterá o esquemático que ficará ‘dentro’ do seu bloco.
Para voltar ao ‘circuito pai’, novamente com o botão direito, ‘clique’ em um lugar qualquer
da “Janela de Edição” (do ‘circuito filho’) e vá à opção “Exit to Parent Sheet”.
Repita os processos acima sempre que desejar, conseguindo trabalhar com ambos os
circuitos alternadamente.
Lembre‐se que você pode criar quantos subcircuitos julgar necessário.
Com o objetivo de fazer de seu bloco um novo componente, tendo suas funções definidas no
seu circuito próprio (‘circuito filho’), você deve adicionar a ele pinos de entrada, saída, etc. Para isso,
‘clique’ com o botão direito do “mouse” sobre o bloco e vá em “Add Module Port” e em seguida
escolha o tipo de pino que deseja. Por exemplo, se quiser um pino de entrada vá em “INPUT” e se
quiser um de saída vá em “OUTPUT”. Feito isso, escolha um ponto (nos canto do bloco) onde o pino
escolhido será colocado. A figura a seguir mostra um bloco pronto com seus devidos pinos já
colocados:
A ligação entre o ‘circuito pai’ e o ‘circuito filho’ se dá por meio de terminais (capítulo
anterior), uma vez que não é possível estabelecer ligações entre os dois apenas por fios elétricos. De
maneira que os pinos de entrada e saída de seu bloco devem conter os nomes dos respectivos
terminais, do ‘circuito filho’, que serão usados para realizar a ligação.
Perceba que isso possibilita não só um melhor aproveitamento do espaço que será ocupado
pelo seu esquemático como também a criação de novos componentes.
15 Figuras Gráficas 2D
Exsto Tecnologia
Tutorial Proteus 46
O Proteus possui as seguintes formas de figuras gráficas 2D: linhas, caixas, círculos, arcos,
textos e símbolos. Eles são usados para criação de símbolos e componentes.
Seguem os procedimentos para inserir os vários tipos de figuras gráficas 2D.
Para inserir uma linha:
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Line”.
2 ‐ Selecione o estilo gráfico desejado a partir do menu Object Selector.
3 – Clique no esquemático com o botão esquerdo para marcar o começo da linha e arraste o mouse
até onde queira marcar o fim da linha, clicando novamente com o botão esquerdo para terminar a
inserção.
Para inserir uma caixa:
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Box”.
2 ‐ Selecione o estilo gráfico desejado a partir do menu Object Selector.
3 – Clique no esquemático com o botão esquerdo para marcar o começo da caixa e arraste o mouse
diagonalmente até atingir o tamanho desejado, clicando novamente com o botão esquerdo para
terminar a inserção.
Para inserir um círculo:
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Circle”.
2 ‐ Selecione o estilo gráfico desejado a partir do menu Object Selector.
3 – Clique no esquemático com o botão esquerdo para marcar o centro do círculo e movimente o
mouse para qualquer lado até ele atingir a dimensão desejada.
Para inserir um arco:
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Arc”.
2 ‐ Selecione o estilo gráfico desejado a partir do menu Object Selector.
3 – Clique no esquemático com o botão esquerdo para marcar o pinto inicial do arco. Considerando
este arco como um quadrante de uma circunferência, ou seja, não ultrapassa um ângulo de 90°,
arraste o mouse diagonalmente até o arco atingir a dimensão desejada.
Observe que dependendo da direção que você move ou mouse ele assume um quadrante
diferente da circunferência.
Exsto Tecnologia
Tutorial Proteus 47
4 – Para editar a forma de um arco, entre no modo de seleção e clique sobre arco com o botão
esquerdo do mouse. Após aparecer dois quadradinhos amarelos, que definem a curva do arco, clique
sobre eles e arraste o mouse de acordo com a forma desejada.
Para inserir um caminho:
Obs.: Este caminho deve sempre definir uma figura, ou seja, deve fazer um caminho fechado. Esta
figura, entretanto, pode ter inúmeros lados e curvas, ou seja, é uma figura livre.
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Path”.
2 ‐ Selecione o estilo gráfico desejado a partir do menu Object Selector.
3 ‐ Clique no esquemático com o botão esquerdo para marcar o começo de um dos lados da figura e
arraste o mouse até onde queira marcar o seu fim clicando novamente com o botão esquerdo. Então
arraste novamente o mouse para formar o segundo lado e assim sucessivamente para quantos a
figura tiver.
A figura deve ser fechada, ligando o final do último lado ao ponto inicial do primeiro.
Durante o “desenho” da figura, os lados podem ser desfeitos a partir tecla “Back Space” do
teclado.
Para definir um lado curvilíneo, clique com o botão esquerdo do mouse para marcar o
começo do lado e arraste‐o mantendo a tecla “CTRL” pressionada até onde queira marcar o seu fim,
clicando novamente com o botão esquerdo. A edição de sua forma é semelhante à de um arco.
Com a ferramenta “Path”, portanto, é possível criar figuras de inúmeros lados, incluindo
lados curvilíneos, como a seguinte:
Exsto Tecnologia
Tutorial Proteus 48
Para inserir um texto:
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Text”.
2 ‐ Selecione o estilo gráfico desejado a partir do menu Object Selector.
3 ‐ Clique no esquemático parar definir o lugar do texto e uma janela será aberta.
4 ‐ Em “String” escreva o seu texto.
5 ‐ Em “Font Atribbutes”, define‐se o fonte da letra (“Fonte Face”) o seu tamanho (“Weight”).
6 – Desmarcando a opção “Follow Global?” é possível alterar a cor do texto.
7 – Clique em “OK” e o texto será inserido.
Para inserir um símbolo:
1 ‐ Vá à barra de ferramentas do lado esquerdo da tela e selecione o ícone “Text”.
2 ‐ Selecione o símbolo desejado a partir do menu Object Selector. Se o símbolo desejado não estiver
disponível no Objector Selector, você deve procurá‐lo na biblioteca de símbolos, através do botão
“P”.
16 Criação de componentes
A criação de componentes inclui a parte gráfica e definição de suas propriedades, que devem
estar de acordo com os modelos de simulação fornecidos pela biblioteca do Proteus. Os tipos de
modelos fornecidos pelo Proteus são os seguintes:
Modelos Primitivos (“PRIMITIVE”)
Esses são os modelos de dispositivos como resistores, capacitores, diodos, transistores,
portas lógicas, contadores, “latches”, memórias e outras.
Esses modelos não exigem nenhum um arquivo extra para serem simulados, e são
identificados como tais pela presença da propriedade “PRIMITIVE”. Há, entretanto, os primitivos
digitais e analógicos, para os quais, há um arquivo .LIB na pasta “Library” do Proteus,
respectivamente DSIMMDLS e ASIMMDLS. Dentro deles há uma tabela contendo todos os
Exsto Tecnologia
Tutorial Proteus 49
parâmetros padrão de cada dispositivo analógico e digital, como propriedades e nomes dos pinos.
Portanto, quando esse modelo for especificado em um componente, é necessário não só especificar
se ele é digital ou analógico, mas também o nome do dispositivo, como no exemplo a seguir:
PRIMITIVE = DIGITAL, AND_2
Obs.: Para as portas lógicas o número especificado no nome do componente significa o número de
entradas da porta.
Modelos Esquemáticos (“MODFILE”)
Quando um dispositivo mais complexo é utilizado, é comum desenhar um circuito com
dispositivos de modelos primitivos para simular o seu funcionamento.
Os modelos esquemáticos são especificados através da propriedade MODFILE, especificando
qual modelo depois, como o exemplo a seguir, do amp‐op 745:
MODFILE=OA_BIP
Esses modelos são criados desenhando‐os no esquemático do Proteus e depois os
compilando com o “Model Compilor” para gerar um arquivo MDF.
Modelos VSM (“MODDLL”)
Os modelos VSM são na verdade modelos primitivos que são implementados em arquivos
externos DLLs. Eles fornecem meios de simular as funções do dispositivo através do uso de
linguagens de programação.
Um exemplo é o do 8051, que possui as seguintes propriedades:
PRIMITIVE=DIGITAL,8051
MODDLL=MCS8051
Obs.: Um modelo DLL pode implementar mais de um tipo primitivo de componente, como é o
exemplo do MCS8051, que implementa vários dispositivos da família 8051.
Modelos SPICE
Os modelos SPICE podem ser especificados ou pela “SUBCKT” (subcategoria) ou pelo próprio
modelo. Os modelos “SUBCKT” serão especificados através da propriedade PRIMITIVE e da
SPICEMODEL, como o exemplo a seguir de um transistor:
PRIMITIVE=ANALOG,NPN
SPICEMODEL=BC108
OBS: NPN é a SUBCKT.
Exsto Tecnologia
Tutorial Proteus 50
O modelo pode estar guardado em um arquivo ASCII ou em uma Biblioteca de modelos
SPICE. O nome desses arquivos são especificados pela propriedade “SPICEFILE” ou “SPICELIB”, como
os exemplos a seguir:
SPICEFILE=SPICEMOD.LIB
OU
SPICELIB=NATSEMI
A SPICELIB fornece o nome do modelo SPICE dentro da biblioteca.
_ Construção do Corpo
As ferramentas de construção gráfica do componente estão no menu esquerdo da tela. Para
criar o corpo do componente, escolha um dos modos Box, Circle ou Path, de acordo com a forma do
componente que deseja criar, e, em “Object Selector” escolha a opção “Component”, como na
figura a seguir:
Em casos de componentes mais complexos em termos de desenho gráfico, como um
transistor, por exemplo, talvez seja necessário usar outras ferramentas gráficas para complementar o
corpo.
Obs.: Leia sobre desenhos gráficos 2D para aprender como desenhar com as ferramentas fornecidas
pelo Proteus.
É interessante também definir o centro do componente. Para fazer isso, clique sobre o botão
“Marker”, na barra de ferramentas do lado esquerdo da tela, e depois sobre o centro do
componente.
No nosso exemplo, usamos o modo “Path” para criar uma “Porta E”.
Exsto Tecnologia
Tutorial Proteus 51
_Pinagem
Para inserir um pino no seu componente, vá a barra de ferramentas do lado esquerdo da
tela e clique no botão “Device Pins Mode” e escolha no “Object Selector”, o tipo de pino que deseja.
Logo após, clique na superfície lateral do corpo onde deseja inserir o pino, sempre com a sua
extremidade “x” para fora, como na figura a seguir:
É necessário então, dar os nomes a cada um dos pinos. Para isso clique sobre eles com o
botão direito e, aberta uma janela, no campo “Pin Name”, coloque o nome do pino, que deve ser
correspondente ao nome do pino definido pelo modelo. No caso do nosso exemplo, a Porta E, o
nome desses pinos é definido pelo arquivo DSIMMDLS (já que é um modelo primitivo), que os
identifica como “D1”, “D0” e “Q”:
$PINDEFAULT D0
$PINDEFAULT D1
$PINDEFAULT Q
No campo “Pin Number” coloque o número do pino corresponde, no caso de CI’s.
Em “Electrical Type” selecione o tipo de pino que ele é.
Exsto Tecnologia
Tutorial Proteus 52
Repita o processo para cada um dos pinos.
Obs.: Para nomear pinos barrados coloque um cifrão ('$') antes e depois do nome, como por
exemplo: $WR$
Se dois ou mais pinos receberem o mesmo nome, será considerado que eles estão
interconectados.
_ Definição de Propriedades
Depois de construir o componente fisicamente, o passo final é definir as suas propriedades e
inseri‐lo à biblioteca do usuário. Isso se faz através do comando “Make Device...”
Primeiramente, selecione o desenho de seu componente, incluindo todos os pinos. Depois,
vá a barra de ferramentas superior da tela e, em “Library”, clique em “Make Device...”.
Será, então, aberta uma janela, no campo “Device Name”, coloque o nome que deseja dar ao
seu componente. Em “Reference Prefixe”, coloque o seu prefixo que deve ser dado a ele toda vez
que ele for adicionado ao esquemático.
Em “Active Components Properties” definem‐se os símbolos presentes na animação de um
componente ativo, como os leds, o potenciômetro, etc. Esses símbolos, entretanto, devem estar na
biblioteca de símbolos do Proteus. Observe, por exemplo, como seria se fosse na criação de um
potenciômetro. Existem, na biblioteca do Proteus, símbolos referentes ao potenciômetro com o
nome de POT_(NÚMERO), onde NÚMERO se refere ao estado do pot. Abaixo estão os símbolos na
biblioteca:
Exsto Tecnologia
Tutorial Proteus 53
Em “Symbol Name Stem” está o nome dos símbolos do potenciômetro em geral (sem o
número). E em “No. Of States” o número de símbolos referentes aos estados do potenciômetro.
A opção “Link to DLL?” é demarcada para os componentes cujos arquivos .DLL é que
executam a sua animação, ao invés de símbolos. Entretanto, estes são componentes mais complexos,
como o LCD.
Voltando ao nosso exemplo da PORTA E, clique no botão “Next”.
Na janela “Packagings”, é definido o pacote para o desenho PCB, que, para simulação não é
importante. Portanto, não entraremos em detalhes. Clique em “Next”.
É na janela “Component Properties & Definitions” é que se definem as suas propriedades,
como o modelo do componente ou outros parâmetros.
Primeiramente, todos os componentes que irão ser simulados devem ter um modelo de
simulação ou mais, que pode ser PRIMITIVE, MODFILE, MODDLL, SPICEMODEL, SPICEFILE ou
SPICELIB. Clique em “New” para adicioná‐lo e clique, no menu aberto, na sua respectiva opção.
Exsto Tecnologia
Tutorial Proteus 54
Logo em seguida, defina em “Default Value”, o nome do arquivo do modelo.
Obs.: em alguns modelos que implementam vários componentes ao mesmo tempo, como é
o caso do PRIMITIVE, é necessário especificar qual é o componente. Observe o caso do nosso
exemplo:
Podem ser definidas também funcionalidades que são disponibilizadas pelos modelos.
Exsto Tecnologia
Tutorial Proteus 55
Depois de definir todas as propriedades, clique em “Next”.
Na janela “Device DataSheet & Help File”, podem ser anexados arquivos de Datasheet do
componente e arquivos de ajuda para o componente no Proteus. Clique em “Next”.
Aberta uma nova janela “Indexing and Library Selection”, no campo “Device Category”
escolha a categoria na qual o seu componente se encaixa. Faça o mesmo para subcategoria no
“Device Sub‐Category”. Em “Device Manufacturers”, escolha o nome do fabricante, se houver. E em
“Device Description”, escreva a sua descrição. Observe o caso do nosso exemplo:
Clique em “OK” e seu componente será criado.
_Criação de Teclados
Embora seja mais fácil alterar um teclado já existente do que criá‐lo do zero, forneceremos
abaixo todos os passos para criar um. Colocamo‐lo em um item separado da Criação de
componentes, porque seu funcionamento depende totalmente da sua parte gráfica, enquanto os
outros, não.
1º passo: Selecione a opção “Box” das ferramentas de desenho 2D Graphics, posicione ou
mouse na origem da folha do Proteus, e arraste o mouse diagonalmente para baixo para formar o
corpo do teclado, como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 56
Obs.: O posicionamento no centro da folha serve para facilitar na hora de definir a posição dos
botões como propriedades do teclado.
2º passo: Agora posicione o “Origin” para definir o ponto [0,0] do componente, que deve ser
colocado na extremidade superior do lado esquerdo do teclado (em cima do marco de centro da
folha), como na figura a seguir:
Esse “Origin” será considerado pelo modelo do teclado como origem do teclado para
entender a posição dos botões.
3º passo: Insira outro quadrado para representar um botão do teclado (também através do
modo “Box” ou “Circle”), e observe ao fazer isto, o comprimento e a largura mostrados no canto
inferior da tela, como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 57
Essas serão medidas necessárias na definição de propriedades do componente.
Obs.: No caso de círculo, observe o “Diameter”, ou seja, o seu diâmetro.
4º passo: Copie os botões um a um no teclado:
Obs.: Os botões não precisam ser todos iguais, nem todos somente quadrados ou círculos, podem
ser misturados, mas devem obedecer as regras de Linha x Coluna que veremos no item abaixo.
5º passo: Ao posicionar os pinos das linhas, verifique se ele está no centro dos lados verticais
dos botões, traçando uma linha sobre o pino, como na figura a seguir:
Repita o mesmo procedimento para as outras linhas.
6º Passo: Ao posicionar os pinos das colunas, verifique se ele está no centro dos lados
horizontais dos botões, traçando uma linha sobre o pino, como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 58
Repita o mesmo procedimento para as outras colunas.
7º passo: Nomeie os pinos das linhas e das colunas.
As linhas devem ser nomeadas sempre com letras alfabéticas e as colunas com números,
como na figura a seguir:
8º passo: Para facilitar a denominação de propriedades, anote as medidas de coordenada X e
Y do ponto central de cada botão em relação ao ponto de origem do teclado. Essas medidas são
importantes porque elas determinam o encontro de duas linhas imaginárias correspondentes aos
pinos da coluna e da linha, como representa a figura a seguir:
Exsto Tecnologia
Tutorial Proteus 59
Esta linha imaginária nos permite nomear os botões de acordo com o nome dos pinos de sua
respectiva linha e coluna. Por exemplo, o botão da segunda linha e da terceira coluna é o “B3”. Essa
identificação dos botões é usada na definição de propriedades do teclado.
Para descobrir essas medidas, selecione o modo “Line” entre as ferramentas de desenho “2D
graphics” e clique sobre o ponto central do botão (encontro entre essas duas linhas imaginárias).
Observe as medidas do “P1” no canto inferior da tela, como na figura a seguir:
Repita esse processo para todos os botões e anote esses dois valores de cada um deles.
9º passo: Coloque agora os respectivos caracteres sobre cada botão, através da ferramenta
“Text” do “2D graphics”, como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 60
10º passo: Selecione o desenho do teclado, incluindo todos os pinos. Depois, vá a barra de
ferramentas superior da tela e, em “Library”, clique em “Make Device...”.
Será, então, aberta uma janela. No campo “Device Name”, coloque o nome que deseja dar
ao seu teclado. Em “Reference Prefixe”, coloque o seu prefixo que deve ser dado a ele toda vez que
ele for adicionado ao esquemático.
Em “Active Component Properties”, no campo “Symbol Name Stem”, coloque o nome do
arquivo modelo DLL do teclado, que é “KEYPAD”. Selecione a opção “Link to DDL?” e clique “Next”.
Exsto Tecnologia
Tutorial Proteus 61
Na janela “Packagings”, é definido o pacote para o desenho PCB, que, para simulação não é
importante. Portanto, não entraremos em detalhes. Clique em “Next”.
É na janela “Component Properties & Definitions” é que se definem as suas propriedades do
teclado.
Clique em “New” para adicionar o modelo PRIMITIVE do teclado e em seu “Default Value”,
escreva “DIGITAL”.
Clique novamente em “New” para adicionar o modelo MODDLL do teclado e em seu
“Default Value”, escreva “KEYPAD”.
Exsto Tecnologia
Tutorial Proteus 62
Agora, serão adicionados os parâmetros de cada botão. Clique em “New” para adicionar um
“Blank Item”. Em “Property Definition”, no campo “Name”, coloque o nome do primeiro botão, de
acordo com os nomes dos pinos de linha e coluna correspondentes. Isso foi explicado no 5º passo.
Em “Default Value” coloca‐se os dados do botão em uma determinada sequência.
Para os botões quadrados:
SQUARE, valor da coordenada X, valor da coordenada Y, Comprimento/Largura
Para os botões retângulos:
OBLONG, valor da coordenada X, valor da coordenada Y, Comprimento, Largura
Para os botões circulares:
ROUND, valor da coordenada X, valor da coordenada Y, Diâmetro
Obs.: Como encontrar os valores da coordenada X e Y e do comprimento e da largura (diâmetro no
caso de círculos) foi explicado nos 6º e no 2º passos, respectivamente.
Repita esse processo para todos os botões e clique em “Next”.
Exsto Tecnologia
Tutorial Proteus 63
Na janela “Device DataSheet & Help File”, podem ser anexados arquivos de Datasheet do
componente e arquivos de ajuda para o componente no Proteus. Clique em “Next”.
Aberta uma nova janela “Indexing and Library Selection”, no campo “Device Category”
escolha a categoria na qual o seu teclado se encaixa. Faça o mesmo para subcategoria no “Device
Sub‐Category”. E em “Device Description”, escreva a sua descrição.
Clique em “OK” e seu teclado estará criado!
Exsto Tecnologia
Tutorial Proteus 64
Os pinos de alimentação estão omissos, pois o programa os alimenta automaticamente.
Obs: Veja mais detalhes sobre essa especificação de freqüência no subitem “Propriedades” dos itens
PIC16F877, PIC18F4550 e 80C51.
Exsto Tecnologia
Tutorial Proteus 65
O Proteus pode depurar códigos fonte, mas, para isto, o formato do arquivo de programa
carregado no microcontrolador deve estar contido na lista de formatos de arquivo que o Proteus
consegue simular, que segue abaixo:
COFF; UBROF; OMF51; BAS;
ELF/DWARF: É um tipo de arquivo recomendado para usar no Proteus e por enquanto, serve
apenas para AVR e ARM;
SDI: É um formato que somente é aplicável para programas escritos em ‘Assembler’;
COD: Não é recomendável, pois não é possível simular passo a passo através do código fonte
e ver o valor das variáveis do programa;
Obs.: Verifique nos itens PIC16F877, PIC18F4550 e 80C51, com quais arquivos que eles são
compatíveis.
Para gravar o seu programa no microcontrolador, clique com o botão direito sobre ele, e
após aparecer um menu, escolha a opção “Edit Component”. No campo “Program File”, procure o
arquivo de depuração gerado pelo seu compilador ( verifique os formatos de arquivos que o Proteus
pode depurar no item anterior).
ATENÇÃO: Quando carregado o arquivo ‘. HEX’ não é possível fazer a depuração. Isso ocorre
porque o Proteus necessita de mais informações do que este arquivo pode fornecer.
17.2 PIC 16
17.2.1 Propriedades
Exsto Tecnologia
Tutorial Proteus 66
A família do PIC16 possui uma série propriedades que podem ser especificadas pelo usuário
na sua janela de configuração.
Seguem abaixo as características de cada uma:
‐ “Program File”: Essa propriedade especifica o nome do programa que será carregado no modelo.
Esse arquivo pode ser em Intel Hex (.HEX), IAR UBROF (.D39), Byte Craft COD (.COD), Microchip
Compatible COF (*.COF) ou Crownhill Proton Plus (*.BAS).
‐ “Processor Clock Frequency”: Esta propriedade especifica a freqüência de clock do processador.
Esse valor corresponde a freqüência de clock Q determinada pelo FOSC do PIC. A freqüência da
instrução é um quarto desse valor.
‐ “Program Configuration Word”: Essa propriedade especifica a “palavra” de configuração inicial do
processador do PIC. Essa “palavra” de configuração é, na verdade, gravada na posição 2007h da
memória de programa. Portanto, o valor especificado nessa propriedade servirá apenas como um
valor inicial, e será substituído por qualquer valor especificado nesta posição da memória do
programa.
‐ “Randomise Program Memory?”: Por padrão, a memória de programa do processador é inicializada
com o valor 3FFFh para todas as suas posições (antes que o programa seja carregado). Se essa
propriedade for assinalada com “Yes”, as posições de memória de programa são inicializadas com
valores aleatórios antes que o programa seja carregado.
‐ “Randomise Data Memory”? : Por padrão, no ”despertar” do microcontrolador, os registros do
processador são inicializados com valores aleatórios. Quando essa propriedade é assinalada como
“No”, esses registros são inicializados com o valor “00h”.
Obs.: Os registros de funções especiais, como por exemplo, INTCON e TRISA, não são afetados por
essa propriedade. Eles são inicializados com seus valores corretos.
‐ “Model PIC Start‐up Delays?”: O PIC possui vários atrasos na sua reinicialização (power‐on reset) e
no seu “despertar” (wake‐up from sleep):
Exsto Tecnologia
Tutorial Proteus 67
Se o PIC está configurado para usar um oscilador RC interno, o “Oscillator Start‐up Timer”
(OST) irá gerar um atraso de duração de um ciclo de ‘clock’ de 1024, tanto no “power‐up” como no
“wake‐up”.
Se o PWTE está habilitado, ocorrerá um atraso de 72ms no “power‐up” do microcontrolador.
Por padrão, esses atrasos não são incluídos na simulação. Entretanto, se essa propriedade for
assinalada com “Yes” esses atrasos serão incluídos.
‐ “ Force ADC BreakPoint at Sample Time?”: Quando um sinal análogo é simulado, a sua mesura é
feita através da sua divisão em vários pontos (intervalos de tempo), que subseqüentes uns outros,
formam o sinal análogo. Portanto, quando o conversor ADC faz a leitura um sinal análogo, ele “lê” o
estado do sinal nesses determinados pontos no tempo, usando interpolação linear do sinal para
calcular a tensão. Se essa propriedade for assinalada como “Yes”, o modelo de simulação do PIC
forçará a computação do sinal nesses determinados pontos no tempo. Isto pode melhorar a precisão
da conversão, mas irá carregar a simulação.
‐ “Generate Q Clock On CLKOUT Pin?”: Quando essa propriedade é assinalada como “Yes”, o PIC
gera um sinal de clock com freqüência referente a FOSC/4 (freqüência de cada instrução) no pino
OSC2/CLKOUT.
‐ “Watch Dog Timer Period”: Essa propriedade especifica o período do clock do temporizador
Watchdog.
‐ “ADC RC Clock Period”: Especifica o período do clock RC do ADC.
‐“ADC Minimum Acquisition Time”: Essa propriedade especifica o tempo mínimo de leitura de sinal
analógico pelo conversor ADC. O PIC não simula o comportamento de um sinal analógico
incorretamente lido, mas informa através do “Simulation Log” que o limite do tempo mínimo não foi
respeitado.
‐ “ADC Simple Delay”: Essa propriedade especifica o atraso entre a habilitação do bit GO/DONE e
desconexão do capacitor da entrada analógica. Este é o ponto durante o qual o PIC mede a tensão do
sinal.
‐ “Code EEPROM Write Delay”: Essa propriedade especifica o atraso ocorrido entre o início de uma
escrita na memória EEPROM e o momento no qual o dado é realmente escrito.
‐ “Data EEPROM Write Delay”: Essa propriedade especifica o atraso ocorrido entre o início de uma
escrita na memória interna de dados EEPROM e o momento no qual o dado é realmente escrito.
‐ “Port Pin Low‐High Delay”: Em um dispositivo de PIC real, a transição dos pinos dos portais ocorre
durante uma instrução. Entretanto, o momento exato que ela ocorre dentro da execução da
instrução depende do pino, do modulo que o está controlando e das características elétricas do
circuito. O modelo de simulação do PIC executa a transição dos pinos a partir do atraso definido
nesta propriedade que deve ser gerado no início da instrução (TEMPO DA TRANSIÇÃO = INICIO DA
INSTRUÇÃO + ATRASO). Essa propriedade especifica o atraso apenas para as transições de nível
lógico baixo para alto.
Exsto Tecnologia
Tutorial Proteus 68
Obs.: Se este valor for definido como “0” a transição ocorrerá no exato momento do início da
execução da instrução.
‐“Port Pin High‐Low Delay”: Esta propriedade é semelhante à“Port Pin Low‐High Delay”, com a
diferença de que ela é referente às transições de nível lógico alto para baixo.
‐“Initial Contents of data EEPROM”: O modelo do PIC implementa totalmente as funcionalidade da
memória EEPROM, incluindo a persistência de seus dados durante o intervalo de uma simulação e
outra. Este mecanismo funciona assim:
1. Na primeira que simulação é executada em um projeto novo, todas as posições da EEPROM são
inicializadas com o valor FFh.
2. Se a propriedade “Initial Contents of EEPROM” não estiver em branco, o arquivo especificado é
aberto com um arquivo binário e o seu conteúdo é usado para inicializar os dados da EEPROM. Se o
arquivo possuir menos dados que o tamanho da EEPROM, os posições de memória restantes são
inicializadas com o valor FFh. Se o arquivo possuir mais dados que o tamanho EEPROM, os dados
excedentes serão ignorados.
3. No fim da simulação, os dados contidos na EEPROM (incluindo qualquer mudança efetuada) é
salvo neste mesmo arquivo (se o projeto também for salvo).
4. Para todas as simulações posteriores, os dados da EEPROM serão inicializados com os dados salvos
na simulação anterior.
Obs.: Em “Debug”‐>”Reset Persistent Model Data”, apaga‐se a memória residente de todos os
modelos que contém EEPROM, fazendo que ela volte ao seu valor padrão.
Quando o modelo do PIC detecta um comportamento ilegal ou ambíguo, ele o notifica no
“Simulation Log”. Segue abaixo um esclarecimento de cada uma dessas notificações feitas por ele:
“ADC conversion clock period <período> is possibly invalid for device clock frequency”:
O período de tempo do clock do ADC (especificado nos bits ADCSx do registro ADCON1) está
fora da especificação do dispositivo. De acordo com a documentação do PIC, o clock da conversão
A/D tem um período mínimo de 1.6ms.
“ADC conversion started before 'wait' time has expired following previous conversion or channel
change”:
Foi feito um requerimento para que começasse uma nova conversão A/D sem esperar o
intervalo de tempo necessário desde o fim da última conversão. Segundo a documentação do PIC,
esse tempo é definido pela equação 2xTAD (na qual a variável TAD representa o período do clock do
conversor ADC).
“Address for read/write of EEPROM data memory (<endereço>) is outside of the memory
(<tamanho> bytes) ‐ address has been wrapped”:
Exsto Tecnologia
Tutorial Proteus 69
O endereço para leitura ou escrita de dados da EEPROM não estão dentro do tamanho da
memória. A operação de leitura ou escrita continua com um endereço de memória “compactado”.
“Address for read/write of program memory (<endereço >) is outside of the memory (<tamanho >
words) ‐ address has been wrapped”:
O endereço para leitura ou escrita de dados da memória de programa não estão dentro do
tamanho da memória. A operação de leitura ou escrita continua com um endereço de memória
“compactado”.
“Attempt to execute illegal opcode (<op‐code>) ‐ NOP executed”:
Foi feito um requerimento para executar um op‐code que não é referente a nenhuma
instrução conhecida do PIC. Para substituí‐lo o PIC executa um NOP.
“Attempt to read unimplemented memory location <endereço> ignored”:
Foi feito um requerimento de leitura de uma posição de memória que não está
implementada pelo dispositivo PIC. Ao invés, o microcontrolador lê o valor ‘0’.
“Attempt to set EECON1<WR> without 0x55/0xAA sequence to EECON2 has been ignored”:
Foi feito um requerimento para começar uma operação de escrita no código ou nos dados
EEPROM sem ter primeiramente feito a escrita de ‘55h’ e ‘AAh’ no registro EECON2. Esta seqüência
de escrita é exigida para evitar escritas acidentais no código ou nos dados da memória EEPROM.
“Attempt to write program EEPROM <endereço> not allowed ‐ memory <começo>‐<fim> is marked
as protected in configuration word”:
Foi feito um requerimento de escrita na memória de programa EEPROM em um endereço
protegido pelos bits de proteção de código de memória de programa flash (CPx), especificados pela
“palavra” de configuração.
“Attempt to write program EEPROM not allowed ‐ WRT bit in configuration word not set”:
Foi feito um requerimento de escrita na memória de programa EEPROM quando o bit WRT
está configurado na “palavra” de configuração do PIC como habilitado para escrita de memória de
programa flash.
“Attempt to write to data EEPROM <endereço> not allowed ‐ CPD bit in configuration word is not
set”:
Foi feito um requerimento de escrita na memória de dados EEPROM quando o bit CPD da
“palavra” de configuração do PIC está habilitado para a proteção do código da memória EEPROM de
dados.
“Attempt to write to EECON2 without EECON1<WREN> set ignored”:
O PIC ignora operações de escrita no registro EECON2 quando o bit WREN do EECON1 não é
habilitado.
“Attempt to write unimplemented memory location <endereço> ignored”:
Exsto Tecnologia
Tutorial Proteus 70
Foi feito um requerimento de escrita em uma posição de memória que não está
implementada pelo dispositivo PIC. O microcontrolador ignora a operação de escrita.
“Cannot set EECON1<WR> without first setting EECON1<WREN> in a previous instruction”:
Uma instrução escreveu no registro EECON1 e habilitou o bit WR sem que o bit WREN fosse
anteriormente habilitado. A documentação do PIC diz que o bit WREN deve ser habilitado antes do
bit WR. OBS: Habilitar ambos os bits WREN e WR na mesma instrução não é permitido também.
“Configuration word bits <bits> (bits <faixa de bits>,<valor>) and <bits> (bits < faixa de bits>,<valor>)
should be identical”:
A “palavra” configuração contem valores de bit diferentes nas posições desse mesmo bit que
deveriam ser idênticos.
“Data written SSPBUF whilst MSSP (in master mode) is active ‐ data has been ignored”:
Foi feito um requerimento de escrita no buffer de comunicação da porta serial síncrona
(SSPBUF) enquanto o MSSP estava recebendo/transmitindo dados. Esta operação se torna
insignificante, pois, no fim da operação, o byte recebido pelo MSSP é transferido para o SSPBUF,
substituindo qualquer valor que estivesse lá.
“Indirect write of <dado> to address <endereço> is itself an indirect write”:
Foi feito um requerimento de escrita no registro IND quando o registro FSR (registro de
endereçamento do IND) estava endereçando o primeiro.
“OPTION instruction is deprecated for PICxxxxx.”:
A instrução OPTION foi executada por um processador PIC que não é compatível à mesma.
“PC (<endereço>) is outside program memory for GOTO/CALL instruction”:
O novo valor do PC definido pelas instruções GOTO ou CALL é um endereço fora da memória
de código do PIC.
“PC (<endereço>) is outside program memory for current instruction”:
O novo valor do PC definido pela instrução que está sendo executada é um endereço fora da
memória de código do PIC.
“PORTA<pino> is not configured as a analog input”:
Foi feita uma tentativa de fazer uma conversão ADC num pino digital do PORTA. Como a
documentação do PIC não diz o que acontece quando uma conversão é feita em um pino digital, o
modelo de simulação do PIC continuará fazendo a conversão normalmente.
“PORTE<pino> is not configured as a analog input”:
Foi feita uma tentativa de fazer uma conversão ADC num pino digital do PORTE. Como a
documentação do PIC não diz o que acontece quando uma conversão é feita em um pino digital, o
modelo de simulação do PIC continuará fazendo a conversão normalmente.
Exsto Tecnologia
Tutorial Proteus 71
“SPBRG register written with SYNC and BRGH bits both set ‐ this is illegal”:
O registro SPBRG, gerador da taxa de transmissão da porta serial, foi escrito com ambos os
bits BRGH e SYINC (do registro TSXTA) habilitados.
“Stack overflow executing CALL instruction”:
Uma instrução CALL foi executada quando não havia espaço suficiente na pilha de hardware
do PIC para que fosse suportado o retorno ao endereço. O ponteiro da pilha, então, voltará para a
primeira posição da pilha.
“Stack overflow pushing return address of interrupt”:
Um ciclo de interrupção começou quando não havia espaço suficiente na pilha de hardware
do PIC para que fosse suportado o retorno ao endereço. O ponteiro da pilha, então, voltará para a
primeira posição da pilha.
“TRISA instruction is deprecated for PICxxxxx”:
“TRISB instruction is deprecated for PICxxxxx”:
A instrução TRISB foi executada em um processador de PIC que não é compatível com ela.
Para melhor compatibilidade, as instruções são implementadas pelo modelo do PIC.
“TRISC instruction is deprecated for PICxxxxx”:
A instrução TRISC foi executada em um processador de PIC que não é compatível com ela.
Para melhor compatibilidade, as instruções são implementadas pelo modelo do PIC.
“Unsupported mode (<modo>) selected in SSPCON”:
Um valor foi escrito no SSPCON que seleciona um modo de MSSP que não compatível com o
respectivo modelo de simulação.
“USART pin '<pino>' is required to be an input but corresponding TRISC bit defines it as an output”:
A USART configurada de um modo que os pinos PORTC usados por ela devem ser entradas,
mas o registro TRISC está definindo‐os como saída.
“Voltage references for ADC conversion yield a 0V range (V+ = <V>, V‐ = <V>)”:
Essa mensagem indica que as tensões de referência (positiva e negativa) fornecem uma faixa
de diferença de tensão de 0V.
“Write to ADCON0 register selects ADC channel <canal> ‐ there is no such channel on the PICxxxx
device”:
Um valor foi escrito no registro ADCON0 que não seleciona um canal ADC disponível no
microcontrolador. O PIC irá simular a conversar no respectivo canal inválido, mas sempre retornará o
valor ‘0’.
Exsto Tecnologia
Tutorial Proteus 72
“Write to EECON1 sets both EECON1<RD> and EECON1<WR> simultaneously. This is ambiguous ‐
both bits will be considered clear”:
Uma instrução escreveu no registro EECON1 habilitando ambos os bits RD e WR
simultaneamente. O modelo do PIC considera os dois bits nulos.
“Write to PCLATH register may result in future values of PC that outside of program memory on
PICxxxxx device”:
Um valor foi escrito no registro PCLATH que pode resultar na saída do PC da memória de
programa do respectivo microcontrolador.
17.3 PIC 18
Os PIC 18 possuem inúmeras propriedades que podem ser especificadas pelo usuário na sua
janela de configuração.
17.3.1 Propriedades
A maioria das propriedades do PIC18 é similar às do PIC 16 e já foram explicadas
anteriormente. Seguem abaixo apenas as características das propriedades que se diferem:
‐ “Program File”: Essa propriedade especifica o nome do programa que será carregado no modelo.
Esse arquivo pode ser em Intel Hex (.HEX), IAR UBROF (.D39), IAR UBROF (.UBF), Byte Craft COD
(.COD), Microchip Compatible COF (*.COF) ou Crownhill Proton Plus (*.BAS).
‐ “Processor Clock Frequency”: Esta propriedade especifica a freqüência de clock do processador.
‐ Se os bits de configuração do FOSCn especificam o modo de oscilador como LP, XT, HS, RC, EC, ECIO
ou RCIO, o circuito de clock externo é ignorado e a freqüência usada é a especificada nesta
propriedade. OBS: A freqüência do Q‐clock é a própria freqüência especificada na propriedade e a
das instruções será um quarto dela.
Exsto Tecnologia
Tutorial Proteus 73
‐ Se bits de configuração do FOSCn especificam o modo de oscilador como HSPLL (HS4), a freqüência
usada é a especificada nesta propriedade. OBS: A freqüência das instruções é a própria freqüência
especificada na propriedade e a do Q‐clock será o quádruplo dela.
‐ Se bits de configuração do FOSCn especificam o modo de oscilador como INTO1 ou INTO2, essa
propriedade é ignorada e a freqüência do Q‐clock e das instruções são determinadas pelos valores
dos registros OSCCON e OSCTUNE.
‐“Dump SFR Values On Reset?”: Se esta propriedade for definida como “Yes”, o microcontrolador irá
descarregar os valores de todos os SFRs (Registros de Função Especial) no Simulation Log todas as
vezes que ele for reinicializado.
‐“Halt on HALT Instruction?”: Se essa propriedade for assinalada como “Yes”, a execução da
instrução HALT irá parar a simulação indicando no Simulation Log que está em “Halt”.
‐“Treat Warnings As Errors?”: Como os avisos feitos no Simulation Log não prejudicam o andamento
da simulação, assinalar essa propriedade como “Yes” significa fazer com que toda vez que um aviso é
feito, a simulação seja finalizada, assim como acontece com um erro.
‐“Randomize Stack Addresses?”: Por padrão, na inicialiazação do microcontrolador (“power‐up”),
todas as posições da pilha do processador são inicializadas com ‘0’. Quando essa propriedade é
definida como “Yes”, todas essas posições são inicializadas com valores aleatórios.
‐“Warn If Executing Illegal Op‐codes?”: Quando essa propriedade é assinalada como “Yes” , o modelo
passa a avisar, através do Simulation Log, se foi feita uma tentativa de executar um op‐code ilegal, ou
seja, uma posição do programa contendo um valor que não é decodificado para nenhuma instrução
do PIC. O microcontrolador irá executar esses op‐codes como NOP.
‐“Code/IDLOCs Memory Erase Delay”: Essa propriedade especifica o atraso para ou apagamento do
programa o da memória IDLOCs do usuário. Uma vez que o ciclo de apagamento começar, a
execução do processador fica parada durante o tempo especificado nessa propriedade.
‐“Code/IDLOCs Memory Write Delay”: Essa propriedade especifica o atraso para a escrita no
programa ou na memória IDLOCs do usuário. Uma vez que o ciclo da escrita começar, a execução do
processador fica parada durante o tempo especificado nessa propriedade.
‐ “Watchdog Timer Timebase”: Essa propriedade especifica o período do clock do temporizador
Watchdog.
‐ Port Delay From Start Of Instruction: Em um dispositivo de PIC real, a transição dos pinos dos
portais ocorre durante uma instrução. Entretanto, o momento exato que ela ocorre dentro da
execução da instrução depende do pino, do modulo que o está controlando e das características
elétricas do circuito. O modelo de simulação do PIC executa a transição dos pinos a partir do atraso
definido nesta propriedade que deve ser gerado no início da instrução (TEMPO DA TRANSIÇÃO =
INICIO DA INSTRUÇÃO + ATRASO). Essa propriedade serve somente para operações normais do
Exsto Tecnologia
Tutorial Proteus 74
portal. Portanto, operações que usam periférico do microcontrolador não são afetadas por essa
propriedade.
17.3.2 USB
Já que a maioria dos microcontroladores que se comunicação através de USB são destinados
a serem periféricos dispositivos ao invés de periféricos host, o Proteus é limitado apenas à simulação
de dispositivos, especificamente das classes MSD, HID e CDC. Essa simulação representa o
funcionamento do microcontrolador como se ele estivesse ligado fisicamente ao conector USB do
computador.
O componente que representa o conector da porta é o USBCONN, que, como na figura
abaixo, possui dois “botões” em vermelho, que fecham ou abrem a porta durante a simulação. Isto
seria equivalente a conectar ou desconectar o seu dispositivo a porta física do computador.
Os microcontroladores que conseguem comunicar‐se com a Porta USB dentro da simulação
do Proteus são:
PIC18F2450, PIC18F2455, PIC18F2458, PIC18F2550, PIC18F2553, PIC18F4450, PIC18F4455,
PIC18F4458, PIC18F4550, PIC18F4553.
Para fazer a simulação da porta USB no Proteus, é necessário instalar os drivers de USB do
Labcenter para possibilitar a comunicação entre o esquemático do Proteus e os drivers USB do
Windows. Para instalá‐los, vá ao menu “Iniciar” do Windows, depois em “Proteus 7 Professional” e
em “Virtual USB”, clique em “Install USB Drivers”.
Exsto Tecnologia
Tutorial Proteus 75
Obs.: Para a gravação, os Drivers USB não são compatíveis com Sistemas Operacionais de 64 bits.
Com o Analisador da USB do Proteus é possível visualizar a comunicação entre o dispositivo
USB (o microcontrolador) e o host (o computador). A janela principal do analisador consiste em duas
partes: A Lista de Solicitações (Request List) e a Descrição das Solicitações (Request Description).
‐ Lista de Solicitações (“Request List”)
Há três níveis de mostragem das solicitações:
1 ‐ A lista de IRP mostra o tipo de solicitação (IOCTL e MJ_PNP) acompanhado da
descrição da função.
Os IOCTL (“Input/Output Control”) IRPs são pacotes que contém os blocos de solicitações da
USB.
Os MJ_PNP (“Plug‐and‐Play”) IRPs são pacotes que o Windows envia ao Driver do Hub antes
do carregamento do Driver do dispositivo ou quando é necessário executar operações especiais.
2 ‐ A lista de Transação mostra o tipo de transação (IN, OUT e SETUP).
3 ‐ A lista de Operações dos Registros o acesso dos registros específicos do microcontrolador
(leitura e escrita).
Obs.: A desabilitação da mostragem da lista de Operações dos Registros é explicada mais abaixo.
A cor do led localizado no lado esquerdo da janela mostra o estado da solicitação:
‐ Verde: A solicitação foi completada com sucesso.
‐ Yellow: A solicitação está sendo executada. Sua solicitação IRP correspondente está
pendente.
‐ Red: A solicitação falhou.
‐ Blue: A transição foi completada com resultado “NACK” (não reconhecida).
Descrição das Solicitações:
A Descrição das Solicitações está localizada no lado direito da janela do Analisador, e mostra
informações detalhadas da solicitação selecionada no lado esquerdo (Lista de Solicitações).
A barra de ferramentas no topo da janela fornece as opções de iniciar, parar, ou apagar a
mostragem.
Exsto Tecnologia
Tutorial Proteus 76
A mostragem do nível de registros do microcontrolador é desabilatada por padrão. Para
habilitá‐la vá a barra de ferramentas superior (com simulação parada) e clique em “Debug”. Aberto
um menu, clique em “Configure Diagnostics” e aparecerá uma janela. Entre as opções disponíveis,
clique na qual indica o microcontrolador (que está sendo usando como dispositivo USB) e depois, em
“USB Module”. No quadro abaixo, denominado “Trace Information Level”, selecione a opção “Full
Trace”. A habilitação desta opção, no entanto, pode deixar a simulação muito lenta, pois requere
muita memória. É recomendável, portanto, deixá‐la desabilitada.
Obs.: Se o Analisador da USB não for aberto automaticamente no início da simulação, vá a barra de
ferramentas superior do programa e em “Debug”, clique em “PIC 18”, e logo depois em “USB
Analyser”.
17.4 80C51
O 80C51 possui uma série de propriedades que podem ser especificadas pelo usuário na sua
janela de configuração.
Exsto Tecnologia
Tutorial Proteus 77
‐ “Program File”: Essa propriedade especifica o nome do programa que será carregado no modelo.
Esse arquivo pode ser em Intel Hex (.HEX) ou OMF51 (.OMF).
OBS.: somente com os arquivos .OMF o Proteus pode depurar o código do programa.
‐“Clock Frequency”: Esta propriedade especifica a frequência de clock do processador.
‐“Simulate Program Fetches”: Se definida como “Yes”, o microcontrolador simulará instruções de
código externas, ou seja, uma memória ROM externa.
‐“Data Memory Map”: Especifica regiões do mapa de memória externa que podem ser tratados
como memória RAM e simulados pelo 8051.
Exemplo: 0000‐7FFF,C000‐FFFF
OBS.: O exemplo acima especifica duas regiões do mapa de memória.
Exemplo: 0000‐7FFF
17.5.1 Depuração
Para depurar o código durante a simulação, vá no menu superior da tela e em “Debug”,
clique em “Start/Restart Debugging”. Nesse mesmo menu haverá três tipos de opções para rodar o
programa: Step Over, Step Into e Step Out.
‐ Com o Step Over, passa‐se por cada instrução do programa principal, mas não entra nas sub‐
rotinas. Para usá‐lo pressione “F10”.
‐ Com o Step Into, passa‐se passa‐se por cada instrução do programa principal entrando nas sub‐
rotinas. Para usá‐lo pressione “F11”.
‐ Com o Step Out é possível sair das sub‐rotinas. Para usá‐lo pressione “Ctrl + F11”.
Exsto Tecnologia
Tutorial Proteus 78
No entanto, se houver o código fonte, é possível usar dessas funções de dentro dele, e,
além disso, fazer o uso do “BreakPoint”. O Breakpoint é um ponto que se marca em uma instrução
do programa, para que, quando o microcontrolador for executá‐la, a simulação pare. Essa
ferramenta está disponível no topo da janela do código de fonte, como explica a figura a seguir:
Para marcar o Breakpoint, é só selecionar uma instrução e clicar no botão indicado acima (o
mesmo processo é feito para desmarcar). Aparecerá então um ponto vermelho ao lado da instrução
como a figura a seguir:
Há diversos recursos oferecidos pelo Proteus nos permitem analisar melhor o programa do
microcontrolador durante a depuração. Eles não são abertos automaticamente com o início da
simulação. Para abri‐los, vá ao menu superior da tela e clique em “Debug”. Ao abrir uma lista de
opções, clique na que deseja abrir.
Exsto Tecnologia
Tutorial Proteus 79
Esses recursos variam de um microcontrolador para outro, dependendo das suas
características. No entanto, alguns são padrões para todos:
‐ O “Watch Window” nos permite visualizar o valor de portais e registros no decorrer da simulação.
Para selecionar as variáveis que deseja visualizar, clique com o botão direito sobre a tabela e, aberto
um menu, clique “Add Items by Name” ou “Add Items by Address”.
Na opção “Add Items (By Name)”, escolhe‐se os itens pelo nome, enquanto na opção “Add
Items (By Address)”, escolhe‐se os itens pelo endereço da memória que eles ocupam.
Na opção “Watchpoint Condition...” adiciona‐se uma ou mais expressões de condição que, se
verdadeiras, cessam a simulação do circuito. Para isto, clique nesta opção e abrirá uma janela. No
“Global Break Condition” é possível escolher se o recurso de “Watchpoint” deve ser desabilitado
(primeira opção) , se a simulação deve ser suspendida quando qualquer expressão for verdadeira
(segunda opção) ou se a simulação deve ser suspendia apenas quando todas as expressões forem
verdadeiras . No campo “Item”, selecione uma variáveis da sua “Watch Window” . No “Mask”,
Exsto Tecnologia
Tutorial Proteus 80
secione a máscara (se houver). No “Condition” selecione a condição (maior, igual, diferente, etc.) e
em “Value”, o valor referente à sua condição. Observe o exemplo:
De acordo com a expressão do exemplo, se PORTD for igual a zero a simulação deve parar.
Observe o valor do PORTD em “Value” na Watch Window e do lado em “Watch Expression” a
expressão referente a ele. Quando a expressão se torna verdadeira, a simulação é suspensa e o
“Watch Window” comunica a sua validação, como na figura a seguir:
Há também outras opções de visualização no menu do “Watch Expression”. Em “Data Type”
pode‐se escolher em qual tipo de dado se deseja observar o valor das variáveis (Byte, Word, Text,
etc.). Em “Display Format” é possível escolher em qual tipo de numeração os valores devem ser
mostrados (Binário, Hexa, Decimal, etc.). Em “Show Adresses?”, “Show Types?”, “Show Previous
Values?”, “Show Watch Expressions?” e “Show Gridlines?” é possível escolher se os endereços de
memória das variáveis, os tipos de dados delas, seus valores anteriores, suas expressões de condição
e as linhas de divisão devem ou não ser mostradas no “Watch Window”.
‐ O CPU Variables mostra o valor que as variáveis do programa carregam no instante da simulação.
No seu menu, há algumas opções de visualização como na figura a seguir:
Exsto Tecnologia
Tutorial Proteus 81
Em “Show Adresses?”, “Show Types?”, “Show Previous Values?”, e “Show Gridlines?” é
possível escolher se os endereços de memória das variáveis, os tipos de dados delas, seus valores
anteriores e as linhas de divisão devem ou não ser mostradas na tela.
Obs.: O “CPU Variables” somente estão disponíveis se o formato do arquivo do programa puder
fornecer informações suficientes para que o Proteus possa mostrar as variáveis. OBS: Arquivos do
tipo .HEX e .COD não podem fornecer.
‐ No CPU Registers, é possível observar os valores de todos os registros do microcontrolador:
‐ No CPU Stack é possível ver a pilha de memória do microcontrolador.
Exsto Tecnologia
Tutorial Proteus 82
A simulação em monitor de depuração remoto consiste na simulação do circuito diretamente
do ambiente de desenvolvimento da Microchip, o MPLAb, possibilitando que tanto o hardware e o
firmware sejam depurados e simulados simultaneamente. Para fazer uso dessa ferramenta, abra o
projeto do seu firmware no MPlab, e na barra de ferramentas superior da tela, em “Debugger”,
clique em “Select Tool” e depois selecione a opção “Proteus VSM”, como na figura a seguir:
Será aberto, então, um “visualizador” do Proteus, o qual, em relação ao esquemático, é
restrito apenas à posição (Zoom +, Zoom ‐, etc.) e em relação a simulação, é restrito a diagnósticos
(do sistema e dos componentes) e ao uso de instrumentos. Para abrir seu projeto, vá a barra de
ferramentas superior do visualizador e clique no primeiro botão à esquerda, com o desenho de uma
pasta. Após abrir uma janela, procure seu projeto, selecione‐o e clique em “OK”. Logo após clique no
botão verde do lado direito da tela para co‐simular o programa e o circuito.
Para a depuração do código, e conseqüentemente do circuito, há uma barra de ferramentas
na parte superior do programa, como esta:
Exsto Tecnologia
Tutorial Proteus 83
0 ‐ Executa o programa em tempo real ( sem que seja visto que instrução está sendo executada). É
equivalente à tecla F9.
1 ‐ Suspende a execução do programa (caso ele esteja sendo executado). É equivalente à tecla F5.
2 ‐ Executa o programa mostrando quais instruções estão sendo executadas, ou seja, não é em
tempo real.
3 ‐ Passa‐se por cada instrução do programa principal, mas não entra nas subrotinas. É equivalente
à tecla F7.
4 ‐ Passa‐se por cada instrução do programa principal entrando nas subrotinas. É equivalente à
tecla F8.
5 ‐ Sai das sub‐rotinas.
7 ‐ Reinicia o programa o processador. É equivalente à tecla F6.
8 ‐ Marca Break‐Points. Para fazê‐lo, clique sobre e botão e depois clique duas vezes com o botão
esquerdo do mouse sobre uma instrução (o mesmo processo é feito para desmarcar). Aparecerá
então uma esfera vermelha ao lado da instrução como a figura a seguir:
Então, é só executar o programa, que, quando o processador chegar na instrução demarcada,
a execução irá parar.
ATENÇÃO: O MPLab sempre anexa o programa ao microcontrolador denominado “U1”.
18 Resolução de problemas
Aqui está uma lista dos erros mais comuns acusados pelo Proteus:
“Duplicate Part Reference”: Significa que dois ou mais componentes com a mesma referência.
“No Model Specified for “X””: Significa que o componente “X” não possui modelo de simulação,
portanto não pode ser simulado. Se for um componente irrelevante, como por exemplo um
conector, defina a sua propriedade “PRIMITIVE” como NULL (PRIMITIVE=NULL).
“Device type not recognized”: Significa que você especificou na propriedade PRIMITIVE do
componente um tipo que não compatível com ele.
“Cannot find library model”: Significa que o “SUBCKT” ou o “MODEL” que você especificou para o
componente não existe na biblioteca especificada.
“Model DLL not found”: Significa que o modelo DLL não pode ser encontrado. Ele deveria estar no
mesmo diretório ou no caminho especificado em “Module Folders” na janela de “Set Paths” (System
‐> Set Paths...).
Exsto Tecnologia
Tutorial Proteus 84
“Cannot open SPICE source file”: Significa que arquivo especificado na propriedade SPICEMODEL não
pode ser encontrado. Ele deveria estar no mesmo diretório ou no caminho especificado em “Module
Folders” na janela de “Set Paths”(System ‐> Set Paths...).
“Timestep too small”: Isso significa que o circuito está variando de tal modo que mesmo o Proteus
avançando a simulação através de mínimos espaços de tempo (normalmente 1e‐18), ele ainda não
produz uma mudança de tempo pequena o suficiente para o circuito.
“To many iterations without convergence”: Significa que a solução do circuito está instável. Circuitos
com fontes VSWITCH ou CSWITCH criam essa condição facilmente.
“[SPICE] transient GMIN stepping at time=X”: Significa que o simulador Spice não está coseguindo
produzir os efeitos do componente (com modelo tipo Spice) dentro do espaço de tempo mínimo
exigido pelo circuito. Se você estiver simulando um circuito contendo um MOSFET ou BJT, tente
ajustar na janela de opções do simulador, ABSTOL=1e‐08 e RELTOL=0.01. Janela de opções do
simulador: “System” ‐> “Set Simulator Options”.
“Power Rails ‘X’ e ‘Y’ estão interconectados in net ‘X’”: Significa que há duas fontes de tensão ou de
corrente interconectadas. Cuidado: Há componentes que, no esquemático parecem estar separados,
mas na verdade estão contidos no mesmo CI (ex.: amp‐ops). Se você estiver usando dois ou mais
componentes destes iguais, observe que sua nomeação será “U1:A”, “U1:B”, etc. Isso significa que
eles estão contidos no mesmo CI, portanto, os seus pinos de alimentação estão interconectados.
Então, caso esteja usando dois componentes destes iguais com alimentação diferente, altere o seu
nome, para que eles não sejam considerados participantes do mesmo CI (ex.: “U1: A” e “U2: B”).
Exsto Tecnologia