Autor Tema: ayuda con mi primer programa  (Leído 1855 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado marcelo2112

  • PIC12
  • **
  • Mensajes: 64
ayuda con mi primer programa
« en: 19 de Agosto de 2010, 11:16:35 »
Hola, estoy tratando de agarrarle la mano a esto de la programacion, aclaro que tengo minimos conocimientos de lo que estoy haciendo.
Quiero prender 4 led secuencialmente, la secuencia tendria que estar programada por el estado de los botones conectadoas de ra0 a 3.
Lo que no se como hacer para que reconozca que cambio el estado de un pulsador y ejecute la rutina correspondiente.
El programa:
p var byte
    PORTA = 0
   
    TRISA = %00001111   ;'Puerto A0,A1,A2,A3 como entradas, resto salidas
    TRISB = %00000000   ;' PuertoB todo como salidas
    PORTB = %00000000   ;' Apago los LEDs conectados al puertoB
    inicio         ;' Comienzo un bucle infinito
       ;Calculo el numero de programa seleccionado con los switches
        P = PORTA.0 + PORTA.1*2 + PORTA.2*4 + PORTA.3*8
         P = 0000   ;' Programa “0000”
       
       
         ; Enciendo secuenciamente las luces,
        ;' con una demora de 200 milisegundos entre una y otra
        PORTB = %00000001  ;' Enciendo el LED 0
        pause 200      ;' Espero 200 milisegundos
        PORTB = %00000010  ;' Enciendo el LED 1
        pause 200      ;' Espero 200 milisegundos
        PORTB = %00000100  ; Enciendo el LED 2
        pause 200      ; Espero 200 milisegundos
        PORTB = %00001000  ; Enciendo el LED 3
       pause 200      ;' Espero 200 milisegundos
       
        P = 0001   ;' Programa “0001”
        PORTB = %00001000  ;' Enciendo el LED 4
        pause 1000      ;' Espero segundos
       
        goto inicio
        end   ;'Fin del programa

Espero me puedan explicar que estoy haciendo mal y que tengo que hacer para corregirlo. Gracias a todos.

Desconectado wolfman77

  • PIC12
  • **
  • Mensajes: 82
    • Dos en la ruta
Re: ayuda con mi primer programa
« Respuesta #1 en: 19 de Agosto de 2010, 13:01:55 »
Me marie  :mrgreen:

Vos lo que queres hacer es que segun el boton accionado haga una secuencia de encendido diferente?

Aca te dejo algo en proteus, fijate si te sirve  :-/

Volviendo al mundo de los PIC....

Desconectado marcelo2112

  • PIC12
  • **
  • Mensajes: 64
Re: ayuda con mi primer programa
« Respuesta #2 en: 19 de Agosto de 2010, 14:13:54 »
Si, asi es.
Algo similar a lo que adjuntaste, lastima que las instrucciones son distintas y el microcode studio no las reconoce.
Gracias.
« Última modificación: 19 de Agosto de 2010, 14:24:06 por marcelo2112 »

Desconectado wolfman77

  • PIC12
  • **
  • Mensajes: 82
    • Dos en la ruta
Re: ayuda con mi primer programa
« Respuesta #3 en: 20 de Agosto de 2010, 11:08:00 »
Aaaa... yo todavia estoy empezando en el PSI, una lastima que el basic se divida en varias versiones y no se unifiquen y estandaricen  :?
Volviendo al mundo de los PIC....

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: ayuda con mi primer programa
« Respuesta #4 en: 20 de Agosto de 2010, 13:06:08 »
Citar
una lastima que el basic se divida en varias versiones y no se unifiquen y estandaricen
es que para eso ya existe el C  :mrgreen:

Marcelo, no entiendo mucho de basic, pero creo que para que valla a cada programa deberias incluir alguna instrucción que dependiendo del valor que tome P haga cierta rutina y luego retorne al bucle principal.

Algo así como esto:
if P=0 then
goto Programa0
end if
if P=1 then
goto Programa1
end if

Programa0:
PORTB = %00000001  ;' Enciendo el LED 0
pause 200      ;' Espero 200 milisegundos
PORTB = %00000010  ;' Enciendo el LED 1
pause 200      ;' Espero 200 milisegundos
PORTB = %00000100  ; Enciendo el LED 2
pause 200      ; Espero 200 milisegundos
PORTB = %00001000  ; Enciendo el LED 3
pause 200      ;' Espero 200 milisegundos
goto inicio

Similar con los otros programas,
Espero que te sirva.

Te has conseguido algun tutorial del PBP?
Si quieres iniciarte en los microcontroladores yo te recomiendo que lo hagas con ek Assembler, así puedes ver a nivel hardware como trabajan, luego te será mas facil pasarte a otro lengujae si es tu deseo.  ;-)

Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.