TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: PABLOHAAA en 13 de Junio de 2006, 21:03:41
-
HOLA QUE TAL¡ KISIERA VER SI ALGUIEN ME PUEDE AYUDAR CON UN PROGRAMA SE TRATA DE HACER UN ACUMULADOR USANDO EL PORTB KE EMPIESE RRECORRIENDO DE RB0 Y LLEGUE A RB7 Y SE KEDE PRENDIDO ASI SUCESIVAMENTE HASTA KE SE PRENDAN TODOS(HASTA KE AKUMULE) Y DESPUES KE PALPITEN TODOS LEDS INTERMITENTEMENTE POR ALGNOS SEGUNDOS Y LUEGO APLIKANDO RESET KE VUELVA ACUMULAR¡ TENGO ESHO SOLO EL EFECTO ACUMULATIVO ...
;====PROGRAMA PRINCIPAL==================
INICIO BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BCF PORTB,RB1
BSF PORTB,RB2
CALL RETARDO
BCF PORTB,RB2
BSF PORTB,RB3
CALL RETARDO
BCF PORTB,RB3
BSF PORTB,RB4
CALL RETARDO
BCF PORTB,RB4
BSF PORTB,RB5
CALL RETARDO
BCF PORTB,RB5
BSF PORTB,RB6
CALL RETARDO
BCF PORTB,RB6
BSF PORTB,RB7
CALL RETARDO
BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BCF PORTB,RB1
BSF PORTB,RB2
CALL RETARDO
BCF PORTB,RB2
BSF PORTB,RB3
CALL RETARDO
BCF PORTB,RB3
BSF PORTB,RB4
CALL RETARDO
BCF PORTB,RB4
BSF PORTB,RB5
CALL RETARDO
BCF PORTB,RB5
BSF PORTB,RB6
CALL RETARDO
BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BCF PORTB,RB1
BSF PORTB,RB2
CALL RETARDO
BCF PORTB,RB2
BSF PORTB,RB3
CALL RETARDO
BCF PORTB,RB3
BSF PORTB,RB4
CALL RETARDO
BCF PORTB,RB4
BSF PORTB,RB5
CALL RETARDO
BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BCF PORTB,RB1
BSF PORTB,RB2
CALL RETARDO
BCF PORTB,RB2
BSF PORTB,RB3
CALL RETARDO
BCF PORTB,RB3
BSF PORTB,RB4
CALL RETARDO
BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BCF PORTB,RB1
BSF PORTB,RB2
CALL RETARDO
BCF PORTB,RB2
BSF PORTB,RB3
CALL RETARDO
BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BCF PORTB,RB1
BSF PORTB,RB2
CALL RETARDO
BSF PORTB,RB0
CALL RETARDO
BCF PORTB,RB0
BSF PORTB,RB1
CALL RETARDO
BSF PORTB,RB0
SLEEP
PERO KISIERA SABER KE ME HACE FALTA PARA KE PRENDAN Y APAGUEN UNA VES KE SE COMPLETO LA ACUMULACION..¡¡
-
Hola.
Hay muchas alternativas:
Te doy una:
Despues de esa secuencia de acumulacion pone:
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
COMF PORTB,1
CALL RETARDO
SLEEP
Y, ya optimizandolo un poco al ejemplo anterior, podrias optar por poner:
movlw .10 ;Cantidad de veces que vamos a apagar/encender. En este caso serian 5 apagadas y 5 encendidas
movwf INVERTIR ;(declará previamente este registro)
Cambio
call RETARDO ;Dar tiempo para poder notar el cambio
comf PORTB,1 ;Invertir el valor del puertoB
decfsz INVERTIR,1
goto Cambio
sleep
Saludos.