Vous êtes sur la page 1sur 19

MICROCONTROLADORES

Es un circuito integrado digital que puede realizar cualquier funcin o tarea con tal que
previamente se le haya programado. Hay muchos fabricantes de microcontroladores y cada
fabricante tiene muchos modelos. En la presente asignatura se ha seleccionado el
microcontrolador PIC16f84A, del fabricante MICROCHIP TECHNOLOG.
Es un circuito integrado o chip que incluye en su interior tres unidades funcionales de una
computadora. CPU, Memoria y Unidades de Entrada y Salida. Es decir se trata de un computador
completo en un solo circuito integrado
Diagrama funcional de pines
El PIC 16f84A tiene 18 pines
-Pines de fuente y tierra (2)
-2 Puertos (entrada y salida)
--Puerto A: de 5 pines
--Puerto B: de 8 pines
-2 pines para el oscilador
--Osc1
--Osc2
-Pin de reset: MCLR Master Clear
-2 Pines: RA4 y RB0 tienen doble funcin

ALIENTACIN DE PIC
El PIC utiliza una fuente de 5v similar a un TTL
Libro de consulta
Microcontrolador (PIC16F84A)
Desarrollo de proyectosAutor: Enrique Palacios
PUERTOS A y B
Cada lnea puede ser programada individualmente como entrada o salida. En las primeras
aplicaciones programaremos el puerto A como entrada y el puerto B como salida. La mxima
corriente como entrada o salida es 20 mA.
-LEDS
-DISPLAY DE 7 SEGMENTOS
-PANTALLA LED: Mensajes
MEDIANTE OPTOACOPLADORES (Carga AC Motores)
BUZZER (Zumbador Piezoelctrico)

DRIVER PARA MOTORES DC


Para manejar un led:
Las entradas pueden ser:
-Interruptores
-Pulsadores
-Teclado Matricial
-Otros.

CONEXIN DE UN PULSADOR
-Pulsador est abierto ingresa al Pic un: UNO
-Pulsador est cerrado ingresa al Pic un: CERO
CONEXIN DE LED Y PULSADORES
OSCILADOR
Todo pic requiere una seal de reloj para sincronizar su operacin
-Los nicos componentes externos para generar el reloj es un cristal (Xtal ) y capacitores.
-Para las primeras aplicaciones se usar un cristal de 4 Mhz

RESET
El Reset es una operacin mediante la cual el Pic comineza a funcionar desde Cero.
En la mayora de las aplicaciones El Reset se aplica cuando se energiza el PIC y se llama Power On
Reset.
El Pic dispone de un pin que permite hacer el reset en cualquier momento es el MCLR
El reset se da cuando MCLR va a cero.
Para que funcione el Pic se necesita grabarlo con un programa
PROGRAMA: Es una secuencia o nmeros de instrucciones tomadas de un juego de instrucciones
mediante el cual se pueden realizar una determinada tarea. El programa puede ser:
Las instrucciones se graban dentro del Pic. Es una memoria fija y voltil de programa.
-El Pic tiene una memoria de programa capaz de almacenar 1024 instrucciones.
-El programa permanece hasta que se regrabe un nuevo programa.
-El nmero mximo de regrabaciones es 10000.
-El programa se introduce al Pic mediante un circuito llamado grabador de PIC y dos software.
Uno para escribir el programa y otra para transferirlo al PIC.
La instruccin que el PIC va a ejecutar esta en binario y tiene una longitud de 14 bits.
E PIC entiende el lenguaje binario llamado lenguaje de mquina.

El ser humano usa un lenguaje llamado de alto nivel. Se necesita un lenguaje que sirva de
traduccin entre el hombre y el PIC, y ese es un software compilador.

INSTRUCIONES
NIVEL DE PROFUNDIDAD

Orden: Clear Register Work (Borrar el registro de trabajo)


Nemnico: CLRW
Cuando un programa se elabora como un conjunto de nemnicos, se dice que est en Assembler

Todo lo que hay dentro del microcontrolador se denomina Arquitectura del microcontrolador
Lenguaje de alto nivel
PAUSE 500: Generar un retardo o pausa de 500 ms ( o medio segundo). Una instruccin en el alto
nivel equivale a varias instrucciones en lenguaje de mquina y tambin nemnico (Assembler)

Existen varios lenguajes de alto nivel de los cuales los ms empleados son:
-BASIC
-C
--En el curso se utilizar BASIC

-El compilador de BASIC usado se llama MICROCODE STUDIO


-ARQUITECTURA DEL PIC 16F84A
-Memoria de programa flash con 1024 Posiciones.

2.- Puertos:

OTROS ELEMENTOS DE LA ARQUITECTURA DEL PIC16F84A


Registro de trabajo (W): Es un registro de 8 bits donde se almacenarn los resultados de las
operaciones de Pic
UNIDAD ARITMTICA-LGICA-ALU
En esta unidad se realizan todas las operaciones aritmticas (suma, resta, multiplicacin, etc.) y
todas las operaciones lgicas (OR, AND, XOR, etc.)
CONTADOR DE PROGRAMAS (PC):
Es un registro de 16 bits que contiene la direccin de la instruccin que el Pic est ejecutando.
Cuando se hace un Reset el valor del PC es 0000h (contador del Pic). 68 Registros de Propsito
general. Un registro o conjunto de N flip flop tipo D que sirve para almacenar n bits. Si n=8
8bits= 1 byte.
Sirven para guardar datos, que se ganan durante la ejecucin de un programa, son registros
temporales o voltiles.

Registro de Propsito Especfico (SPR)


Cada registro cumple una funcin especial, es decir almacenar una especfica clase de informacin
algunos de ellos son:
PORTA: Almacenar los datos del Puerto A
PORTB: Almacenar los datos del Puerto B
TRISA: Determina si el puerto A ser de entrada o de salida.
TRISB: Determina si el puerto B ser de entrada o de salida.
PCL: Almacena el byte ms bajo del contador de programa.

BASES INTERNAS DEL PIC


Bus: Conjunto de lneas que transporta un determinado tipo de bits.
Existen:
Bus de datos: 8 bits
Bus direcciones: 3 bits

APLICACIONES DE LOS MICROCONTROLADORES


-En artefactos inteligentes como DVD, Horno microondas.
-En telefona celular.
-En la Robtica.
-En la industria.
-En equipos electrnicos.
-Aplicaciones militares.
-Equipos de control y automatizacin.
LO QUE SE NECESITA
Computadora, el chip y probador del circuito, software: PicBasic. Asimismo el gravador.
TIPOS DE LENGUAJE
-LENGUAJE DE BAJO NIVEL
--Ensamblador (ASM)
-LENGUAJE DE ALTO NIVEL
--PicBasic
--C
--Jal

LENGUAJE DE BAJO NIVEL


VENTAJAS
-Mayor adaptacin al equipo.
-Posibilidad de obtener la mxima velocidad con mnimo uso de memoria.
DESVENTAJAS
-Mayor dificultad en la programacin y en la comprensin de los programas.
-El programador deber conocer muchas instrucciones.
-Es necesario conocer en detalle la arquitectura del dispositivo.
LENGUAJE DE ALTO NIVEL
VENTAJAS
-Menor dificultad en la programacin y comprensin de los programas.
-No es necesario conocer al detalle (La arquitectura del dispositivo)
-Menor nmero de instrucciones.
-Ms facilidad con el lenguaje.
-Menos lneas de cdigo
PARA PROGRAMAR EN BASIC: SOFTWARE: MICROCODE STUDIO

Este programa hace que un led prenda u apague indefinidamente:


--------------------------------------------------------------------------------------LAZO: HIGH PORTB.0

Enciende el led de la derecha

PAUSE 500

Pausa de medio segundo

LOW PORTB.0

Apaga el led

PAUSE 500
GOTO LAZO

PROGRAMA DE GRAVACIN
-PICKIT
-DPIC
VARIABLES
En Pic Basic Pro hay tres tamaos de variables
BIT: Puede tomar valor 0 o 1
BYTE: Almacenar 8 bits del 0 al 255
WORD: Almacena 16 bits del 0 al 65535 (

Al inicio de un programa se declaran las variables.


NOMBRE

VARIABLE

TAMAO

VAR

BIT

ALDO

VAR

BYTE

ROSA

VAR

WORD

A un pin del Pic le puedo declarar un nombre


Ejemplo: LED VAR PORTB.0
PROGRAMA
Es una variante del led parpadeante
El led empieza a oscilar cuando se presiona el pulsador en RA0
LED

VAR

LOW

LED

TEMPO

VAR

PORTB.0
Al inicio el led est apagado
WORD

Define la duracin de pause

TEMPO=500
PREGUNTA:

IF PORTA.0=1 THEN GOTO PREGUNTA


Condicin: Si no se cumple se ha presionado el pulsador en RA0

LAZO: HIGH

LED

PAUSE TEMPO

LOW

LED

PAUSE TEMPO
IF PORTA.1=1 THEN GOTO LAZO
GOTO PREGUNTA
END

INSTRUCCIONES:
IF..THEN
(SI). (ENTONCES)
Formato
IF condicin the instruccin
Funcionamiento
-Si se cumple la condicin se ejecuta la instruccin que sigue a THEN
-Si no se cumple la condicin se ejecuta la instruccin que est debajo del IF

CONSTANTES NUMRICAS
Se puede trabajar con 3 sistemas de numeracin, los cuales se identifican con subndices
Binario:

1001011010b

Decimal:

2539d

Hexadecimal: 2ABCh
1876h
En PBP (Pic Basic Pro) para identificar el sistema se usan letras prefijo
PREFIJO
BINARIO

DECIMAL

No hay prefijo

HEXADECIMAL $

DECLARACIN DE LOS PUERTOS COMO ENTRADA Y SALIDA


Hay instrucciones que asumen que un Pin se va a usar como entrada o salida
(Ejemplo: HIGH, LOW, ETC)
EN EL PIC16F84A HAY
TRISA Y TRISB
PUERTO A X X X OUT IN IN IN OUT
TRISA 00001110
Un 0 Programa el Pin como salida
Un 1 Programa el Pin como entrada
En las primeras aplicaciones:
El Puerto A se declara entrada
El Puerto B se declara salida
IN= ENTRADA
OUT= SALIDA

X= NO ME INTERESA
-----TRIS A= 00011111
TRISB= 00000000
EN PBP SE ESCRIBE:
TRISA= %00011111
TRISB= %00000000
TRISA=31
TRISB=0
TRISA=$1F

BINARIO

16891

10

1010

11

1011

16

12

1100

31

13

1101

14

1110

15

1111

PROGRAMA DE APLICACIN LED PARPADENTES (VARIANTE) TRISA=31:TRISB=0


-Se aplica entrada al puerto A=3
-Se aplica salida al puerto B=0
LAZO:

PORTB=1 Equivale a High Portb.0


PAUSE=500
PORTB=0
PAUSE=500
GOTO=LAZO

GENERACIN DE SECUANCIAS DE LUCES CON PIC


Ejemplo: Secuencia ANILLO IZQUIERDO

SE ESCRIBE:

128

64

32

16

B7

B6

B5

B4

B3

B2

B1

B0

16

32

64

128

Se repite:-----------------------------------------------------------------------------------:
PROGRAMA EN PBP:

TRISA= 31: TRISB=0


LAZO:

PORTB=1:

PAUSE 500

PORTB=2:

PAUSE 500

PORTB=4:

PAUSE 500

PORTB=8:

PAUSE 500

PORTB=16: PAUSE 500


PORTB=32: PAUSE 500
PORTB=64: PAUSE 500
PORTB=128: PAUSE 500
GOTO LAZO

PROGRAMA SECUENCIA ANILLO DERECHO


1

16

32

LAZO:

PORTA=1: PAUSE 500


PORTA=2: PAUSE 500
PORTA=4: PAUSE 500
PORTA=8: PAUSE 500
PORTA=16: PAUSE 500
PORTA=32: PAUSE 500
GOTO LAZO

SECUENCIA JHONSON 4 BITS (IZQUIERDA)


8

SE REPITE:
----

LAZO:

PORTB=0: PAUSE 500


PORTB=1: PAUSE 500
PORTB=3: PAUSE 500
PORTB=7: PAUSE 500
PORTB=15: PAUSE 500
PORTB=14: PAUSE 500
PORTB=12: PAUSE 500
PORTB=8: PAUSE 500
GOTO LAZO

--- --- -LAZO:

PORTA=1: PAUSE 500


PORTA=2: PAUSE 500
PORTA=4: PAUSE 500
PORTA=8: PAUSE 500
PORTA=16: PAUSE 500
GOTO LAZO

PROGRAMA
Mediante 5 pulsadores, se puede elegir entre 5 diferentes secuencias con LEDS y con el pulsador de RESET
se detiene la secuencia.

TRISA=31: TRISB=0
TIEMPO VAR WORD
TIEMPO=500
PORTB=0 Se inicia con los 8 leds apagados
PREGUNTA:
IF PORTA.0=0 THEN GOTO SECUENCIA_1
IF PORTA.1=0 THEN GOTO SECUENCIA_2
IF PORTA.2=0 THEN GOTO SECUENCIA_3
IF PORTA.3=0 THEN GOTO SECUENCIA_4
IF PORTA.4=0 THEN GOTO SECUENCIA_5
GOTO PREGUNTA

SECUENCIA_1:
PORTB=1: PAUSE TIEMPO
PORTB=2: PAUSE TIEMPO
PORTB=4: PAUSE TIEMPO
PORTB=8: PAUSE TIEMPO
GOTO SECUENCIA_1
SECUENCIA_2:
PORTB=1: PAUSE TIEMPO
PORTB=2: PAUSE TIEMPO
PORTB=3: PAUSE TIEMPO
PORTB=4: PAUSE TIEMPO
PORTB=5: PAUSE TIEMPO
PORTB=6: PAUSE TIEMPO
PORTB=7: PAUSE TIEMPO
PORTB=8: PAUSE TIEMPO
PORTB=9: PAUSE TIEMPO

PORTB=10: PAUSE TIEMPO


PORTB=11: PAUSE TIEMPO
PORTB=12: PAUSE TIEMPO
PORTB=13: PAUSE TIEMPO
PORTB=14: PAUSE TIEMPO
PORTB=15: PAUSE TIEMPO
GOTO SECUENCIA_2

SECUENCIA_3:
PORTB=0:

PAUSE TIEMPO

PORTB=16: PAUSE TIEMPO


PORTB=48: PAUSE TIEMPO
PORTB=112: PAUSE TIEMPO
PORTB=240: PAUSE TIEMPO
PORTB=224: PAUSE TIEMPO
PORTB=192: PAUSE TIEMPO
PORTB=128: PAUSE TIEMPO
GOTO SECUENCIA_3

SECUENCIA_4:
PORTB=1: PAUSE TIEMPO
PORTB=2: PAUSE TIEMPO
PORTB=4: PAUSE TIEMPO
PORTB=8: PAUSE TIEMPO
PORTB=4: PAUSE TIEMPO
PORTB=2: PAUSE TIEMPO
GOTO SECUENCIA__4

SECUENCIA_5:
PORTB=9: PAUSE TIEMPO
PORTB=8: PAUSE TIEMPO
PORTB=7: PAUSE TIEMPO

PORTB=6: PAUSE TIEMPO


PORTB=5: PAUSE TIEMPO
PORTB=4: PAUSE TIEMPO
PORTB=3: PAUSE TIEMPO
PORTB=2: PAUSE TIEMPO
PORTB=1: PAUSE TIEMPO
PORTB=0: PAUSE TIEMPO
GOTO SECUENCIA_5

SECUENCIAS
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
16)

ANILLO IZQUIERDO NIBLE BAJO


ANILLO DERECHO NIBLE BAJO
ANILLO IZQUIERDO NIBLE ALTO
ANILLO DERECHO NIBLE ALTO
JHONSON IZQUIERDO NIBLE BAJO
JHONSON DERECHO NIBLE BAJO
JHONSON IZQUIERDO NIBLE ALTO
JHONSON DERECHO NIBLE ALTO
CONTADOR ASCENDENTE BAJO
CONTADOR ASCENDENTE ALTO
CONTADOR DESCENDENTE BAJO
CONTADOR DESCENDENTE ALTO
IDA Y VUELTA IZQUIERDA BAJO
IDA Y VUELTA IZQUIERDA ALTO
IDA Y VUELTA DERECHO BAJO
IDA Y VUELTA DERECHO ALTO

VARIANTES DE LA CONDICIN: IF THEN


IF CONDICIN THEN INSTRUCCIN
CONTINUA SI NO SE CUMPLE LA CONDICIN
IF CONDICIN THEN
INSTRUCCIONES
SI SE CUMPLE LA CONDICIN

ENDIF CONDICION THEN


INSTRUCCIONES A
ELSE
INSTRUCCIONES B
ENDIF
LA INSTRUCCIN FOR NETX
Las instrucciones permiten repetir una parte de un programa, un nmero determinado de veces.

Vous aimerez peut-être aussi