RELOJ-ALARMA

Resultado de imagen para alarma reloj

En la esta practica se le dio solución al siguiente problema planteado:

Cosas usadas:

  • 2 protoboards
  • 1 PSoC
  • 4 7segmentos
  • 3 pulsadores
  • DipSwitch ( varios)

Lo primero que se hizo fue implementar 5 contadores, de tal manera qué

  • 1 contara como los segundos, los cuales no son visibles en los 7 segemntos, pero este es el responsable de que cuente correctamente, es por esto que se reiniciará cuando sea 60.
  • El segundo sirva como minutero, y este se activará cuando el primer contador sea reiniciado, es decir cuando se cumplan 60 segundos. Este contador se reiniciará cuando sea 9.
  • El tercero servirá como decenas de los minutos, se activará cuando el segundo y el tercero contador sea reiniciado. Es decir cuando hallan pasado 9minutos. Este contador se reiniciará cuando sea 5.
  • El cuarto contador servirá como las unidades de las horas, se activará cuando los 3 anteriores contadores sean reiniciados. Es decir cuando halla pasado la primera hora. Este contador será reiniciado cuando sea 9.
  • Este ultimo contador servirá como decenas de horas, pero se reiniciará cuando 3 primeros se reinicien y cuando este quinto esté en 2 y el cuarto en 3, completando su primer día, es decir cuando marque 23:59:59.

Los contadores siempre tendrán 1 en su entrada de enable, pero en su clock estarán loas condiciones habladas anteriormente para cada contador.

En la imagen se puede notar como van conectados y como son las condiciones para cada reset, a parte de eso se puede ver como va a conectada la visualización dinámica que corresponde a este montaje. Pero falta una cosa por explicar que es clave para que la visualización dinámica se funcional y es la parte de la alarma, ya que esta también se podrá ver al momento de querer poner la alarma, en los dipswtich se verá que dato se le está ingresando, eso si, si el pulso que activa el modo alarma esta en 1 pasará lo dicho anteriormente, de otra manera no pasará.

Ahora, regresando a la parte del reloj, vamos a mirar como cuadrar los clocks de cada uno de los contador. A pesar de lo estipulado anteriormente, los clocks de cada contador tienen una restricción “especial” ya que esta será la que permita el detenimiento del reloj.

El clock de estos estarán multiplicados por una señal negada, es decir que manda un 0 lógico llamada STOP la cual es generada por un pulsador, cuando se “activa” esta señal, permitirá que no se siga contando y se detenga los contadores en la hora que estaba, esto generando el que el reloj se detenga sin cambiar nada o reiniciarse.

Nota: Los flip flops usados ahí son para guardar el dato del reset del anterior contador , con esto se evitará los desbordamientos en cada uno de los contadores, permitiendo un optimo funcionamiento del reloj. RLL es un clock con una frecuencia muy baja (0.5Hz) para permitir el retraso oportuno de esta señal.

Ya con 2 partes realizadas ( el reloj y el detenimiento del reloj) falta poder ajustar la hora deseada, para esto se va a hacer uso del siguiente circuito:

En el primer sumador la entrada sera la señal del clock con stop de de las unidades de minutos y la otra entrada será la , en una and, el pulso generador por el pulsador que se usará para aumentar los minutos cuya señal fue ingresada primero en un debouncer el cual sirve para evitar los pulsos “falsos” que se genera al usar un switch convencional, y a la otra entrada de la and estará la señal que nos indica que efectivamente el reloj está detenido y listo para cambiar / ajustar la hora.

El segundo contador tendrá a la primera entrada la salida del clock con stop del contador anterior, en este caso unidades de minutos y la otra entrada será una and de 3 entradas con

  • la primera entrada con la señal que nos indica que esta parado el reloj
  • la segunda es la señal de la salida del anterior sumador
  • y la tercera una and con un flip flop que retrace la señal del reset y con el reset del anterior contador, para evitar el desbordamiento del contador.

El tercero y cuarto contador funciona de la misma manera que los anteriores, con el cambio que ahora se le ingresará la señal generada por el pulsador a usar para aumentar horas; es decir que el 3 contador aumentará las unidades de las horas y el 4 contador aumentará la decenas de las horas.

Ahora si, la salida de cada contador va al clock del contador respectivamente.

Con todo el reloj hecho ( contar, parar y ajustar) procederemos a hacer la parte de la alarma.

El primer componente que usaremos será el de definir que numero será puesto en la alarma de la siguiente manera :

Cada una de las entradas serán puestas usando un dipswitch.

En la primera parte se asignará el valor de las decenas de las horas, este valor solo podrá ir de 0-2,es por esto que los bits 2 y 3 estan en cero.

La segunda parte asignará las unidades de horas, estas si pueden ir hasta 9, por es necesario usar los 4 bits.

La tercera parte se determina en que valor de décimas de minuto se va a ajustar la alarma, este también será restringido ya que solo puede asignarse un valor de 0-5.

En lo ultimo se asigna el valor de las unidades de minutos, el cual va de 0-9.

Cabe recordar que este ajuste de alarma se logra con el pulso de un dipswitch que pone al reloj, evidentemente, en modo ajuste alarma.

Asi luce este componente

Ahora, estas salidas se multiplexarán con las salidas de cada contador, para poder así lograr la visualización dinámica entre la hora o hora de la alarma.

Esquemático de un mux 32:16 con las 4 buses de 4bits en cada entradas de 16bits

Se conecta así

Ahora falta hacer un comparador de tal manera que cuando el numero que marca el reloj es igual a de la alarma, mande un pulso que prenda un led indicando que la alarma está ” sonando”

Son comparadores entre el dato de digamos, las unidades de horas que marcan el reloj y en las que se ajustó la alarma.

La memoria de 1 bit ( diseñada anteriormente) es para poder mantener el dato de la alarma ” sonando ”

Se conecta de la siguiente manera

Siendo DTENERA el pulso producido por el ” boton ” para apagar la alarma.

Ya teniendo el roloj y la alarma, se dispone a utilizar un mux 16:4 y el circuito del selector correspondiente para poder decidir que dato va en cada uno de los 7segmentos, esto es efectivamente la visualización en los 7segmentos.

Siendo la entrada del mux la salida del mux 32:16.

El circuito usado para la selección es el siguiente:

Obteniendo así el programa final para logar un RELOJ-ALARMA programable

*Se pide disculpas por el desorden en el topdesign*

Leave a comment