Generar ASM con Visual C# .net Express

Buenas.

Tengo una idea, la comparto aquí para ver sus opiniones y si realmente vale la pena perder el tiempo en él. Usaré el PIC16F84A ya que es el más conocido, usado y fácil de encontrar. Más adelante se añadirán más PIC incluso los 18Fx4550, sin olvidar los 12Fxxx también. En un principio me quiero concentrar en un solo PIC.

Por poner un código de ejemplo:
Código:
;********************************** Indexado_02B.asm *************************************
;
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.		[url]www.pic16f84a.com[/url]
; 	  Editorial Ra-Ma.  [url]www.ra-ma.es[/url]
;	===================================================================
;
; Repetición del ejercicio Indexado_02.asm sobre la forma de implementar una tabla de 
; verdad, pero resuelto con más eficacia.
;
; 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
	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
	bcf		STATUS,C			; Lee los sensores y los multiplica por 2
	rlf		PORTA,W				; añadiendo un "0" y desplazando hacia la izquierda.
	andlw	b'00001111'			; Se queda con los cuatro bits más bajos
	addwf	PCL,F				; Salta a la configuración adecuada.
	movlw 	b'01100001'			; Estado "Vacio" (configuración 0).
	goto	ActivaSalida
	movlw 	b'01100010'			; Estado "Llenándose" (configuración 1).
	goto	ActivaSalida
	movlw 	b'00010000'			; Estado "Alarma" (configuración 2).
	goto	ActivaSalida
	movlw 	b'00100100'			; Estado "Lleno" (configuración 3).
	goto	ActivaSalida
	movlw 	b'00010000'			; Estado "Alarma" (configuración 4).
	goto	ActivaSalida
	movlw 	b'00010000'			; Estado "Alarma" (configuración 5).
	goto	ActivaSalida
	movlw 	b'00010000'			; Estado "Alarma" (configuración 6).
	goto	ActivaSalida
	movlw 	b'00001000'			; Estado "Rebose" (configuración 7).
ActivaSalida
	movwf	PORTB				; Visualiza por el puerto de salida.
	goto 	Principal

	END
	
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.		[url]www.pic16f84a.com[/url]
; 	  Editorial Ra-Ma.  [url]www.ra-ma.es[/url]
;	===================================================================

Precisamente quiero introducir los códigos necesarios de ejemplo a la hora de configurar algo. Al menos estos básicos.
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 
   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.

Según ponga las configuraciones haciendo click, activo entradas o salidas de los puertos que me de la gana, en tal caso de que sea un 16F88, también se podrá configurar digitales o analógicas.

El fin de toda esta tarea es ahorrar tiempo para generar el código base. En la foto del WinPic800 se puede configurar el PIC. En este tipo de generar códigos muy rápidos, anda bien para códigos de saltos indexado para la tabla de la verdad.

Por ahora estoy con el diseño de la interfaz.

Hasta otra.
 

Adjuntos

  • winpic800_364_00_159.jpg
    winpic800_364_00_159.jpg
    30.2 KB · Visitas: 28
  • genasm_v001_167.jpg
    genasm_v001_167.jpg
    34.3 KB · Visitas: 22
Atrás
Arriba