Autor Tema: instruccion bsf  (Leído 2608 veces)

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

Desconectado alejandrojcr

  • PIC10
  • *
  • Mensajes: 14
instruccion bsf
« en: 27 de Noviembre de 2010, 12:00:18 »
hola a todos... bueno estoy realizando una rutina que encienda 12 leds con la instruccion bsf y luego llamo un retardo pero al terminar el retardo se enciende el siguiente led y se apaga el que ya habia encendido por que se apaga no deberia quedarse encendido?

esta es la rutina
p=16f84a
;------------------------------
                bsf         0x03,5
                movlw    0x01
                movfw    0x05
                movlw    0x00
                movwf    0x06
                bcf         0x03,5
;-------------------------------
                org          0
aqui          btfss       0x05,4
                goto        aqui
;--------------------------------
 inicio        bsf         0x05,0
                call         retardo
                bsf          0x05,1
                call         retardo

bueno y haci hasta end   no deberian ir encendiendo y quedandose encendidos?    asi como lo hice se enciende uno retardo entonces se apaga y se enciende el otro

bueno eso es todo espero que me ayuden por que no encuentro la razon por que sucede eso

Desconectado dolphin_96

  • PIC12
  • **
  • Mensajes: 73
    • Ezkybel Electronics
Re: instruccion bsf
« Respuesta #1 en: 27 de Noviembre de 2010, 13:31:24 »
hola no entiendo mucho tu programa por que tienes varias cosas raras, por ejemplo en tu rutina lo que estas haciendo es tratar de encender los pines del puerto A pero no lo definiste como salida, ademas ¿estas esperando accionar el pin  A4 para que comience?
si lo que quieres hacer es que al accionar un boton comience la secuencia deberas hacer lo siguiente: los leds van desde a0 hasta a3 y 8 leds mas en todo el puerto b, y un boton de vcc a el pin A4 con una resistencia de unos 4.7k ohms desde A4 a tierra

p=16f84a      

                org  0
   goto inicio
   org  5
;------------------------------
inicio:        bsf      0x03,5
                movlw    0x10  ; el pin A4 como entrada y todo lo demas como salida
                movwf    0x05
                movlw    0x00  ; todo el puerto b como salida
                movwf    0x06
                bcf        0x03,5

   clrf       0x05     ;pone a cero el puerto A
                clrf       0x06     ; pone a cero el puerto B
;-------------------------------
               
aqui:           btfss    0x05,04   ;espera a que se presione el boton en pin A4
                goto    aqui
;-------------------------------- secuencia
                bsf     0x05,0
                call    retardo
         bsf     0x05,1
                call    retardo
                bsf     0x05,2
                call    retardo
   bsf     0x05,3
                call    retardo
                bsf     0x06,0
                call    retardo

"bueno y así hasta el end"
espero te sirva
saludos
Visiten: www.xbot.es/ezkybel tengo tutoriales para pics con visual basic...:)


 

anything