Professional Documents
Culture Documents
Ingeniera Mecatrnica
Microcontroladores
Unidad 3
Unidad 4
Noviembre, 2013
1
-Reloj del microcontrolador PIC16F877A
Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, es
llamado oscilador o reloj. ste genera una onda cuadrada de alta frecuencia que se utiliza
como seal para sincronizar todas las operaciones del sistema. Este circuito es muy
simple pero de vital importancia para el buen funcionamiento del sistema. Generalmente
todos los componentes del reloj se encuentran integrados en el propio micrcontrolador y
tan solo se requieren unos pocos componentes externos, como un cristal de cuarzo o una
red RC, para definir la frecuencia de trabajo.
En el PIC16F877A los pines OSC1/CLKIN y OSC2/CLKOUT son las lneas utilizadas para
este fin permite cinco tipos de osciladores para definir la frecuencia de funcionamiento:
XT. Cristal de cuerzo
RC. Oscilador con resistencia u condensador
HS. Cristal de alta velocidad
LP. Cristal para baja frecuencia y bajo consumo de potencia
Externa. Cuando se aplica una seal de reloj externa
2
Power-
on reset
Fuentes
del
reset
Low-
Voltage COP
Inhibit
reset reset
3
Unidad 4
-Programa en ensamblador. Por el puerto C se obtiene puerto A multiplicado por 3, es
decir, PORT C = PORT A + PORT A + PORT A
-MPLABX
a) Creacin de un proyecto
Despus de abrir el programa MPLABX se hace click en el icono de nuevo proyecto que
se encuentra en la esquina superior derecha.
4
Se selecciona el tipo de proyecto, en el caso del programa anterior se seleccionaron las
opciones Microchip Embedded y Standalone Project.
.
Se selecciona el dispositivo. En este caso es el PIC16F877A de la familia de Rango
medio
5
Por ltimo, se pone un nombre al proyecto.
6
Despus se selecciona el nombre del programa.
Para compilar, solamente se hace clic en el dibujo del martillo que aparece en la parte de
arriba de la ventana del programa. En la parte de abajo aparecern los resultados de la
compilacin, mostrara la ubicacin de los errores si es que hay alguno o simplemente dire
que la compilacin fue exitosa en caso de que no haya errores.
7
c) Simulacin paso a paso de un programa *.asm
Para simular paso a paso un programa *.asm se selcciona la opcin de Debug que se
encuentra en la parte de arriba de la ventana del programa.
Esto har que el programa empiece a correr y para poder visualizarlo a nivel de bits
tendremos que hacer clic en la opcin SFR que aparece en la pestaa Window en la
seccin de PIC Memory Views.
8
Tendr que salir la siguiente ventana en la parte de abajo.
Sin embargo el programa se ejecutar de manera muy rpida y no podremos ver bien lo
que pasa. Para solucionar esto, daremos pausa al programa y despus daremos clic en
reset en los iconos que aparecen a la derecha de la opcin Debug.
Despues podremos tecleear F7 en nuestro teclado para ver cmo se comportan los
registros en cada lnea.
9
-Funcionamiento del programa en PROTEUS
En la imagen se puede observar que por el Puerto A entra un 4 binario, y por el Puerto C
se visualiza a travs de LEDs un 12 binario, es decir el Puerto C es 3 veces el Puerto A.
Bibliografa
Palacios Municio Enrique, Remiro Domnguez Fernando, Lpez Prez Lucas J., 2004,
Microcontrolador PIC16F84: Desarrollo de proyectos, Mexico, D.F., Alfaomega/Ra-Ma.
Conclusiones
Es importante conocer las caractersticas de las terminales, reloj, reset y alimentacin de
un microcontrolador para poder saber cmo configurar fsicamente un circuito al momento
de querer trabajar.
Es tambin obvio que se tiene que conocer la manera de crear un proyecto y un programa
*.asm pero tambin resulta importante la simulacin de este programa para ver su
funcionamiento antes de pasarlo a un circuito real.
10
Ejercicios complementarios
Ejercicio 1. Por el Puerto C se obtiene el dato de las 6 lneas del Puerto A, al que est
conectado un arreglo de interruptores, sumndole el valor de una constante. Es decir,
PORT C = PORT A + CONSTANTE
Ejercicio 2. Por el Puerto C se obtiene el valor del Puerto A multiplicado por dos, es decir,
PORT C = PORT A + PORT A
11
Ejercicio 3. Por el Puerto C Se obtiene el dato del Puerto A sumado con el dato
introducido por el Puerto B, es decir, PORT C = PORT A + PORT B.
Ejercicio 4. Por el Puerto C se obtiene el dato del Puerto B invertidos los unos y los ceros.
Ejercicio 5. Por el Puerto C se obtiene el dato del Puerto B intercambiando los nibles alto
y bajo.
12
Ejercicio 6a. Por el Puerto C se obtiene el dato del Puerto B desplazando un bit hacia la
izquierda.
Ejercicio 6b. Por el Puerto C se obtiene el dato del Puerto B desplazando un bit hacia la
derecha.
13
Ejercicio 7. Por el Puerto C y Puerto B se obtiene el dato del puerto A invirtiendo los bits
pares.
Ejercicio 8.Por el puerto C se obtiene el dato de las 6 lineas del Puerto A, al que est
conectado un arreglo de interruptores, esta operacin la realizar una nica vez, despus
el programa entrar en modo Standby o bajo consumo de energa.
14