Código:
define OSC 4 ' se define el tipo de oscilador a usar
Define LCD_DREG PORTD ' De aqui a->
Define LCD_DBIT 4
Define LCD_RSREG PORTD
Define LCD_RSBIT 2
Define LCD_EREG PORTD
Define LCD_EBIT 3 ' <- aqui se definen lo pueros del LCD
Define ADC_BITS 10 ' De aqui a->
Define ADC_CLOCK 3
Define ADC_SAMPLEUS 50 '<- se define como se a manejar el conversor analogico a digital
TrisB=%11111111 ' se definen todos los puertos como entrada
TrisC=%00000000 ' se definen todos lo puertos como salida
Portc=%110000 ' se le dice que lel bit 4y5 se inicialicen en alto los demas en bajo
SensA var word 'de aqui a ->
SensB var word
AStep Var word '<- a aqui se declan la variables en tipo word o doble byte
ADCON1 = %10000010 ' se define el puertoA esto se ve en la tabla del Datasheet de cada uC
astep=0 ' se inicializa variable astep=0
Pause 500 ' se hace una pausa de 500 milisegundos
Inicio: ' se crea una etiqueta
if portb.0=1 then ' si se pulsa la tecla colocada en Mueve entonces
if portb.1=0 then astep=Astep+1 ' aumenta un paso si el boton derecha esta sin presionar
if portb.1=1 then 'si no
if astep<>0 then astep=Astep-1 ' entonces verifica que no este en el primer paso si no es asi disminuye
endif ' un paso esto es para dar hacia la derecha o izquierda
if portb.2=0 then gosub mueveh 'si el pulsador Hall/full esta desactivado se va a la rutina mueveH
if portb.2=1 then gosub muevef ' si el pulsador Hall/full esta activado se va a la rutina MueveF
if portb.3=0 then Lcdout $fe,1,"Value A:", DEC astep ' si el pulsador senece va a desplegar en Decimal
' el valor de Astep... osea el numero del paso en
' la secuencia de 8 pasos en caso de ser Full
' o 4 en caso de ser Half
endif
if portb.3=1 then gosub adc ' si el pulador sense esta en alto entonces se va a la rutina ADC
Goto inicio ' se hace un bucle
End ' se termian el codigo
Hasta ahi se entiende...?????
Última edición: