PROYECTOS » Motor DC
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2022 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 25/02/2022 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
''''DIRECCION DE RE3GISTROS'''
PORTA=5
PORTB=6
TRISA=133
TRISB=134
''CONFIGURACION DE PUERTOS''
POKE 133,7 'PORTA=00000011'
POKE 134,0 'PORTB=00000000(TODO SALIDAS)'
''DEFINICION DE ALIAS'''
IZQ VAR PORTA.0 'PULSADOR DE GIRO IZQUIERDA'
PARO VAR PORTA.1 'PULSADOR DE PARO DE GIRO'
DER VAR PORTA.2 'PULSADOR DE GIRO DERECHA'
'''DEFINICION DE VARIABLES'''
T VAR WORD 'VARAIABLE DE TIEMPO'
X VAR BYTE 'VARIABLE DE MANEJO DE PUERTO PB.0 HASTA PB.3'
'''ESTADOS INICIALES'''
T=500 'TIEMPO DE 500 ms'
'''programa principal''
INICIO:
IF DER=0 THEN GIRO_DERECHA 'SI PA.0=0 ENTONCES SALTO A LAZO1'
IF IZQ=0 THEN GIRO_IZQUIERDA 'SI PA.1=0 ENTONCES SALTO A LAZO2'
PAUSE 300 'ESPERA DE 18 ms (APROX FREC DE 60 HZ)
GOTO INICIO 'RETORNO A ETIQUETA INICIO'
GIRO_DERECHA: 'BUCLE DE GIRO DERECHA
FOR X=0 TO 3 'ACTIVA SALIDAS DESDE PB,0 HASTA PB.3
HIGH X 'ACTIVA SALIDA X
PAUSE T 'ESPERA DE T MILISEGUNDOS
LOW X 'DESACTIVA SALIDA X
IF PARO=0 THEN INICIO 'LEE PULSADOR DE PARO
IF IZQ=0 THEN GIRO_IZQUIERDA 'LEE PULSADOR DE IZQUIERDA
NEXT X
GOTO GIRO_DERECHA 'CONTINUA BUCLE DE GIRO DERCHA'
GIRO_IZQUIERDA: 'BUCLE DE GIRO IZQUIERDA
FOR X=3 TO 0 STEP -1 'ACTIVA SALIDAS DESDE PB,3 HASTA PB.0
HIGH X 'ACTIVA SALIDA X
PAUSE T 'ESPERA DE T MILISEGUNDOS
LOW X 'DESACTIVA SALIDA X
IF PARO=0 THEN INICIO 'LEE PULSADOR DE PARO
IF DER=0 THEN GIRO_DERECHA 'LEE PULSADOR DE DERECHA
NEXT X
GOTO GIRO_IZQUIERDA 'CONTINUA BUCLE DE GIRO IZQUIERDA'
END