Registrado: Jun 09, 2008 Mensajes: 42 Ubicación: Gijon
Publicado: Martes 7 Octubre 2008 11:48 AM
Buenas Gente !!
Vuelvo a la carga con mas pics y telares!!!
Despues de hacer lo del boton Xbox360, se me a ocurrio adaptarlo para hacer una barra de carga del HDD, como la de las ventanas.
En realidad estoy escribiendo entero el programa
Datos y componentes:
-Como no, un pic 16f84a (mas su cristal de 4MHz..)
-de 8 a 11 LED's con sus respectivas resistencias
-de 1 a 4 entradas de señal de HDD
-Funcion por interrupcion.
Por ahora lo tengo en pruebas, pero espero poner una imagen del simulador esta noche.
Que os parece????
Salu2!
_________________ Intel Core2 Duo E6750 / ASUS P5CK / 2GB (1GBx2)DDR2-800 DC CORSAIR / ASUS HD3870 512DDR4 / Samsung HD160JJ + HD501LJ =660GB HDD sATA2 / DVD-RW BenQ DL x16 / DVD LG /
F.A. BeQuiet StraightPower 700W + Aopen Case
TheGameMaster Desastre informático
Registrado: Jun 09, 2008 Mensajes: 42 Ubicación: Gijon
Publicado: Viernes 10 Octubre 2008 12:25 AM
Bueno he echo el primer soft, es sencillo. Lo he probado con el proteus, os dejo una foto abajo.
Tiene 10 leds de salida y por ahora tiene cuatro figuritas secuenciales, y de ellas solo se puede seleccionar una. Si se desea cambiar de figura hay que cambiarlo y volver a programar el pic.
Es la version 1.0. y esta explicado para que hagais los ajustes oportunos.
; ZONA DE CÓDIGOS ********************************************************************
ORG 0
goto Configura
ORG 4
goto Interrupcion
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Inicio del Software (bcf=Salida bsf=entrada)
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Configura
bsf STATUS,RP0 ;Banco 1
bcf Led1 ;Configura las salidas(0)
bcf Led2 ;Configura las salidas(0)
bcf Led3 ;Configura las salidas(0)
bcf Led4 ;Configura las salidas(0)
bcf Led5 ;Configura las salidas(0)
bcf Led6 ;Configura las salidas(0)
bcf Led7 ;Configura las salidas(0)
bcf Led8 ;Configura las salidas(0)
bcf Led9 ;Configura las salidas(0)
bcf Led10 ;Configura las salidas(0)
bsf HDD ;Configura como entrada para señal HDD
bcf OPTION_REG,6 ;Deteccion por flanco de bajada en portB,0
bcf STATUS,RP0 ;Banco 0
movlw b'10010000' ;Habilita interupcion GIE y Portb0/Int
movwf INTCON
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Inico del Programa
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ini ;Cuando se inicia por primera vez hace un test de inicio
clrf PORTB
clrf PORTA
call SEC_2
clrf PORTB
clrf PORTA
call Retardo_500ms
;******************************************************************
; Aqui el programa se queda en modo reposo hasta que haya
; alguna interrupcion por parte de la señal del HDD
;******************************************************************
Inicio
SLEEP
goto Inicio
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; Interupcion
; Si la señal es positiva, ha de ponerse BTFSS HDD y si es
; negativa se pondra BTFSC HDD. Si esta mal no mas seguro es que
; funcione a la inversa, funcionando sin señal de HDD y parando
; con la señal de HDD
; Si queremos cambiar la figura Secuencial para la barra,
; sustituiremos SEC_x, por el numero deseado de figura.
; Numeros de figura disponibles: 1 a 4
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Interrupcion
call Retardo_2ms ;hace un retardo de 2ms
btfsc HDD ;Btfss para señal positiva, btfsc para señal negativa
call SEC_4 ;llama a la figura seleccionada.
retfie ;retorna de la interrupcion
;888888888888888888888888888888888888888888888888888888888888888888888
;Subrutinas de Secuenciales
;888888888888888888888888888888888888888888888888888888888888888888888
;-----------------------------------------------------------
;TESPERA: tiempo de espera entre el cambio de un led a otro
;sustituir "Retardo_XXms" por 10, 20, 50, 100, 200 mili seg
;-----------------------------------------------------------
TESPERA
call Retardo_20ms ;Ajusta la velocidad de cambio
return
;Sec_1: se desplaza un led del 1 al led 10
SEC_1
call TESPERA ;llama al retardo
bsf Led1 ;enciende el LED
call TESPERA ;llama al retardo de 50ms
bcf Led1 ;apaga el LED
call TESPERA
bsf Led2
call TESPERA
bcf Led2
call TESPERA
bsf Led3
call TESPERA
bcf Led3
call TESPERA
bsf Led4
call TESPERA
bcf Led4
call TESPERA
bsf Led5
call TESPERA
bcf Led5
call TESPERA
bsf Led6
call TESPERA
bcf Led6
call TESPERA
bsf Led7
call TESPERA
bcf Led7
call TESPERA
bsf Led8
call TESPERA
bcf Led8
call TESPERA
bsf Led9
call TESPERA
bcf Led9
call TESPERA
bsf Led10
call TESPERA
bcf Led10
Return
;Sec_2: se desplazan Dos led del 1 al led 10
SEC_2
bsf Led1
call TESPERA ;llama al retardo
bsf Led2 ;enciende el LED
call TESPERA
bcf Led1
bsf Led3
call TESPERA
bcf Led2
bsf Led4
call TESPERA
bcf Led3
bsf Led5
call TESPERA
bcf Led4
bsf Led6
call TESPERA
bcf Led5
bsf Led7
call TESPERA
bcf Led6
bsf Led8
call TESPERA
bcf Led7
bsf Led9
call TESPERA
bcf Led8
bsf Led10
call TESPERA
bcf Led9
call TESPERA
bcf Led10
Return
;Sec_3: Se enciendel todos los led y se desplaza un led apagado
SEC_3
call TESPERA ;llama al retardo
bcf Led1 ;apaga el LED
call TESPERA ;llama al retardo
bsf Led1 ;enciende el LED
call TESPERA
bcf Led2
call TESPERA
bsf Led2
call TESPERA
bcf Led3
call TESPERA
bsf Led3
call TESPERA
bcf Led4
call TESPERA
bsf Led4
call TESPERA
bcf Led5
call TESPERA
bsf Led5
call TESPERA
bcf Led6
call TESPERA
bsf Led6
call TESPERA
bcf Led7
call TESPERA
bsf Led7
call TESPERA
bcf Led8
call TESPERA
bsf Led8
call TESPERA
bcf Led9
call TESPERA
bsf Led9
call TESPERA
bcf Led10
call TESPERA
bsf Led10
Return
;SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
; ===================================================================
INCLUDE <RETARDOS.INC>
END
; ===================================================================
; Parte del soft adquirido del libro
; "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;
; ===================================================================
Ya tengo pensadas las 2 actualizaciones de este cacharro, la 1.5 y la 2.0
-1.5: se podran elegir las 4 figuritas desde dos conmutadores evitando asi reprogramar el pic.
-2.0: se podran elegir 10 (o mas) figuritas secuenciales mediante 2 pulsadores y utilizando la propia barra como indicador.
Buen os comento que os falta la libreria de Retardos.inc. Para conseguirtla mandadme un MP
_________________ Intel Core2 Duo E6750 / ASUS P5CK / 2GB (1GBx2)DDR2-800 DC CORSAIR / ASUS HD3870 512DDR4 / Samsung HD160JJ + HD501LJ =660GB HDD sATA2 / DVD-RW BenQ DL x16 / DVD LG /
F.A. BeQuiet StraightPower 700W + Aopen Case