Você está na página 1de 5

Universidad Politcnica Salesiana, Sistemas Microprocesados I, Pinguil Snchez Byron, Manejo del TMR0 1

PRACTICA No.5: Manejo del TMR0


Pinguil Snchez Byron Vinicio, bpinguils@est.ups.edu.ec
Kevin Coyago Barrera, kcoyagob@est.ups.edu.ec

UNIVERSIDAD POLITCNICA SALESIANA


Sistemas Microprocesados I

Abstract In this practice are going to implement is the


analysis of the microcontrollers memory may be given to the
data that we will use for this reason we need to know which is
the correct microcontroller must use considering the amount of
memory to use, study the microcontroller and other devices.

I. INTRODUCCION
Para empezar con este informe debemos tener algunos puntos
claros y que deben estar presentes cuando utilizamos cualquier
dispositivo electrnico ya que debemos recordar toda la
informacin que nos proporcionan los datasheet y tener en
cuenta la alimentacin para esta prctica usaremos un PIC Figure 1. Diagrama de Pines del PIC 16F628A[1].
16F628A el cual al momento de programar y compliar debemos
tener en cuenta que el manejo de las interrupciones no es lo
mismo que con un pic de otras familias, adems debemos tener
en cuenta cuales son los pines que van a ocupar los leds de
salida y los pulsantes como datos de entrada para su correcto
funcionamiento.

II. OBJETIVOS
Objetivos especficos:

realizar la secuencia de 10 leds de modo que se


enciendan en par utilizando interrupciones en su
programacin

III. MARCO TERICO


Figure 2. Pines del PIC 16F628A[1].
PIC16F628A Caractersticas del PIC16F628A:
El pic16f628a es un microcontrolador de 8 bit, posee una CPU De alto rendimiento RISC:
arquitectura RISC avanzada, as como un juego reducido de 35 velocidades de operacin de DC - 20 MHz
instrucciones. Este microcontrolador es el remplazo del Capacidad de interrupcin
obsoleto pic16f84a, los pines del pic16f628a son compatibles pila de 8 niveles
con el pic16f84a, as se podran actualizar proyectos que hemos Modos de direccionamiento directos, indirectos y relativo
utilizado con el pic16f84a. 35 simples instrucciones de palabra:
- Todas las instrucciones de ciclo nico, excepto las de salto
En la siguiente figura se muestra el diagrama de pines.

Caractersticas Especial microcontrolador:


opciones de oscilador externo e interno:
- Precisin de fbrica del oscilador interno de 4 MHz
calibrada a 1%
- oscilador de 48 kHz De bajo consumo interno
Modo de ahorro de energa en modo sueo
Universidad Politcnica Salesiana, Sistemas Microprocesados I, Pinguil Snchez Byron, Manejo del TMR0 2

resistencias programable pul-ups del PORTB


Multiplexado del pin reset / Entrada-pin Memoria eeprom: en una memoria de tipo no voltil de poca
Temporizador Watchdog con oscilador independiente para capacidad sirve para guardar datos, aun cuando deje de recibir
un funcionamiento fiable alimentacin la informacin no se perder.
Baja tensin de programacin In-Circuit Serial (a
travs de dos pines) La memoria eeprom que posee el pic16f628a es de 128 bytes.
Proteccin de cdigo programable
Brown-out reset Tipos de osciladores
Power-on Reset
Power-up Timer y el oscilador de puesta en marcha del El PIC16F627A/628A/648A puede ser operado en ocho
temporizador diferentes modos de oscilador. RC, Oscilador con resistencia y
Amplio rango de funcionamiento de tensin (2.0-5.5V) condensador (2 modos)
Industrial y amplia gama de temperaturas extendidas XT, Cristal de cuarzo.
Alta durabilidad de la memoria Flash /EEPROM: HS, Cristal de alta velocidad
- 100.000 ciclos de escritura Flash LP, Cristal de baja frecuencia y bajo consumo de potencia.
- 1.000.000 ciclos de escritura EEPROM INTOSC, oscilador interno de precisin de 4mhz (2 modos)
- 40 aos de retencin de datos EC, seal externa de entrada de reloj

De baja potencia Caractersticas:


Corriente en espera:
- 100 nA@2.0V, tpico
Corriente de funcionamiento:
- 12A @ 32 kHz, 2,0 V, tpica
- 120A @ 1 MHz, 2,0 V, tpica
Temporizador Watchdog actual:
- 1A@2.0V, tpico
Timer1 oscilador actual:
- 1.2A @ 32 kHz, 2,0 V, tpica
Doble velocidad del oscilador interno:
- Tiempo de ejecucin seleccionable entre 4 MHz y de 48
kHz
- 4s despertar de un sueo, 3.0V, tpico
Figure 4. diagrama de bloques del oscilador [1].
En la siguiente figura se muestran los microcontroladores que
componen esta serie

Figure 3. microcontroladores que componen esta serie [1].

TIPOS DE MEMORIA DEL PIC16F628A


Tabla 1. valores de los cristales y sus respectivos
Memoria flash: esta memoria es de tipo no voltil en esta condensadores de filtro para el oscilador externo.
memoria ira nuestro programa que realicemos.
Al momento de programar un micro se debe especificar que
El pic16f628a tiene una capacidad de 2048 words seto se tipo de oscilador se usa.
podra traducir a 2048 lneas de cdigo que podemos escribir Internamente la frecuencia del oscilador es dividida por 4, as
en lenguaje assembler para este microcontrolador. que si temeos un oscilador de 4 MHz, la frecuencia de trabajo
es de 1 MHz, por lo que cada instruccin se ejecuta cada 1 us.
Memoria RAM: esta memoria sirve para guardar datos y
variables, esta memoria es de tipo voltil, es decir perder la
informacin cuando desaparezca la alimentacin. Mapa de memoria del pic16f628a

La memoria ram que posee el microcontrolador pic16f628a es


de 224 bytes
Universidad Politcnica Salesiana, Sistemas Microprocesados I, Pinguil Snchez Byron, Manejo del TMR0 3

Como vemos en la siguiente figura el mapa de memoria se __CONFIG _FOSC_INTOSCIO & _WDTE_OFF &
encuentra dividida en 4 bancos en estos bancos se encuentra _PWRTE_OFF & _MCLRE_OFF & _BOREN_OFF &
los registros de control, as como tambin la memoria RAM. _LVP_OFF & _CPD_OFF & _CP_OFF

#DEFINE LED PORTB,1; TESTEO


#DEFINE LED1 PORTB,2
#DEFINE LED2 PORTB,3
#DEFINE LED3 PORTB,5
#DEFINE LED4 PORTB,6
#DEFINE LED5 PORTB,7
#DEFINE LED6 PORTA,0
#DEFINE LED7 PORTA,1
#DEFINE LED8 PORTA,2
#DEFINE LED9 PORTA,3
#DEFINE LED0 PORTA,6
#DEFINE PLAY PORTB,0
#DEFINE STOP PORTB,4

CBLOCK 0X20;DECLARA VARIABLES


TIEMPO
TIEMPO1
TIEMPO2
TIEMPO3
AUX1
AUX2

ENDC

ORG 0X00
GOTO INICIO
Figure 5. mapa de memoria [1].
ORG 0X04
GOTO INT
IV. LISTA DE MATERIALES Y EQUIPOS
INICIO
BCF STATUS,7
PIC16F628A BCF STATUS,6
10 LEDS BSF STATUS,5;BANCO 1
3 Pulsantes
Cristal 40MHz MOVLW B'00010001'
MOVWF TRISB
V. DESARROLLO
Abrimos MPLAB X ID.exe y programamos en ensamblador MOVLW B'00000000'
los objetivos de la prctica. MOVWF TRISA

Cdigo: MOVLW B'11000111'


MOVWF OPTION_REG
; PIC16F628A Configuration Bit Settings
BSF INTCON,GIE ;BIT 7
; ASM source line config statements BSF INTCON, INTE ;BIT 4

#include "p16F628A.inc" BCF STATUS,5; REGRESO BANCO 0

; CONFIG CLRF PORTA


; __config 0x3F18 CLRF PORTB
CLRF AUX1
CLRF AUX2
Universidad Politcnica Salesiana, Sistemas Microprocesados I, Pinguil Snchez Byron, Manejo del TMR0 4

MAIN
CALL PARPADEO ONLED4
BSF LED7
BCF STATUS,Z BSF LED8
MOVLW D'1' RETURN
XORWF AUX1,W
BTFSC STATUS,Z ONLED5
CALL ONLED1 BSF LED9
BSF LED0
RETURN
BCF STATUS,Z
MOVLW D'2' DEMORA
XORWF AUX1,W MOVLW D'200'
BTFSC STATUS,Z MOVWF TIEMPO
CALL ONLED2 DEC2
MOVLW D'255'
MOVWF TIEMPO1
BCF STATUS,Z
MOVLW D'3' DEC
XORWF AUX1,W DECFSZ TIEMPO1
BTFSC STATUS,Z GOTO DEC
CALL ONLED3 DECFSZ TIEMPO
GOTO DEC2
BCF STATUS,Z
MOVLW D'4' RETURN
XORWF AUX1,W
BTFSC STATUS,Z
CALL ONLED4
INT
BCF INTCON,GIE
BCF STATUS,Z BTFSC INTCON,1
MOVLW D'5' CALL INTRB0
XORWF AUX1,W BTFSC INTCON,2;FLAG
BTFSC STATUS,Z CALL INTTMR0
CALL ONLED5 BTFSC INTCON,0
CALL INTRB4RB7
BSF INTCON,GIE
GOTO MAIN RETFIE

PARPADEO INTRB0
BSF LED BCF INTCON,1
CALL DEMORA BSF INTCON,5
BCF LED CLRF TMR0
CALL DEMORA BCF INTCON,4
RETURN BSF INTCON,3
RETURN
ONLED1
BSF LED1 INTTMR0
BSF LED2 BCF INTCON,2
RETURN BCF STATUS,Z
MOVLW D'15'
ONLED2 XORWF AUX2,W
BSF LED3 BTFSC STATUS,Z
BSF LED4 GOTO DOSSEGUNDOS
RETURN INCF AUX2,1
RETURN
ONLED3
BSF LED5 DOSSEGUNDOS
BSF LED6 CLRF AUX2
RETURN INCF AUX1,1
Universidad Politcnica Salesiana, Sistemas Microprocesados I, Pinguil Snchez Byron, Manejo del TMR0 5

RETURN Durante el transcurso del programa existieron algunos


errores en cuanto a la programacin por lo que nos impidi
INTRB4RB7 hacer funcionar el pic16f628a al momento de simularlo en el
BCF INTCON,0 ensamblador Proteus.
BCF INTCON,2 En la realizacin de la prctica tuvimos unas falencias en
CLRF PORTB cuanto al manejo del PIC16F628 por lo que tuvimos que acudir
CLRF PORTA al datasheet para poder establecer las conexiones de cada pin
BSF INTCON,4 que bamos a utilizar en la prctica.
BCF INTCON,3 As mismo se tuvo un poco de problema en el momento de la
CLRF AUX1 programacin para cumplir con las condiciones establecidas..
CLRF AUX2
RETURN
VII. REFERENCIA Y CITAS WEB

END [1] Datasheet Microcontrolador 16F628A


[2] Manual Pic 16F628A en Espaol.
Con la programacin abrimos proteus y diseamos el circuito [3] http://www.keypad_board_manual_datasheet.pdf
para comprobar el funcionamiento del circuito el diagrama lo
podemos observar en la siguiente figura.

Simulacin

Figura 6.- Simulacin en Proteus del Encendido y Secuencia


de leds

VI. CONCLUSIONES

Se llev a cabo la realizacin de la prctica con el


PIC16F628A por medio del lenguaje ensamblador MPLABx.

Você também pode gostar