Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Figura 2. El microcontrolador es un
sistema cerrado. Todas las partes del
computador estn contenidas en su
interior y solo salen al exterior las lneas
que gobiernan los perifricos
Figura 3. En la arquitectura de << von Neumann>> la UCP se comunicaba a travs de un sistema de buses con la
memoria, donde se guardaban las instrucciones y los datos.
Figura 4. En la arquitectura Harvard la memoria de instrucciones y la de datos son independientes, lo que permite
optimizar sus caractersticas y propiciar el paralelismo. En la figura, la memoria de instrucciones tiene 1k posiciones
de 14 bits cada una, mientras que la de datos solo dispone de 512 posiciones de un byte
2. EPROM:
Se escribe mediante un grabador conectado a la computadora
En la superficie tiene una ventana de cristal por la que se borra el controlador
exponindolo a rayos UV
3. OTP (programable una vez)
Slo se puede grabar una vez
Bajo precio y sencillez de grabacin
Figura 5.
PIC16F876x
PIC16F873x
Memoria de datos
Los datos que manejan los programas varan continuamente, y esto exige que la memoria que
les contiene deba ser de lectura y escritura, por lo que la memoria RAM esttica (SRAM) es la
ms adecuada, aunque sea voltil.
Hay controladores que tambin disponen como memoria de datos una de lectura y escritura no
voltil. Del tipo EEPROM. De esta forma, un corte en el suministro de la alimentacin no
ocasiona la perdida de la informacin, que esta disponible al reiniciar el programa, el PIC 16f87x
dispone de 256x8 bytes de memoria EEPROM para contener datos.
La memoria tipo EEPROM y la tipo Flash puedes escribirse y borrarse elctricamente. Sin
necesidad de sacar el circuito integrado del zcalo del grabador pueden ser escritas y borradas
numerosas veces.
Microcontroladores PIC16C87XA / F87XA de Microchip
Me referir a estos porque sern los que utilizaremos a partir de aqu, (al menos por ahora). Estos micros
pertenecen a la gama media y disponen de un set de 35 instrucciones, por eso lo llaman de tipo RISC
(Reduced Instruction Set Computer) en espaol sera "Computadora con Set de Instrucciones Reducido"
pocas instrucciones pero muy poderosas, otras son de tipo CISC (Complex Instruction Set Computer Computador con Set de Instrucciones Complejo), demasiadas instrucciones, y lo peor, difciles de
recordar.
Esta familia de microcontroladores se divide en tres rangos segn la capacidad de los
microcontroladores. El ms bajo lo compone la familia 16C5X. El rango medio lo componen las familias
16F6X/ 7X/ 8X, algunos con conversores A/D, comparadores, interrupciones, etc. La familia de rango
superior lo componen los 17CXX.
Estas son las funciones especiales de las cuales disponen algunos micros...
Conversores anlogo a digital (A/D) en caso de que se requiera medir seales analgicas, por
ejemplo temperatura, voltaje, luminosidad, etc.
Temporizadores programables (Timer's) Si se requiere medir perodos de tiempo entre
eventos, generar temporizaciones o salidas con frecuencia especfica, etc.
Interfaz serial RS-232. Cuando se necesita establecer comunicacin con otro microcontrolador
o con un computador.
Memoria EEPROM Para desarrollar una aplicacin donde los datos no se alteren a pesar de
quitar la alimentacin, sin necesidad de circuitos especiales.
salidas PWM (modulacin por ancho de pulso) Para quienes requieren el control de motores
DC o cargas resistivas, existen microcontroladores que pueden ofrecer varias de ellas.
Tcnica llamada de "Interrupciones". Cuando una seal externa activa una lnea de
interrupcin, el microcontrolador deja de lado la tarea que est ejecutando, atiende dicha
interrupcin, y luego contina con lo que estaba haciendo.
El oscilador externo
Es un circuito externo que le indica al micro la velocidad a la que debe trabajar. Este circuito, que se
conoce como oscilador o reloj, es muy simple pero de vital importancia para el buen funcionamiento del
sistema. El PIC16C87XA / F87XA puede utilizar cuatro tipos de reloj diferentes. Estos tipos son:
PIC16F876X
Figura 6.- Diagrama de conexin del oscilador cristal, en el microcontrolador.
Si no requieres mucha precisin en el oscilador, puedes utilizar una resistencia y un condensador, como
se muestra en la figura 7. Donde OSC2 queda libre entregando una seal cuya frecuencia es la del
OSC/4.
PIC16F876X
Figura 7.- Diagrama de conexin del oscilador RC , en el microcontrolador. Segn las recomendaciones
de Microchip R puede tomar valores entre 5k y 100k, y C superior a 20pf.
Reset
El PIC 16C876X / F876X posee internamente un circuito temporizador conectado al pin de reset que
funciona cuando se da alimentacin al micro, se puede entonces conectar el pin de MCLR a la fuente de
alimentacin (Figura 8). Esto hace que al encender el sistema el microcontrolador quede en estado de
reset por un tiempo mientras se estabilizan todas las seales del circuito (lo cual es bastante bueno, por
eso siempre la usaremos...).
PIC16F876X
Figura 8.- Circuito de reset. Este ltimo circuito, es por si deseas tener control sobre el reset del
sistema, slo le conectas un botn y listo...
direccin 0x05
direccin 0x06
direccin 0x07
direccin 0x05
direccin 0x06
direccin 0x07.
Por defecto el PIC tendr todos los I/O port's (es decir los puertos RA, RB Y RC), colocados como
entrada de datos, y si queremos cambiarlos habr que configurarlos.
Al configurar los puertos debers tener en cuenta que:
Si asignas un CERO (0) a un pin, ste quedar como salida y...
Si le asignas un UNO (1), quedar como entrada.
Esta asignacin se hace en:
TRISA para los pines del PUERTO A (6 bits)
TRISB para los pines del PUERTO B (8 bits)
TRISC para los pines del PUERTO C (8 bits)
Por Ejemplo: trisa=%00111100
Si TRISA es igual a XX111100 todos sus pines sern entradas salvo RA0 y RA1 que estn como salida.
Si TRISB es igual a 00000001 todos sus pines sern salidas salvo RB0 que esta como entrada.
En el siguiente diagrama podemos ver el circuito de conexin para un pic16f84, Bsicamente se necesita
un resistor en la lnea /MCLR, un cristal de 4 Mhz con 2 capacitores y una fuente de 5 volt
Vss = tierra
VDD = 5 volts
Cristal = 4Mhz
Practica 1
Armar el circuito de la figura 9, el cual nos servir para realizar varias de las prximas prcticas.
(Toma en cuenta que el puerto A solo tiene 6 pines disponibles).
C.-) Incluir mas LEDs para RB1, RB2, RB3. De igual forma agregar ms interruptores para RA1, RA2,
RA3, y controlar cada uno de los LEDs con su respectivo interruptor.
10
Practica 2
A.-) Leer el puerto A y mostrar la lectura en el puerto B, mediante diodos emisores de luz (LED)
B.-) Escribir un cdigo que realice la suma binaria de dos nmeros. En particular queremos introducir un
numero por el puerto A (entre 0 y 3Fh) y sumarlo con un numero X (el que el alumno desee entre 0 y
C0), y visualizar el resultado en el puerto B mediante LEDs. El cdigo en PicBasic quedara como sigue.
Una vez cargado el programa en el PIC, necesitars ver el programa funcionando, por lo que debers
armar el circuito de la figura 9 (toma en cuenta que el puerto A solo tiene 6 pines disponibles).
11
Practica 3
A.-) Realizar el programa para un contador binario que muestre mediante los LEDs la cuenta de
1 a x, donde x es un nmero definido previamente en el cdigo del programa.
B.- Realizar la misma operacin que en el ejercicio anterior, pero condicionando el inicio de la cuenta con
la entrada RA4, si esta activada inicia la cuenta, y no se detiene hasta que se termine la cuenta.
C.- Realizar el programa para las siguientes secuencias:
12
Practica 4
El programa realizara el encendido y apagado de un motor de CD. Mediante una botonera.
Condiciones:
1. Si S2= 1 y S3=0 se encender el motor y un LED de color ROJO (pin elegido por el alumno del
puerto correspondiente), LED VERDE apagado.
2. Si S2= 0 y S3=1 se apagara el motor y encender un LED de color VERDE (pin elegido por el
alumno del puerto correspondiente), LED ROJO apagado.
3. Si S2=S3 se apagara el motor y encender un LED de color VERDE (pin elegido por el alumno
del puerto correspondiente), LED ROJO apagado.
Practica 5
El programa realizara el control de la velocidad de un motor de CD, con PWM. Mediante una botonera.
1. Si S2= 1 (S2 ser un pulsador) se incrementa la velocidad del motor y un LED de color ROJO
enciende indicando que se est incrementando la velocidad (pin elegido por el alumno del puerto
correspondiente), LED VERDE apagado.
2. Si S3= 1 (S3 ser un pulsador) disminuye la velocidad del motor y un LED de color VERDE
enciende indicando que est disminuyendo la velocidad (pin elegido por el alumno del puerto
correspondiente), LED ROJO apagado.
3. Una vez que el motor llega a su mxima velocidad encendern ambos LEDs.
13
Practica 6
El programa realizara el control de la direccin de giro de un motor de CD. Mediante una botonera.
1. Si S2= 1 y S3=0 el motor gira hacia la derecha y un LED de color ROJO se enciende(pin elegido
por el alumno del puerto correspondiente), LED VERDE apagado.
2. Si S2= 0 y S3=1 el motor gira hacia la izquierda y encender un LED de color VERDE (pin
elegido por el alumno del puerto correspondiente), LED ROJO apagado.
3. Si S2=S3 se apagara el motor y ambos LEDs estarn apagado.
14
Practica 7
El programa realizara el control de la velocidad y direccin de un motor paso a paso. Mediante una
botonera.
1. Si S1= 1 y S2=0 el motor gira hacia la derecha y un LED de color ROJO (pin elegido por el
alumno del puerto correspondiente), LED VERDE apagado.
2. Si S1= 0 y S2=1 el motor gira hacia la izquierda y encender un LED de color VERDE (pin
elegido por el alumno del puerto correspondiente), LED ROJO apagado.
3. Si S1=S2 se apagara el motor y ambos LEDs estarn apagado.
15
Practica 8
El programa realizara el control de posicin de un servomotor, mediante una botonera (Pulsadores).
1.
2.
3.
4.
16
Practica 9
El programa realizara una comunicacin entre el PIC va puerto serial, con un programa que correr
sobre una PC (En VISUAL BASIC por ejemplo), el PIC esperara a recibir un carcter, con lo cual se
realizaran las siguientes operaciones.
1. Si el carcter recibido es una letra d el motor gira hacia la derecha y un LED de color ROJO (pin
elegido por el alumno del puerto correspondiente), LED VERDE apagado.
2. Si el carcter recibido es una letra i el motor gira hacia la izquierda y encender un LED de color
VERDE (pin elegido por el alumno del puerto correspondiente), LED ROJO apagado.
3. Si se recibe cualquier otro carcter se encendern ambos LEDs a manera de indicar un error en
las opciones.
17
Practica 10.
Utilizacin de un LCD, para desplegar datos.
Practica 11.
El programa realizara la lectura de una seal analgica, mediante los puertos de entrada configurables
como entradas analgicas (Puerto A), utilizando un sensor de temperatura LM35, y se desplegara el
valor ledo mediante un medio visual (Display de 8 segmentos, LCD, utilera para leer puerto serial de
PICBASIC).
Circuito propuesto.
18
Practica 12.
Implementacin de un teclado matricial, hexadecimal para introducir datos al Microcontrolador.
19
20