You are on page 1of 55

DIAGRAMA DE PINES Y

FUNCIONES
PIC 16F628A
DIAGRAMA DE PINES
FUNCIONES ESPECIALES
DIFERENCIA ENTRE EL LENGUAJE
BASIC Y EL ENSAMBLADOR
PROGRAMA EN LENGUAJE DE ALTO NIVEL Y Y EN
LENGUAJE ENSAMBLADOR
DIFERENCIAS
• ASSEMBLER • PICBASICPRO
• Mayor numero de • Instrucciones
instrucciones entendibles
• Se debe conocer las • Menor tiempo de
posiciones de la programación
memoria • Necesita más espacio
• Se debe conocer la que el que ocupa el
arquitectura del PIC programa en
• Se debe hacer cálculos ensamblador
precisos para generar
retardos de 1 seg.
INSTRUCCIONES
• PBP reconoce bases numéricas en decimal, en binario
usando el prefijo % y hexadecimal
• utilizando el prefijo $ ejemplo:
• 12 es igual que %1100 y también es igual a $C
• EJM
• Portb= % 0 1 0 0 1 0 1 0
– B7 B6 B5 B4 B3 B2 B1 B0

• Indica encender el Puerto B.6, el B.3 y el B.1, para


todos los demás significa permanecer apagados, esto
es muy útil en casos en que se necesita encender un
grupo de leds
INSTRUCCIONES
• El PIC ejecuta cada línea de programa en 1 uS.
(0,000001 segundos)
• Los PAUSE que se puede utilizar es de 1 a
65535, es decir que PAUSE 65535, equivale
• a más de 1 minuto y 5.5 segundos,
• PAUSE 1 equivale a 0,001 segundo.
MICROCODE
DESCRIPCION
1. Modelo de MicroPIC. Esto es lo primero que debe
seleccionar antes de empezar a programar, seleccione
de acuerdo al modelo de PIC que se va a programar
sea este 16F627, 16F627A, 16F628, 16F628A, 16F818,
16F819, 16F84 A, 16F877A, etc.
2. Buscador de códigos.- Aquí se van adicionando cada
vez que se crea una variable, al incluir un define, o
crear algún nombre de línea, sirve para saber qué
componentes incluyen en el programa y también
como buscador de líneas, para esto basta con dar un
clic en el nombre de la línea que desea encontrar y
automáticamente le indicará donde está dicha línea.
DESCRIPCION
3. Número de línea del programa.- Esto por defecto no
viene habilitado, debe habilitarlo previamente, y es muy
útil a la hora de encontrar errores, porque le indica el
número de la línea en donde se halla un error.
4. Espacio que ocupa en el PIC.- Este sí es el espacio que
se requiere en la memoria FLASH del PIC y aparece una
vez que
se compila el programa, debe fijarse si alcanza en el PIC
que dispone o debe reemplazarlo por otro de mayor
capacidad.
El PIC 16F628A tiene un espacio disponible de 2048
palabras.
PicBasic Pro ejecuta las instrucciones en orden desde
arriba hacia abajo
DECRIPCION
• 5. Programa del microcontrolador.- En esta parte es donde
se debe escribir el programa, Microcode reconoce palabras
clave como VAR, HIGH, LOW, PAUSE, etc., y los pinta con
mayúsculas y negrillas, por lo que no se debe utilizar estas
palabras como nombres de subrutinas o variables.
• EJM:
• LED VAR PORTB.0 (indica que el puerto B.0 (pin # 6 se
llamará LED)
• HIGH LED (significa sacar 5V por el pin #6 (puerto B.0)
• SUBRUTINA1: Las subrutinas se asignan con : y puede
tomar cualquier nombre DAVID: ; INES: ;
• El nombre de las subrutinas no puede empezar con
números y tampoco debe contener espacion.
• Ejm:
• no es válido
– 3SUBRUTINA1: ; SUBRUTINA 1:
DESCRIPCION
• 6. Comentarios.- Es recomendable usar
comentarios todo el tiempo, para recordar que
está haciendo en cada línea de instrucción.
• Los comentarios se crean anteponiendo un punto
y coma ( ; ), el texto cambia de color de negro a
azul y del tipo cursiva.
• Trate de poner comentarios entendibles por
ejemplo:
• HIGH portb.3 ;activar el relé, que enciende el
MOTOR.
DESCRIPCION
• 7. Encabezado del programa.- No son nada más que
comentarios en los que se puede incluir: nombre,
fecha, autor, y una explicación en breves palabras de
cómo y para qué sirve el programa. También se puede
hacerlo
• 8. Compilador.- Estos 2 botones sirven básicamente
para compilar el programa y crear el archivo. ASM,
• .MAC, y el .HEX, el .HEX sirve para grabar en el micro,
el .MAC sólo sirve para el PICBasic y el .ASM, para
personas interesadas en ver cómo lo hizo el compilador
en assembler ya que podemos abrirlo en MPLAB.
DESCRIPCION
• 7. Encabezado del programa.- No son nada más que
comentarios en los que se puede incluir: nombre,
fecha, autor, y una explicación en breves palabras de
cómo y para qué sirve el programa. También se puede
hacerlo
• 8. Compilador.- Estos 2 botones sirven básicamente
para compilar el programa y crear el archivo. ASM,
• .MAC, y el .HEX, el .HEX sirve para grabar en el micro,
el .MAC sólo sirve para el PICBasic y el .ASM, para
personas interesadas en ver cómo lo hizo el compilador
en assembler ya que podemos abrirlo en MPLAB.
DESCRIPCION
• Compile Only - F9. Este primer botón sirve para compilar,
es decir el programa lo
• cambia a assembler y lo crea el .HEX, más adelante se verá
cómo trabaja.
• Compile and Program - F10. Este botón tiene doble
función, aparte de hacer lo mismo
• que el botón anterior, es decir compilar, también puede
llamar al programador Ic-prog, con la
• finalidad de ahorrarnos tiempo y no tener que abrir por
separado, es aconsejable utilizarlo una
• sola vez, y una vez que el programador IC-prog ya está
abierto, en adelante sólo se debe utilizar
• el botón Compile Only – F9.
COMPILACION EN MICROCODE
ERRORES DE COMPILACION
EJM ERRORES DE COMPILACION
DECLARACION IF... THEN.

MICROCONTROLADORES
IF... THEN.
• Sirve de condicionante
• Si es VERDADERA
– Ejecuta la operación que sigue al THEN
• Si es FALSA
– Salta a la siguiente línea después del THEN
Ejemplos de DECLARACION
DECLARACION EJECUCION
IF PORTB.0 = 0 THEN RUTINA 1 IR A RUTINA 1 SI EL ESTADO DEL PUERTO B.0
(PIN 6) = 0
IF PORTB.6 = 1 THEN si la comparación es verdadera ejecuta todo el
HIGH PORTA.2 contenido que
PAUSE 1000 se encuentra entre el THEN y el ENDIF
LOW PORTA.2
ENDIF
IF PORTB.3 =0 THEN si la comparación es verdadera ejecuta el
………… ; contenido entre THEN y ELSE y si es falsa ejecuta el
ELSE contenido entre ELSE y ENDIF
……….
ENDIF
La declaración IF puede utilizar los operadores < ; > ; =, ¡= (no es igual); <= ; >=; y
operadores logicos como OR, NOR, NOT, AND, NOT, OR, NOT, XOR
DECLARACIONES DISPONIBLES EN EL
COMPILADOR PBP 2.47
DECLARACION APLICACION
@ Inserta una línea de código ensamblador
ADCIN Lee el conversor analógico
BUTTON Anti-rebote y auto-repetición de entrada en el pin especificado

CALL Llamada a subrutina de ensamblador


CLEAR Hace cero todas las variables
CLEARWDT Hace cero el contador del Watchdog Timer
COUNT Cuenta el número de pulsos en un pin
END Detiene la ejecución e ingresa en modo de baja potencia
FOR…NEXT Ejecuta declaraciones en forma repetitiva
GOTO Continua la ejecución en la línea especificada
GOSUB Llama a una subrutina BASIC en la línea especificada
HIGH Saca un 1 lógico ( 5 V. ) por un pin
DECLARACIONES DISPONIBLES EN EL
COMPILADOR PBP 2.47
DECLARACION APLICACION
HSERIN Entrada serial asincrónica ( hardware )
HSEROUT Salida serial asincrónica ( hardware )
IF..THEN..ELSE..ENDIF Ejecuta declaraciones en forma condicional

INPUT Convierte un pin en entrada


LCDIN Lee caracteres desde una RAM de un LCD
LCDOUT Muestra caracteres en un LCD
LOW HaCe 0 lógico ( 0 V. ) un pin específico
PAUSE Demora con resolución de 1 milisegundo (mS.)
READ Lee byte de un chip EEPROM
SERIN Entrada serial asincrónica (tipo BASIC Stamp 1)
SEROUT Salida serial asincrónica (tipo BS1)
PUERTOS DE ENTRADA Y SALIDA
• Cada puerto tiene su propio registro de
control de flujo, o sea el registro TRIS
correspondiente: TRISA = PUERTO A, TRISB =
PUERTO B, (TRISC etc para PICS de más de 8
bits).
• Lo que determina el comportamiento de bits
del puerto, pero no determina su contenido.
PUERTOS DE ENTRADA Y SALIDA
PUERTOS DE ENTRADA Y SALIDA
• Al poner a cero un bit del registro TRIS (pin=0),
el pin correspondiente del puerto se
configurará como una salida. De manera
similar, al poner a uno un bit del registro TRIS
(bit=1), el pin correspondiente del puerto se
configurará como una entrada.
• IMPORTANTE RECORDAR
• 0 = Entrada 1 = Salida.
MEMORIA DE
DATOS
REGISTROS TRIS
A _ TRIS B
(31 CRY)
REGISTROS TRIS A _ TRIS B (21)
FUNCIONES PUERTO A (37)
DECLARACION GOSUB - GOTO
PERIFERICOS DIGITALES DE ENTRADA
• PULSADORES
• INTERRUPTORES
PERIFERICOS DIGITALES DE ENTRADA
• CIRCUITO ANTIREBOTE
• Todos los dispositivos electromecánicos originan
un fenómeno denominado «rebotes»
• Estos se producen en el instante en que se abren
o se cierran las láminas metálicas del interruptor
o pulsador.
• Hay un momento de inestabilidad en el que
aunque solo se haya accionado el dispositivo una
vez, las láminas se abren y se cierran varias veces
en el momento de la transición.
EFECTO REBOTE
PROCEDIMIENTOS PARA RESOLVER
REBOTES
• SOFTWARE
• Se identifica el primer
cambio de flanco de
la señal de entrada el
flujo de control pasa a
una rutina de retardo
de varios milisegundos
antes de pasar a
detectar si se ha
producido el flanco
contrario.
PROCEDIMIENTOS PARA RESOLVER
REBOTES
• HARDWARE
• En el circuito de la figura cuando el pulsador esta
abierto el condensador esta cargado y se
introduce un nivel alto por la línea de entrada IN.
Al activar el pulsador el condensador se descarga
a través de la resistencia de 1K y aplica un nivel
lógico
• Al desactivar el pulsador el nivel alto no se
alcanza hasta que se cargue el condensador con
la tensión positiva de alimentación a través de la
resistencia (10K).
CIRCUITO ANTIREBOTES
PERIFERICOS DIGITALES DE SALIDA
• DIODOS LEDS
APLICACION
• Se colocan 3 interruptores en los 3 primeros bits de la
PUERTA A. y 4 diodos LED en los 4 primeros bits de la
PUERTA B.
• Mediante los 3 interruptores se introduce un número
binario de tres bits de forma que si el interruptor está
abierto mete un 1L y si está cerrado mete un 0L.
• El programa comienza leyendo el número binario
introducido por los interruptores luego suma 2
unidades a este valor y visualiza en los diodos leds el
resultado binario de la operación.
• Recuerde: Led apagado = 0L y led encendido 1L.
RELES
PALABRA DE CONFIGURACIÓN
• El PIC 16F628 es un potente microcontrolador
CMOS de 8 bits capaz de operar con
frecuencias de reloj hasta de 20 MHZ (ciclos
de instrucción de apenas 200 ns) fácil de
programar cuenta con solo 35 instrucciones.
Construido con características tales que se
puede configurar para funcionar en modos de
operación que no necesitan componentes
externos tales como el circuito de reloj o de
reset.
PALABRA DE CONFIGURACIÓN
• Además de elaborar el programa que
deseamos ejecutar también es necesario
configurar su modo de operación a través de
la palabra de configuración (configuration
word)
• La palabra de configuración se encuentra
mapeada en la dirección 2007h de la memoria
de programa y sólo puede ser acceder a ésta
durante la programación de dispositivo.
PALABRA DE CONFIGURACION
PALABRA DE CONFIGURACION
BITS DE CONFIGURACIÓN PIC16F628A

CP1 : CP0 Bits de protección de código (encargados de proteger la memoria)


BIT 13 - BIT 10
1-- e
MEMORIA DE PROGRAMA

• La memoria de programa tipo Flash es de 2K


• bit 13-10
CP1:CP0:
11 = Código de protección desactivada para la
Memoria de programa
CP1yCP0 tienen que tener el mismo
valor para habilitar el esquema de protección de
código.
BIT 8 = CPD

Toda la EEPROM de datos se borrará cuando se apague la protección de


código.
BIT 7 = LVP (LOW VOLTAGE
PROGRAMMING ENABLE)

RB4 / PGM - E/S digital, HV (Alto VOLTAJE) con el uso del MCLR debe ser utilizado
para la programación
BIT 6 = BODEN: Brown-out Detect
Enable bit
BIT 5 = MCLRE: RA5/MCLR pin function
select
BIT 3 = PWRTE: Power-up Timer
Enable bit
BIT 2 = WDTE: Watchdog Timer Enable
bit
FOSC2:FOSC0: Oscillator Selection bits

You might also like