Você está na página 1de 84

 

      
 

 
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
 

Revisão   Principais Autores  Descrição da Versão  Data de Término 


A  Enzo Gaudino Mendes  Versão inicial.   14/05/2009 
Thaís Monti Macedo 
       
       
 
 
 
 
 
© Copyright 2009 por Exsto Tecnologia Ltda. 
Todos os direitos reservados 
 

“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
 

12.2 Analisador Lógico (“Logic Analyser”) ...................................................................................... 25 


12.3 Contador/Temporizador (“Counter Timer”) .............................................................................. 27 
12.4 Terminal Virtual (“Virtual Terminal”) ...................................................................................... 29 
12.5 SPI Depurador (“SPI Debugger”) .............................................................................................. 32 
12.6 I2C Depurador (“I2C Debugger”) ............................................................................................. 35 
12.7 Gerador de Sinal (“Signal Generator”) ...................................................................................... 38 
12.8 Gerador Padrão (“Pattern Generator”) ....................................................................................... 39 
12.9 Voltímetro DC (“DC Voltmeter”) ............................................................................................. 42 
12.10 Amperímetro DC (“DC Ammeter”)......................................................................................... 42 
12.11 Voltímetro AC (“AC Voltmeter”) ........................................................................................... 42 
12.12 Amperímetro AC (“AC Ammeter”)......................................................................................... 43 
13 Terminais .......................................................................................................................................43 
14 Circuitos e Subcircuitos ............................................................................................................44 
15 Figuras Gráficas 2D ....................................................................................................................45 
16 Criação de componentes ...........................................................................................................48 
16.1 Construção gráfica do componente ............................................................................................ 50 
17 Simulação de circuitos microcontrolados ............................................................................64 
17.1 Configuração do microcontrolador. ........................................................................................... 64 
17.1.1 Configuração das propriedades elétricas do microcontrolador. ....................................... 64 
17.1.2 Tipos de arquivos de que o Proteus pode depurar o código fonte .................................... 65 
17.1.3 Gravação do programa no microcontrolador .................................................................... 65 
17.2 PIC 16 ........................................................................................................................................ 65 
17.2.1 Propriedades ...................................................................................................................... 65 
17.2.2 Esclarecimento de mensagens de aviso ............................................................................. 68 
17.3 PIC 18 ........................................................................................................................................ 72 
17.3.1 Propriedades ...................................................................................................................... 72 
17.3.2 USB ..................................................................................................................................... 74 
17.3.2.1 Instalação dos Drivers .................................................................................................74 
17.3.2.2 Analisador do USB .....................................................................................................75 
17.4 80C51 ......................................................................................................................................... 76 
17.5 Depuração de circuitos microcontrolados .................................................................................. 77 
17.5.1 Depuração .......................................................................................................................... 77 
17.5.2  Recursos para a depuração ............................................................................................... 78 
17.6 Simulação com monitor de depuração remoto ........................................................................... 81 
18 Resolução de problemas ...........................................................................................................83 
 

   

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. 

2 Abrindo o Proteus (ISIS)


 

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”. 

4 Conhecendo a interface do Programa


 

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

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

 
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”. 

6 Interação com componentes especiais


 

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
 

Em  terceiro, a chave hexadecimal, que representa  em suas saídas o sistema de numeração 


hexadecimal. Sua palavra chave é “THUMBSWITCH‐HEX”. 

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”. 

7 Editando os componentes (individualmente e em grupo)


 

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
 

8.1 Coloque os fios em seu esquema


 

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. 

 
 

8.2 Edite os fios elétricos


 

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
 

8.3 Usando Ponto (Junções)


 

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.  

9 Como iniciar a simulação e fazer as devidas


configurações
 

9.1 Iniciar a Simulação


 

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
 

9.2 Simulação “passo a passo”


 

 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.   

9.3 Configuração da simulação


 

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.  

9.4 Simulation Log


 

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”.  

9.5 Configuração de Diagnósticos


 

A  ferramenta  de  diagnósticos  possibilita  o  usuário  examinar  o  funcionamento  interno  do 


sistema  e  de  certos  dispositivos  digitais,  como  por  exemplo,  microcontroladores,  displays  de  LCD, 
etc.  Isso  acontece  durante  a  simulação  através  de  avisos  fornecidos  pelo  Proteus  na  janela 
“Simulation  Log”.  Para  ter  acesso  a  essas  configurações  vá  a  barra  de  ferramentas  superior  do 
Proteus e no menu “Debug” vá em “Configure Diagnostics”.  

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:  

10 Uso de pontas de prova (“Probe”) e Gráficos


 

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”  . 
 

10.1 Break-Points com Probes


 

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.  

11.2 SINE Generator


 

É um gerador de sinal alternado.  

11.3 PULSE Generator


 

 É um gerador de pulso.  

11.4 Exp Generator


 

É um gerador de sinal exponencial. 

11.5 SFFM Generator


 

É um gerador de um sinal de freqüência modelado. 

11.6 PWLIN Generator


 

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. 

11.7 FILE Generator


 

 É  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.   

11.8 AUDIO Generator


 

 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.   

11.9 DSTATE Generator


 

 Gerador de sinal com nível lógico estacionário. 

11.10 DEDGE Generator


 

 Gerador de um pulso com transição de descida ou subida.   

11.11 DPULSE Generator


 

 Gerador de um pulso. 

11.12 DCLOCK Generator


 

É um gerador de sinal de clock.  

11.13 DPATTERN Generator


 

Exsto Tecnologia 

 
Tutorial Proteus  23
 

É um gerador de uma sequência arbitraria de níveis lógicos.   

   

11.14 SCRIPTABLE Generator


 

 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). 
 

12.1 Osciloscópio (“Oscilloscope”)


 

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.  

12.2 Analisador Lógico (“Logic Analyser”)


 
Permite visualizar vários sinais digitais ao mesmo tempo, através de suas várias entradas. 

 
 
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. 

12.3 Contador/Temporizador (“Counter Timer”)


 

É 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. 

Em  qualquer um dos modos, os números são mostrados tanto  no visor do componente  no 


esquemático, quanto na janela de controle do equipamento (figura abaixo), que pode ser acessada 
após o início da simulação. 

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. 
 

12.4 Terminal Virtual (“Virtual Terminal”)


 

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.  

12.5 SPI Depurador (“SPI Debugger”)


 

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
 

12.6 I2C Depurador (“I2C Debugger”)


 
O I2C é um protocolo de comunicação serial síncrona entre dois dispositivos, onde há três 
modos: o escravo, o mestre e o multi‐mestre. O I2C Debugger faz a depuração dessa comunicação, 
podendo operar como escravo ou mestre.   

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
 

Comportando  o  microcontrolador  como  mestre,  para  realizar  a  escrita,  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  escrita  (“0”).    Por 
exemplo,  se  o  endereço  for  0x30h,  a  instrução  enviada    ao  I2C  Debugger  deve  ser  “0x30h”.    Em 
seguida,  envia‐se  o  dado  que  se  deseja  escrever  no  Debugger.  Como  o  Debugger  está  sob  o  seu 
controle, você mesmo deve gerar os sinais de “Ack” (A) ou “Nack” (N) para o microcontrolador, que 
só continuará a executar o programa após recebê‐los.  

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.  

12.7 Gerador de Sinal (“Signal Generator”)


 

 
 

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) 

12.8 Gerador Padrão (“Pattern Generator”)


 

É 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. 

12.9 Voltímetro DC (“DC Voltmeter”)


 

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.                               

12.10 Amperímetro DC (“DC Ammeter”)


 

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.  

12.11 Voltímetro AC (“AC Voltmeter”)


 

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.    

12.12 Amperímetro AC (“AC Ammeter”)


 

 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. 

Portanto,  o  modelo  VSM  terá  ambas  propriedades:  a  “PRIMITIVE”  e  a  “MODDLL”(que 


especifica o nome do arquivo DLL no qual o código do modelo fica) 

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. 

16.1 Construção gráfica do componente


 

_ 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
 

17 Simulação de circuitos microcontrolados


 

17.1 Configuração do microcontrolador.


17.1.1 Configuração das propriedades elétricas do microcontrolador.
 As configurações básicas para os microcontroladores consistem na freqüência do ‘clock’ e na 
reinicialização  (Reset).    Porém,  o  Proteus,  por  questões  de  eficiência,  ignora  o  circuito  do  clock 
externo, considerando apenas a freqüência definida na janela de configuração do microcontrolador. 
Para ajustar essa freqüência ‘clique’ com o botão direito sobre o microcontrolador, e após aparecer 
um  menu,  escolha  a  opção  “Edit  Component”.    No  campo  “Processor  Clock  Frequency”,  escreva  a 
freqüência na qual deseja que seu microcontrolador trabalhe.  

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
 

17.1.2 Tipos de arquivos de que o Proteus pode depurar o código fonte


 

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.      

17.1.3 Gravação do programa no microcontrolador


 

 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.  

17.2.2 Esclarecimento de mensagens de aviso


 

 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”:  

A instrução TRISA 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.  

“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. 

‐“Enable  Watchdog  Timer?”:  Por  padrão  o  temporizador  Watchdog  é  habilitado  e  desabilitado 


através dos bits de controle do PIC: WDTEN ou/e SWDTEN. Se essa propriedade for assinalada como 
“No”, o temporizador Watchdog será desabilitado independente de qualquer configuração feita no 
código do programa.  

‐“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. 

17.3.2.1 Instalação dos Drivers


 

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.  

17.3.2.2 Analisador do USB


 

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. 

‐“Code Memory Map”: Especifica regiões do mapa de memória  externa que  são ligados através de 


uma  configuração  Von‐Neumann  (memória  de  dados  e  a  memória  de  código  externa  são  as 
mesmas).  

Exemplo: 0000‐7FFF 

17.5 Depuração de circuitos microcontrolados 


A  depuração  consiste  em  simular  o  circuito  acompanhando  cada  instrução  do 
microcontrolador, com a disponibilidade de recursos para observar o valor dos portais, dos registros, 
etc.   

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: 

  

Então,  é  só  executar  o  programa,  que,  quando  o  microcontrolador  chegar  à  instrução 


demarcada,  a simulação para. 

17.5.2 Recursos para a depuração


 

  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. 

17.6 Simulação com monitor de depuração remoto


 

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 

Você também pode gostar