Temporizador TMR0 pic18F4620 (implementado)
Configura el registro OPTION_REG del microcontrolador como un oscilador interno realizando retardos en un contador
binario.

Javier Alejandro Gutierrez de León

LIST P=18F4620; PIC
INCLUDE <P18F4620.INC>;LIBRERIA DEL REGISTRO


CONFIG OSC = INTIO67; OSCILADOR INTERNO
CONFIG FCMEN = OFF ;FAIL-SAFE CLOCK
CONFIG IESO = OFF;OSCILADOR SWITCH
CONFIG PWRT = ON;POWER UP TIMER
CONFIG BOREN = OFF
CONFIG BORV = 3
CONFIG WDT = OFF
CONFIG WDTPS = 1
CONFIG CCP2MX = PORTBE
CONFIG PBADEN = OFF
CONFIG LPT1OSC = OFF
CONFIG MCLRE = OFF
CONFIG STVREN = OFF
CONFIG LVP = OFF
CONFIG XINST = OFF
CONFIG CP0=OFF, CP1=OFF, CP2=OFF, CP3=OFF
CONFIG CPB = OFF
CONFIG CPD = OFF
CONFIG WRT0=OFF, WRT1=OFF, WRT2=OFF, WRT3=OFF
CONFIG WRTC = OFF
CONFIG WRTB = OFF
CONFIG WRTD = OFF
CONFIG EBTR0 = OFF
CONFIG EBTR1 = OFF
CONFIG EBTR2 = OFF
CONFIG EBTR3 = OFF
CONFIG EBTRB = OFF
CBLOCK 0X100
ENDC
ORG 0X00
X EQU 0x20
Y EQU 0x21
CONTADOR EQU 0x22
BEGIN
CALL _ALLDIGITAL
CALL _OSCILADOR
CALL _TRIS
REPEAT

CALL _TMRO2
MOVF CONTADOR,W
MOVWF PORTB
GOTO REPEAT
;******************************OSCILADOR INTERNO***********************************
_OSCILADOR
MOVLW B'0001111'
MOVWF BSR
BCF OSCCON,IDLEN
BSF OSCCON,IRCF2
BSF OSCCON,IRCF1
BCF OSCCON,IRCF0
BCF OSCCON,SCS1
BCF OSCCON,SCS0
BCF OSCTUNE,INTSRC
BCF OSCTUNE,PLLEN
BCF OSCTUNE,TUN4
BCF OSCTUNE,TUN3
BCF OSCTUNE,TUN2
BCF OSCTUNE,TUN1
BCF OSCTUNE,TUN0
RETURN

;*******************************TODO DIGITAL******************************************
_ALLDIGITAL
MOVLW B'00001111'
MOVWF BSR
BCF ADCON0,ADON
BSF ADCON1,PCFG3
BSF ADCON1,PCFG2
BSF ADCON1,PCFG1
BSF ADCON1,PCFG0
BSF CMCON,CM2
BSF CMCON,CM1
BSF CMCON,CM0
BCF CVRCON,CVREN
RETURN

;***************************PUERTOS*****************************************************
_TRIS
MOVLW B'00001111'
MOVWF BSR
MOVLW B'00000000'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'11111111'
MOVWF TRISC
MOVLW B'00000000'
MOVWF TRISD
MOVLW B'00000000'
MOVWF TRISE
RETURN


;************************TMR0**********************************
_TMRO
MOVLW B'00001111'
MOVWF BSR
BSF T0CON,TMR0ON
BCF T0CON,T08BIT
BCF T0CON,T0CS
BCF T0CON,T0SE
BCF T0CON,PSA
BSF T0CON,T0PS2
BCF T0CON,T0PS1
BCF T0CON,T0PS0
BTFSS INTCON,TMR0IF
GOTO $-1
GOTO _SI_
_SI_
BCF INTCON,TMR0IF
RETURN





;************************TMR0 PRUEBA TAREA**********************************
_TMRO2
MOVLW B'00001111'
MOVWF BSR
BSF T0CON,TMR0ON
BCF T0CON,T08BIT
BCF T0CON,T0CS
BCF T0CON,T0SE
BCF T0CON,PSA
BCF T0CON,T0PS2
BSF T0CON,T0PS1
BSF T0CON,T0PS0
BTFSS INTCON,TMR0IF
GOTO _NO_7
GOTO _SI_7
_NO_7
RETURN
_SI_7
BCF INTCON,TMR0IF ;LIMPIA BANDERA
INCF CONTADOR
MOVLW .255
CPFSEQ CONTADOR,W
RETURN
CLRF CONTADOR
RETURN

END

Dato histórico
El campo de los microcontroladores tiene sus principios de desarrollo en la tecnología de los circuitos integrados, en la cual es posible almacenar miles de transistores dentro de un solo chip. Esto fue un prerrequisito para la producción de los microprocesadores.

Marco teórico
Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument.

Materiales

• Entrenadora

• PIC 18F4620

• Pic Kit 3

• Computadora con Assembler