Estabilización de suelos (Física, Química y Mecánica)
Practica 4
1. Objetivo
Realizar un contador que vaya desde 000000 al 999999 de uno en uno cada
centesima de segundo, con un push button que decida si es ascendente o
descendente, y otro para detener el contador en el numero que estaba.
Introducción
Utilizando las subrutinas de anti-rebotes dentro de los interruptores para el
correcto funcionamiento lograremos que se detenga o se decida si es
ascendente o descendete el conteo, el tiempo de retardo del incremento será
de 1 centesima seg.
Con los 2 pushes se le asignaran tareas especificas el primero decidirá si es
ascendete o descente, siendo por default un conteo ascendente, mientras que
con el segundo push se mostrara en los 6 displays el numero en el que se
quedo en ese instante.
El funcionamiento del circuito si es que no se oprimio ninguno de estos, será
ascendente con una tolerancia de +- 1 segundo por 30 mins.
Marco teórico
La memoria de programa del PIC es de 8K y tiene 8192 localidades para el almacenamiento de
programa. Por esta razón, el contador de programa (PC) debe de ser de 13 bits de anchura (213 =
8192). Para habilitar el acceso a una localidad de memoria de programa durante el
funcionamiento del microcontrolador, es necesario acceder a su dirección por medio de los
registros SFR. Como todos los registros SFR son de 8 bits de anchura, este registro de
direccionamiento es creado al combinar dos registros independientes: el byte bajo (de 8 bits) del
contador de programa ocupa el registro PCL, mientras que el byte alto (5 bits) ocupa el registro
PCLATH. Si la ejecución de programa no afecta al contador de programa, el valor de este registro
(PCL y PCLATH) va incrementándose automática y constantemente: +1, +1, +1, +1... De esta
manera, el programa se ejecuta como está escrito - instrucción a instrucción, seguido por un
incremento de dirección constante.
2. La siguiente figura muestra el salto a la dirección del subprograma PP1. Sin embargo, si una
subrutina o una dirección de salto no está en la misma página que la localidad de salto, se deben
proporcionar dos bits superiores que faltan al escribir en el registro PCLATH. La siguiente figura
muestra el salto a la dirección de la subrutina PP2.
En ambos casos, cuando la subrutina llega a las instrucciones RETURN, RETLW o RETFIE (vuelta al
programa principal), el microcontrolador continuará con la ejecución de programa desde donde se
interrumpió, ya que la dirección de retorno se empuja y se guarda en la pila que consiste en
registros de 13 bits, como hemos mencionado.
Además del direccionamiento directo, que es lógico y claro (basta con especificar la dirección de un
registro para leer su contenido), este microcontrolador es capaz de realizar el direccionamiento
3. indirecto por los registros INDF y FSR. A veces esto facilita el proceso de escribir un programa. El
procedimiento entero está habilitado ya que el registro INDF no es real (no existe físicamente), sino
que solamente especifica el registro cuya dirección está situada en el registro FSR. Por esta razón,
escribir o leer los datos del registro INDF realmente significa escribir o leer del registro cuya
dirección está situada en el registro FSR. En otras palabras, direcciones de registros se especifican
en el registro FSR, y su contenido se almacena en el registro INDF. La diferencia entre el
direccionamiento directo e indirecto se muestra en la siguiente figura:
Como hemos visto, el problema con “los bits de direccionamiento que faltan” se soluciona con un
“préstamo” del otro registro. Esta vez, es el séptimo bit, denominado bit IRP del registro STATUS.
9. Conclusiones
Gracias a esta practica pudimos saber la importancia de las subrutinas ya que sin ayuda de estas
se podria perder el conteo de los displays, tambien otra parte importante fue el hacer el
corrimiento de mostrar los numeros atravez de los displays para que el ojo humano no se diera
cuenta de que estaba apagado en cierto momento un display.
10. INSTITUTO POLITECNICO NACIONAL
UNIDAD PROFESIONAL
INTERDISCIPLINARIA DE INGENIERIA
Y
TECNOLOGIAS AVANZADAS
INTEGRANTES:
Fleshman Espinoza Juneau
Medina Huerta Mario Alejandro
Alvarado Domínguez Rodrigo
PRÁCTICA 4
FECHA DE ENTREGA: 28/SEPTIEMBRE/2013
MICROPROCESADORES, MICROCONTROLADORES E INTERFAZ
PROFESOR: DAVID ARTURO GUTIÉRREZ BEGOVICH