Академический Документы
Профессиональный Документы
Культура Документы
Arquitectura de Procesadores
Arquitectura de Procesadores
BCF F, bit
Arquitectura de Procesadores
Arquitectura de Procesadores
Arquitectura de Procesadores
Los registros estn distribuidos en los cuatros bancos de la memoria de datos por lo que el programador deber estar cambiando constantemente de bancos. En la regin de memoria definida como GPR, el usuario puede trabajar sin problemas que afecte al hardware del microcontrolador, es aqu donde normalmente se definen las variables de trabajo.
Arquitectura de Procesadores
EJEMPLO : El siguiente programa muestra como configurar el puerto B como salida y generar una cuenta binaria.
Arquitectura de Procesadores
EJEMPLO :
Arquitectura de Procesadores
EJEMPLO :
Arquitectura de Procesadores
EJEMPLO : Escribir un programa que permita leer el puerto C y escribir el dato ledo al puerto D.
Arquitectura de Procesadores
Arquitectura de Procesadores
EJERCICIO : Escribir un programa que permita realizar la funcin lgica de una inversor.
Arquitectura de Procesadores
Arquitectura de Procesadores
Arquitectura de Procesadores
Arquitectura de Procesadores
Arquitectura de Procesadores
list p = PIC16F84A ; Seleccionar procesador #include <P16F84A.inc> ; incluir archivo P16F84A.inc __config _PWRTE_ON & _WDT_OFF & _XT_OSC & _CP_OFF cont1 equ cont2 equ Start org bsf clrf bcf 0x0C 0x0D 0x00 ; Ubicar cont1 en direccin 0x0C ; Ubicar cont2 en direccin 0x0D
; Vector de Reset ; Iniciar STATUS, RP0 ; RP0 = 1. Cambiar al Banco 1 TRISB ; TRISB = 0x00. Configurar todo PORTB como salida STATUS, RP0 ; RP0 = 0. Cambiar al Banco 0
Arquitectura de Procesadores
MLoop movlw b'00000000' ; 00000000 a W movwf PORTB ; W a PORTB call Pausa ; Llamar pausa de 250 ms movlw b'00011000' ; 00011000 a W movwf PORTB ; W a PORTB call Pausa ; ... movlw b'00100100' movwf PORTB call Pausa movlw b'01000010' movwf PORTB call Pausa movlw b'10000001' movwf PORTB call Pausa goto MLoop ; Saltar a MLoop
Arquitectura de Procesadores
; Subrutina pausa. Genera 250 milisegundos. Pausa movlw d'79' ; Mover 79 a W movwf cont1 ; Mover W a cont1 (cargar cont1) movlw d'196' ; Mover 196 a W movwf cont2 ; Mover W a cont2 (cargar cont2) loop1 decfsz cont1, f ; decrementar cont1, saltear si da 0 goto loop2 ; saltar a loop2 decfsz cont2, f ; decrementar cont2, saltear si da 0 loop2 goto loop1 ; saltar a loop1 return ; retornar de subrutina end ; Fin del cdigo
Arquitectura de Procesadores