Documente Academic
Documente Profesional
Documente Cultură
; el Puerto A. Así por ejemplo si por la entrada lee "---0101" en el display visualiza "5".
; ZONA DE DATOS
;**********************************************************************
LIST P=16F84A
INCLUDE <P16F84A.INC>
; ZONA DE CÓDIGOS
********************************************************************
Inicio
movwf PORTA
Principal
goto Principal
; Subrutina "Binario_7Segmentos" --------------------------------------------------------
addwf PCL,F
; ===================================================================
;************* Int_T0I_ ONDA CUADRADA ************************************
; Por la línea 3 del puerto B se genera una onda cuadrada de 10 kHz, cada semiperiodo dura
; del Timer 0. A la línea de salida se puede conectar un altavoz que producirá un pitido.
; ZONA DE DATOS
**********************************************************************
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C
ENDC
; ZONA DE CÓDIGOS
********************************************************************
ORG 0
goto Inicio
goto Timer0_Interrupcion
Inicio
movlw b'00001000'
movlw b'10100000'
; Como el PIC trabaja a una frecuencia de 4 MHz el TMR0 evoluciona cada microsegundo. Para
; Efectivamente: 1 µs x 50 x 1 = 50 µs.
Timer0_Interrupcion
movlw TMR0_Carga50us
goto EstabaAlto
EstabaBajo
goto FinInterrupcion
EstabaAlto
FinInterrupcion
retfie
; Comprobando con el simulador del MPLAB se obtienen unos tiempos para la onda cuadrada de
END
; ===================================================================
;***************************** MotorDC **********************************
; giro. Con RA0=0, el motor se pone en marcha y su sentido de giro dependerá del valor
; ZONA DE DATOS
**********************************************************************
LIST P=16F84A
INCLUDE <P16F84A.INC>
; ZONA DE CÓDIGOS
********************************************************************
ORG 0
Inicio
bsf STATUS,RP0
bsf EntradaSentido
bcf STATUS,RP0
Principal
goto ActivaSalida
ActivaSalida
movwf PORTB
goto Principal
END
; ===================================================================
;**************************** MotorDC_ ****BITS****************************
; giro. Con RA0=1, el motor se pone en marcha y su sentido de giro dependerá del valor
; que tenga RA1. Se diferencia del anterior en que trabaja con bits.
; ZONA DE DATOS
*************************************************************************
LIST P=16F84A
INCLUDE <P16F84A.INC>
; ZONA DE CÓDIGOS
*********************************************************************
ORG 0
Inicio
bsf STATUS,RP0
bsf EntradaSentido
bcf SalidaMarcha
bcf SalidaSentido
bcf STATUS,RP0
Principal
btfsc EntradaMarcha ; Comprueba estado del interruptor de
funcionamiento.
goto Gira
Gira
goto GiroOtroSentido
goto Fin
GiroOtroSentido
END
; ===================================================================