Programas

Páginas: 8 (1817 palabras) Publicado: 3 de junio de 2012
Por el puerto B se obtiene el dato de las cinco líneas del puerto A, al que está conectado un array de interruptores, sumándole el valor de una constante. Por ejemplo 74 decimal. Es decir. (PORTB) = (PORTA)+constante. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A ; Procesador utilizado. INCLUDE ; Definición de algunos operandos utilizados. Constante EQU d'74' ; En sistemadecimal se pone así.

; ZONA DE CÓDIGOS ******************************************************************* ORG Inicio bsf clrf movlw movwf bcf Principal movf addlw movwf goto END STATUS,RP0 TRISB b'00011111' TRISA STATUS,RP0 PORTA,W Constante PORTB Principal ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1. ; Las líneas del Puerto B configuradas como salidas. ; Las 5 líneas del Puerto Aconfiguradas como entradas. ; Pone a 0 el bit 5 de STATUS. Acceso al Banco 0. ; Carga el registro de datos del Puerto A en (W). ; (W)=(PORTA)+Constante. ; El contenido de W se deposita en el puerto de salida. ; Crea un bucle cerrado e infinito. ; Fin del programa. 0 ; El programa comienza en la dirección 0.

Por el puerto B se obtiene el dato del puerto A multiplicando por 2. Es decir (PORTB)=2(PORTA) +(PORTA) __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A ; Procesador utilizado. INCLUDE ; Definición de algunos operandos utilizados. ORG 0 ; El programa comienza en la dirección 0. ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1. ; Las líneas del Puerto B se configuran como salidas. ; Las líneas del Puerto A como entradas. ; Pone a 0 el bit 5 de STATUS. Acceso al Banco 0. ;Carga el registro de datos del Puerto A en (W). ; (W)=(PORTA)+(PORTA)=2(PORTA). ; El contenido de W se deposita en el Puerto B. ; Crea un bucle cerrado e infinito. ; Fin del programa.

Inicio bsf STATUS,RP0 clrf TRISB movlw b'00011111' movwf TRISA bcf STATUS,RP0 Principal movf PORTA,W addwf PORTA,W movwf PORTB goto Principal END

Por el puerto B se obtiene el dato introducido por el puerto A,pero los bits pare de la salida se fijan siempre a “1”. El orden de los bits será “b7 b6 b5 b4 b3 b2 b1 b0”, siendo los pares el b6, b4, b2 y b0. Por ejemplo, si por el puerto A se introduce el dato ‘01100’, por el puerto B se visualizara ‘11101’ Observa que Los bits pares están a “1”, efectivamente (puerto B) y los impares permanecen con el dato

del puerto de entrada (efectivamente: Puerto A =b'---x1x0x' y Puerto B = b'xxxx1x0x').
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A ; Procesador utilizado. INCLUDE ; Definición de algunos operandos utilizados. Mascara ORG Inicio EQU 0 bsf clrf movlw movwf bcf b'01010101' ; Máscara de bits impares siempre a "0".

; El programa comienza en la dirección 0. STATUS,RP0 ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1. TRISB ;Las líneas del Puerto B se configuran como salidas. b'00011111' TRISA ; Las 5 líneas del Puerto A como entrada. STATUS,RP0 ; Pone a 0 el bit 5 de STATUS. Acceso al Banco 0.

Principal movf PORTA,W; Carga el registro de datos del Puerto A en W andlw Mascara; Pone a "0" los bits pares. movwf PORTB; El contenido de W se deposita en la salida. goto Principal; Se crea un bucle cerrado e infinito. END; Fin del programa.

Por el Puerto B obtiene el dato del Puerto A, pero en las salida los bits impares se fijan siempre a "0". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los impares el b7, b5, b3 y b1. Por ejemplo si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza b'00000100'. Observar que los bits impares están a "0" (efectivamente: Puerto B =b'0x0x0x0x') y los pares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---0x1x0' y Puerto B = b'---0x1x0').

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A ; Procesador utilizado. INCLUDE ; Definición de algunos operandos utilizados. Mascara ORG Inicio EQU 0 b'01010101' ; Máscara de bits impares siempre a "0". ; El programa comienza en la dirección...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programa
  • Program
  • Un Programa
  • Programas
  • Programas
  • Programa
  • Programador
  • Program

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS