Laboratório – Programação e Simulação do PIC 16F628A
 

O objetivo deste laboratório é mostrar como utilizar a ferramenta de simulação GPSIM, para testar os projetos/programas.

Passo 1: Montar o Programa Hello World

Copie o código abaixo para um arquivo chamado hello.asm (Menu Aplicativos -> Acessórios -> Editor de Texto Gedit). Salve o arquivo na pasta padrão (aluno).

__CONFIG  0x2D18

ORG 0x00			;Vetor de reset
GOTO INICIO

INICIO
	
	BSF  3H,5		;Liga o Bit 5 (RP0) do registrador 3h (STATUS); Seleciona banco 
				;de memória 1. TRISA e TRISB estão no banco 1
	MOVLW b'0000000'	;Move zero para o registrador W (o mesmo que CRLW)
	MOVWF 86H		; Move W para o registrador 86H (TRISB) ou Seja TRISB=0
				;Todos pinos do PORTB estão configurados com output
	BCF  3H,5		;Desliga o Bit 5 (RP0) do registrador 3h (STATUS)  seleciona o
				;banco de memória 0
	
	GOTO MAIN
MAIN

    	BSF 6h,2		;Liga o pino 2 do PORTB (RB2)
	GOTO MAIN
END

Depois do programa salvo. Abra um terminal (Menu Aplicativos -> Sistema -> terminal).

No terminal deve aparecer um prompt de comando com o seguinte formato:

	[aluno@lab ~]$
	

Esse é o prompt de comando. Você pode digitar ls, e verificar se existe o arquivo teste.asm

Verificada a existencia do arquivo. Agora precisamos traduzir o código assembly em um código hexadecimal que será gravado no PIC.

Essa tradução chamamos de montagem. Para montar o código do arquivo hello.asm vamos usar o montador (assembler) GPASM.

Para usar o gpasm, você pode digitar o seguinte comando:

	$ gpasm -p16f628a hello.asm
	

Onde

-p16f628a
é a arquitetura alvo.

Verifique se a saida se assemelha a essa:

hello.asm:1:Warning [205] Found directive in column 1.
hello.asm:3:Warning [205] Found directive in column 1.
hello.asm:4:Warning [203] Found opcode in column 1.
hello.asm:11:Message [302] Register in operand not in bank 0. Ensure bank bits are correct.

Passo 2: Simulação

No passo anterior foram gerados os seguintes arquivos (use o comando ls para checar isso):

  • hello.hex - Arquivo no formato hex para ser gravado no PIC;
  • hello.cod - Arquivo usado na simulação;
  • hello.lst - Relatório do processo de montagem.

Para fazer a simulação usaremos a ferramenta GPSIM, para iniciar a simulação do código acima digite:

	$ gpsim hello.cod
	

Após a digitação do comando acima deve aparecer a seguinte janela:

Existem duas janelas que são interessantes neste momento Breadboad e Source. Nestas Janelas é possível acompanhar a simulação do programa.

Acesse elas a partir do menu windows e aperte o botão RUN na janela principal do gpsim

Observe na janela breadboard o Pino RB2 em vermelho (acesso).

Botões da interface principal do GPSIM:

  • STEP: Executa o próxima instrução e para.
  • OVER: O mesmo que STEP, porém executa as funções como um unica instrução (não faz o passo-a-passo para instruções).
  • FINISH: Salta para o endereço de Retorno (Finaliza uma função).
  • RUN: Inicia a execução continua
  • STOP: Pausa a Simulação
  • RESET: Reinicia a CPU

Exercícios:

Ajuste o código para setar os bits 3 e 4 da porta B.

Ajuste o código para fazer esses bits piscarem.

-

Proximo - LAB 3 - Instruções do PIC 16F628A