TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: sentinela_x en 30 de Mayo de 2009, 03:20:36
-
Hice una programación para que suceda lo siguiente ... cuando el Pulsador conectado a RA0 recibe un 1 este active una secuencia llamada Destello y a la vez encienda un led en RB0, cuando RA0 pasa a estado 0 desactiva leds.
estoy casi seguro que el error esta en mi programacion ya que soy muy novatoide en esto.. sin embargo al hacer la simulacion con el PIC simulator salio todo bien... a que se puede deber esto?
mi pic es un 16F84A con cristal de 4Mhz
aca dejo el codigo
'PIC 16F84A
'Pulsador en RA0, cuando esta en 1 activa destello de led en RB1
'y enciende led en RB0, cuando RA0 pasa a estado 0 desactiva leds.
'30/05/2009
Define CONF_WORD = 0x3ff1
'Code Protection = OFF
'Power-up Timer = Enabled
'Watchdog Timer = Disabled
'Oscillator Selection = XT
Define CLOCK_FREQUENCY = 4 '4 Mhz
AllDigital 'E/S digitales
TRISA = %11111 'Todos como entradas
TRISB = %00000000 'Todos como salidas
PORTB = %00000000 'salidas en 0
inicio:
If PORTA.0 = 1 Then
PORTB.0 = 1
Goto parpadeo
Else
PORTB.0 = 0
Endif
Goto inicio
parpadeo:
PORTB.1 = 1
WaitMs 1
PORTB.1 = 0
If PORTA.0 = 0 Then
Goto inicio
Else
Goto parpadeo
Endif
End
espero que me puedan ayudar. un saludo :wink:
Pd: hay algun tutorial que empiece desde 0 con lo que es Variables para pic simulator ide ? porque busque en el foro pero no encontre..
Pd2: puedo hacer este mismo programita pero usando variables? como seria? (si tienen tiempo)
-
hola
tienes en el Foro abundante información sobre PSI. vaya como muestra:
http://www.todopic.com.ar/foros/index.php?topic=15256.msg95625#msg95625
http://www.todopic.com.ar/foros/index.php?topic=19570.msg141958#msg141958
http://www.todopic.com.ar/foros/index.php?topic=14917.msg92082#msg92082
en la web de Oshon encontrarás un manual así como diferentes ejemplos de PSI:
http://www.oshonsoft.com/pic.html
en la práctica un valor de 1ms (WaitMs) es casi imperceptible y ese puede ser tu problema porque el programa funciona. o eso o tienes algo con el hardware.
en la simulación los tiempos distan mucho de ser reales pero eso se puede mejorar con la siguiente línea antes de inicio:
Define SIMULATION_WAITMS_VALUE = 1 'suprime los tiempos de espera Waitms, SOLO activar esta linea en simulacion
un saludo
-
hola xocas, el WaitMs lo cambie a 1 para poder ver la simulacion sin tener que estar esperando mucho tiempo,,
en mi pic esta cargado como WaitMs 200 ,, pero aun asi cuando alimento el pic se encienden los 2 leds sin que yo toque nada.. no entiendo porque pasa esto..
en cuanto a los links que me pasaste ya los estuve revisando .. el de aitopes no lo llegue a entender porque empieza muy de golpe con las variables , los de jim_17 ya hice los primeros 3 que son los que entiendo, y los de dogflu66 son tutos para los que usan LCD . :( no encontre algun post que sea para novatos en PSI.
gracias por tu ayuda.
-
pon PORTA = 0 para asegurarte de que sea este su valor al iniciar, revisa el hardware y si tal aumenta el WaitMs a 500 (medio segundo) para tener una evidencia más palpable.
dale un ojo al manual de referencia de la web de Oshon para ver el tema de las variables
un saludo
-
parpadeo:
PORTB.1 = 1
WaitMs 200
PORTB.1 = 0
WaitMs 200 'Nueva linea ---------------------------
If PORTA.0 = 0 Then
Goto inicio
Else
Goto parpadeo
Endif
End
Te engañan tus ojos al utilizar una velocidad tan rápida de ejecución no ves realmente lo que pasa. Cambia a una velocidad mas lenta de simulación y entonces podrás ver el fallo.
¿Que problema tienes con las variables?
-
¿Que problema tienes con las variables?
que simplemente no las entiendo.. y no vi ejemplos basicos como para asociarlas a los ejercicios que estoy haciendo yo.
-
dale un ojo a este artículo: http://www.ucontrol.com.ar/wiki/index.php/PIC_BASIC_(PSI) que es una introducción sencilla y paso a paso sobre PSI
un saludo
-
Yo creo que el problema no es definir las variables, creo que el problema esta en darles utilidad. El programa que expone no tiene necesidad de usar variables. En realidad las variables son las que le dan una verdadera utilidad y potencia al microcontrolador, esto lo puedes ver tu mismo, tan solo intenta realizar el mismo programa utilizando dos entradas distintas y, cada entrada asociada a una salida diferente (dos led individuales y con secuencias de parpadeo diferentes). Intenta hacer esto y luego nos cuentas.
-
dale un ojo a este artículo: http://www.ucontrol.com.ar/wiki/index.php/PIC_BASIC_(PSI) que es una introducción sencilla y paso a paso sobre PSI un saludo
gracias xocas, con ese articulo voy entendiendo un poco mas.
intenta realizar el mismo programa utilizando dos entradas distintas y, cada entrada asociada a una salida diferente (dos led individuales y con secuencias de parpadeo diferentes). Intenta hacer esto y luego nos cuentas.
Voy a intentarlo (después de estudiar para algebra y quimica :( ) , gracias por el consejo. luego les cuento como me fue. :mrgreen: