Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO PREPARATORIO.
- Utilizando el Proteus elabore el circuito para el 16F870 con un LED conectado al
Pórtico B pin RB0.
__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
ORG 0x0
GOTO INICIO
ORG 0X5
INICIO CLRF PORTB ;se encera el puerto B
MOVLW b'11010110' ;se asigna el divisor de frecuencia al
TIMER0
OPTION ;se usa una frecuencia f/256 del oscilador
interno
BSF STATUS,RP0 ;se cambia al banco 1 de la RAM
MOVLW b'11111110' ;se carga W con el número binario
MOVWF TRISB ;se configura el bit RB0 como salida
BCF STATUS,RP0 ;se regresa al banco 1 de la RAM
OTRO BCF PORTB,0x0 ;pone cero en el bit cero del puerto B
CALL RETARDO ;llama a la subrutina retardo
BSF PORTB,0X0 ;pone uno en el bit cero del puerto B
CALL RETARDO ;llama a la subrutina retardo
GOTO OTRO ;inicia un nuevo ciclo
LIST P=16F870
#INCLUDE <P16F870.INC>
__CONFIG _XT_OSC&_WDT_OFF&_PWRTE_ON&_LVP_OFF
ORG 0X0
GOTO INICIO ;Debe ir a la direccion 05H
ORG 0X5
OTRO MOVLW 0X86 ;Se carga el acumulador con 86H, el código de la letra "E"
MOVWF PORTB ;Se transfiere hacia el portico B el contenido del Acumulador
CALL RETARDO
GOTO OTRO
RETARD BCF INTCON,T0IF ;encera el bit T0IF de sobreflujo del registro INTCON
RETARD1 BTFSS INTCON,T0IF ;chequea si aparece el bit de sobreflujo
GOTO RETARD1 ;mantiene la espera por el bit de sobreflujo
DECFSZ REGIS20,1 ;decrementa el contenido de REGIS20
GOTO RETARD ;va a contar una nueva vuelta
RETURN ;termina la subrutina retardo
LIST P=16F870
#INCLUDE <P16F870.INC>
__CONFIG _XT_OSC&_WDT_OFF&_PWRTE_ON&_LVP_OFF
ORG 0X0
GOTO INICIO ;Debe ir a la direccion 05H
ORG 0X5