Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Meta en 3 Mayo 2009, 18:50 pm



Título: Interfaz saltos de líneas para PIC
Publicado por: Meta en 3 Mayo 2009, 18:50 pm
Buenas a todos y todas:

Tengo la idea que tengo medio hecho y está en experimentación de hacer un programa para poder generar los códigos necesarios rápidamente. Quizás sea una tontería y pérdida de tiempo, al menos sólo para un PIC. Lo haré con el PIC16F84A, más adelante lo haré para 16F876A/877A/886/887/88/628A y también en ASM para los 18F2550/4550 (también se puede para C).

Generaría la tabla de la verdad al menos que estoy haciendo es del 3 últimos bit, ya haré de 16 combinaciones.

Se generaría un archivo.asm o txt como se muestra abajo.
Código:
; ZONA DE DATOS **********************************************************************

LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS ********************************************************************

ORG 0 ; El programa comienza en la dirección 0.
Inicio
clrf PORTB ; Debe estar a cero cuando el puerto se configure como salida.
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B se configuran como salida.
movlw b'00011111' ; Las 5 líneas del Puerto A se configuran como entrada.
movwf TRISA
bcf STATUS,RP0 ; Acceso al Banco 0.
Principal
movf PORTA,W ; Lee los sensores.
andlw b'00000111' ; Máscara para quedarse con el valor de los sensores.
addwf PCL,F ; Salta a la configuración adecuada.
goto Configuracion0
goto Configuracion1
goto Configuracion2
goto Configuracion3
goto Configuracion4
goto Configuracion5
goto Configuracion6
goto Configuracion7
Configuracion0
movlw b'01100001' ; Estado "Vacio" (configuración 0).
goto ActivaSalida
Configuracion1
movlw b'01100010' ; Estado "Llenándose" (configuración 1).
goto ActivaSalida
Configuracion2
movlw b'00010000' ; Estado "Alarma" (configuración 2).
goto ActivaSalida
Configuracion3
movlw b'00100100' ; Estado "Lleno" (configuración 3).
goto ActivaSalida
Configuracion4
movlw b'00010000' ; Estado "Alarma" (configuración 4).
goto ActivaSalida
Configuracion5
movlw b'00010000' ; Estado "Alarma" (configuración 5).
goto ActivaSalida
Configuracion6
movlw b'00010000' ; Estado "Alarma" (configuración 6).
goto ActivaSalida
Configuracion7
movlw b'00001000' ; Estado "Rebose" (configuración 7).
ActivaSalida
movwf PORTB ; Visualiza por el puerto de salida.
goto Principal

END

El programa aún no es funcional del todo, estoy con pruebas y diseño de la Interfaz primero, para luego programarlo al final.

(http://electronicapic.iespana.es/cs/asmbin.jpg)

Abajo se puede descargar el programa hecho, pero aún no es funcional, sólo cositas de diseño.
Saludo.