;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ; PLANTILLA DE PROGRAMACION EN PIC ^ ; ^ ; Estas lineas sirven de informacion al programador ^ ; Deben documentarse todas las rutinas y el motivo de ser ^ ; (Las tildes estan omitidas de manera intencionada) ^ ; ^ ; NO OLVIDE HACER UNA COPIA DE ESTE ARCHIVO ENTES DE USARLO ^ ;_________________________________________________________________ ^ ; Recordar que con: 0 se designa al registro W y con ^ ; 1 se designa al archivo f ^ ; ^ ; Indicar el chip a usar => LIST P=PIC16F84 y solo F84 chip ^ ; Y la directiva include => #INCLUDE <P16F84.INC> ^ ; ^ ; Indicar que hace el progr. => LED desplaza arriba y abajo en 2Hz.^ ; TITULO, FECHA, ETC. ^ ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ;__________________________________________________________________ TITLE "X ejemp. Contador doble 00-99" SUBTITLE "Revision Nº X" LIST F = INHX8M, MM = ON, T = ON, ST = OFF RADIX HEX ERRORLEVEL 0, -302, -306 PROCESSOR 16F84A ;16F84A-20/P LIST P=PIC16F84 #INCLUDE <P16F84.INC> ;Inclusion de fichero de etiquetas ;**************** Oscilador (Reloj) utilizando **************** ; ; 04Mhz en modo XT con 1 useg por instrucción, _XT_OSC ; ; Red RC alrededor de 3MHz, _RC_OSC ;ATENCION. No usar las siguientes 15 líneas hasta saber bien su significado. ; __CONFIG _CP_OFF &_PWRTE_OFF &_WDT_OFF &_XT_OSC ; ; ; Definicion o Declaracion de equs (igualdades) CONTA equ 0x0C ; MEMORIA empieza en 0CH ; CONTA registro auxiliar para RETARDO DIGITO equ 0x0D ; registro auxiliar que lleva el conteo del digito ;DEFINIMOS LOS BANCOS #define bank1 bsf STATUS,RP0 ;Macro para abreviar el BANCO 1 #define bank0 bcf STATUS,RP0 ;Macro para abreviar el BANCO 0 Org 0x00 ;Posicion 0 de la Memoria de Programa (apuntador) ;Viene cuando hay una interrupcion. goto INICIO ;Va a la etiqueta INICIO ; ;-------------------- AQUI EMPIEZA SU PROGRAMA ------------------------------ Inicio: bank1 ;Ir a pagina1 para ajustar los puertos MOVLW 00h ;Cargar 00 en W MOVWF 05h ;Hacer salida todas las líneas RA MOVWF 06h ;Hacer salida todas las líneas RB bank0 ; Ir a pagina0 para seguir programa