Código em PBP (Pic basic pro)
feito no MICROCODE STUDIO
'****************************************************************
'* Name : GUIACNC - Teste Controle motor de passo.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 6/10/2006 *
'* Version : 1.0 *
'* Notes : PROJETO PARA TESTAR MOTOR DE PASSO EM CAMPO *
'* : *
'****************************************************************
@ device pic12F675, intrc_osc, wdt_off, pwrt_off, mclr_off, protect_off
' Definiçoes de variaveis
PASSO var word[4]
PASSO[1] = %00000001
PASSO[2] = %00000010
PASSO[3] = %00000100
PASSO[4] = %00010000 'AQUI PULA O 3 PQ O PIC SO ACEITA ENTRADA NO 3
BOTAO VAR GPIO.3
PASSOATUAL VAR BYTE
' Define entradas e saidas
' GPIO 0,1,2,4 SAO SAIDAS
' GPIO 3 E ENTRADA (PORQUE ELE NAO PODE SER SAIDA)
' GPIO 5 NAO UTILIZADO COLOCADO COMO SAIDA PRA EVITAR PROBLEMAS
OUTPUT GPIO.0
OUTPUT GPIO.1
OUTPUT GPIO.2
INPUT GPIO.3
OUTPUT GPIO.4
OUTPUT GPIO.5
PASSOATUAL = 0 'INICIA A VARIAVEL DO PASSO ATUAL
INICIO:
IF BOTAO = 0 THEN 'O BOTOA FICA SEMPRE COMO 1, QUANDO APERTA ELE FICA ZERO
GOSUB PROXIMOPASSO
PAUSE 10 'ESPERA 10 MICRO SEGUNDOS PARA PROXIMO PASSO
' 10 = 1 PASSO
' 1 SEGUNDO = 1000 MICRO SEGUNDOS
' 1 VOLTA = 200 PASSO (MEDIA NEMA 23)
' 1 SEGUNDO = 100 PASSOS
' 1 VOLTA = 2 SEGUNDOS
' 30 RPM E A RESOLUÇAO DO TESTE....
ENDIF
GOTO INICIO
PROXIMOPASSO:
IF PASSOATUAL=0 THEN GPIO = PASSO[1] 'PRIMEIRO PASSO
IF PASSOATUAL=1 THEN GPIO = PASSO[2] 'SEGUNDO PASSO
IF PASSOATUAL=2 THEN GPIO = PASSO[3] 'TERCEIRO PASSO
IF PASSOATUAL=3 THEN GPIO = PASSO[4] 'QUARTO PASSO
PASSOATUAL = PASSOATUAL + 1 'VAI PARA O PROXIMO PASSO
IF PASSOATUAL = 4 THEN PASSOATUAL=0 'SE FOI O PASSO 4 ENTAO VOLTA PRO PRIMEIRO
RETURN