pic Jul. 2016 | Page 106

; ; ; ; ; ; ; ; ; ; ; ; ************************************************************* Programa Display.asm Contamos hasta 0x5f. El valor del contador se visualizará en 8 diodos LED conectados al puerto B a partir de la patilla 1, sin gestión de punto decimal Preparado para PIC16F84 Velocidad del reloj: 4 MHz Ciclo de instrucción: 1 MHz = 1 microsegundo Interrupciones: A través de PB.0, para detener y recomenzar la cuenta. Perro guardián: Desactivado Tipo de Reloj: XT Protección del código: Desactivado ; ************************************************************* LIST P = 16F84 ;Indicamos el modelo de PIC a utilizar ; Definición de registros portb EQU 0x06 TRISB estado pc intcon opcion EQU EQU EQU EQU EQU 0X06 0X03 0x02 0x0B 0x01 ;Hemos conectado el teclado al puerto B ;La dirección 0x06 corresponde al registro PORTB (puerto B) ; en el banco1 ; y TRISB en banco 1 ; La dirección del registro de estado es la 0x03 ; Contador de Programa, dirección de memoria actual de programa ; Registro gestionador de interrupciones ; Registro OPTION. Recordar que está en el banco 1. ; Definición de bits banco Z int intdeg alto. intf inte GIE EQU EQU EQU EQU 0X05 0X02 0x00 0x06 ; ; ; ; Bit del registro de estado correspondiente al banco de datos Bit indicador de que el registro W está a cero Bit de interrupción externa, es el 0 en el puerto B. Bit 6 de OPTION, que indica si la interrupción PB0 es por nivel EQU EQU EQU 0x01 0x04 0x07 ; Bit 1 de INTCON, flag de interrupción por PB0. ; Bit 4 de INTCON, habilitador de interrupción por PB0. ; Bit 7 de INTCON, habilitador de interrupciones. ; Definición de constantes w f EQU EQU 0 1 ; Destino de operación = w ; Destino de operación = registro ; Definición de variables contador digito EQU EQU 0X0C ; Contador 0X0D ; Para almacenar el dígito ; Comienzo del programa. ORG 0X00 GOTO inicio ORG 0x04 ; Cubrimos el vector de reset ; Saltamos a la primera dirección tras el vector de interrupción ; Vector de interrupción GOTO RSI 104