top of page
  • Adal

MPLAB X 7 RTC con PIC16F18855

Actualizado: 8 mar 2022

Hoola!


Un RTC por sus siglas en ingles Real Time Clock, es un dispositivo que nos ayuda a llevar las cuentas como nosotros los humanos raramente las contamos, que si un año son 365 días, que un mes varia la cantidad de días, que una semana son 7 días, que el día tiene 24 horas, que cada hora tiene 60 minutos y que cada minuto tiene 60 segundos; ya ven porque necesitamos este dispositivo, a las maquinas les gusta contar en base 2, y la numeración que les gusta a las computadoras es binaria, asi que el RTC nos ayuda a hacer la conversión del sistema maquina a humano y viceversa


El modulo RTC que estaré utilizando es el DS1307, uno de estos


Lo primero que tenemos que hacer es un proyecto nuevo en el MPLABX (Ctrl+Mayus+N) y abrir el MCC, una ves ahí lo primero que tenemos que hacer es cambiar el core de nuestro mcc al 4.65 o inferior, ya que con estos cores son con los que funciona nuestra libreria que vimos en el post MPLAB 6 Termómetro con I2C,

Después agregamos la EUSART y habilitamos el transmit y el recive, ademas del Redirect to STDIO to USART

También agregamos en MSSP1 y nos aseguramos que este en el modo I2C Master, lo demás lo dejamos como esta

y por ultimo el pinout debe quedar así, recordemos que estos ya están especificados por el hardware de la Xpress board

generamos el MCC y lo cerramos


Ahora en el main.c definimos la dirección de los registros del sensor


Después le pasaremos la hora inicial al sensor, eso se hace con la siguiente función

Ahora la función para leer los nuevos datos que se actualizan en el sensor

también necesitaremos las funciones para cambiar de binario coded a decimal y viceversa

https://es.wikipedia.org/wiki/Decimal_codificado_en_binario


Ya en el main, después de iniciar el sistema, dejamos habilitados las dos interrupciones y mandamos configurar nuestra primera hora en el sensor

en el while, consultamos cada registro del sensor para imprimirlo en terminal y saber que hora es


Si quieren saber mas información sobre el RTC y del sensor, esta pagina lo detalla muy bien


Finalmente limpiamos y construimos en el martillito y subimos nuestro .hex a la placa, si todo salió bien, se debería de estar desplegando la hora y la actualización de esta



14 visualizaciones0 comentarios

Entradas Recientes

Ver todo
bottom of page