Está en la página 1de 8

24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

Proyectos Simples
Proyectos eléctricos y electrónicos sencillos


Casa Proyectos PIC  Proyectos Arduino Proyectos ESP8266 Proyectos MikroC

Proyectos CCS C Proyectos MPLAB PCBWay PCBONLINE JLCPCB Contacto

24 de enero de 2019 ⁄ Proyectos Simples

Interfaz del
microcontrolador
PIC18F46K22 con
DS1307 RTC
Esta publicación muestra cómo construir un
Etiquetas:
reloj / calendario simple en tiempo real usando
el microcontrolador PIC18F46K22 y el chip 7 SEGMENTOS

DS1307 RTC donde la hora y la fecha se 74HC595 ADC

muestran en una pantalla LCD de 20 × 4 y se AMC1301

MOTOR BLDC
pueden configurar usando dos botones
BME280 BMP280
conectados al microcontrolador PIC18F46K22.
DAC

https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 1/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

El compilador utilizado en este proyecto es CCS MOTOR DE


CORRIENTE
PIC C.
CONTINUA

DHT11 DHT22
Hardware requerido: DS18B20 DS1307

DS1621 DS1631

Microcontrolador PIC18F46K22 —-> hoja de DS3231 GPS

datos HC-SR04

Pantalla LCD de 20 × 4 ILI9341 TFT

DS1307 RTC —-> hoja de datos INTERRUMPIR

PALANCA DE
Oscilador de cristal de 32,768 kHz
MANDO
Resistencia de 2 x 10k ohmios
L293D L6234
Resistencia de 330 ohmios
LCD DIRIGIÓ
2 x pulsador
LM35 LM335
Resistencia variable o potenciómetro de 10 LM4040
k ohmios TARJETA MMC / SD
Batería de celda de moneda de 3V NOKIA 5110 PWM

Fuente de alimentación de 5 V CONTROL REMOTO

Tablero de circuitos CODIFICADOR


ROTATORIO
Cables de puente
RTOS

SSD1306 OLED
Interfaz de PIC18F46K22 con
ST7735 TFT

DS1307 y circuito LCD 20 × 4: ST7789 TFT

La siguiente imagen muestra el diagrama MOTOR PASO A


PASO
esquemático del circuito del proyecto.
TIRISTOR TRIAC

UART ULN2003

USB VGA

Archivo

https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 2/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

Todos los terminales conectados a tierra están Junio ​2021


conectados entre sí. Marzo de
2020
Los dos botones del circuito se utilizan para Febrero de
configurar la hora y la fecha del reloj de tiempo 2020

real, el botón 1 (B1) está conectado al pin RB0 Enero de

(# 33) y el botón 2 (B2) está conectado al pin 2020


Diciembre de
RB1 (# 34).
2019
Noviembre de
Los pines SCL y SDA de DS1307 están
2019
conectados respectivamente a los pines RC3 (#
Octubre de
18) y RC4 (# 23) del PIC18F46K22 que son
2019
pines del módulo I2C de hardware (MSSP1).
Septiembre de
2019
La pantalla LCD de 20 × 4 se conecta al
Agosto de
microcontrolador PIC18F46K22 de la siguiente
2019
manera: Julio de 2019
RS -> RD0 pin Junio ​de 2019
RW -> RD1 pin Mayo de 2019
E -> RD2 pin Abril de 2019
D4 -> RD3 pin Marzo de
D5 -> RD4 pin 2019
D6 -> RD5 pin Febrero de

D7 -> RD6 pin 2019

VSS, D0, D1, D2, D3 y K están conectados al Enero de 2019


Diciembre de
circuito GND (tierra).
2018
VEE al pin de salida de la resistencia variable (o
Noviembre de
potenciómetro).
2018
VDD a + 5V y A a + 5V a través de una
Octubre de
resistencia de 330 ohmios.
2018


https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 3/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

El pin VEE se utiliza para controlar el contraste Septiembre de


de la pantalla LCD. A (ánodo) y K (cátodo) son 2018
los pines LED de luz de fondo. Agosto de
2018
En este proyecto, el microcontrolador Julio de 2018

PIC18F46K22 se ejecuta con su oscilador Junio ​de 2018

interno a 8 MHz, el pin MCLR está configurado Mayo de 2018


Abril de 2018
como pin de entrada.
Marzo de
2018
Interfaz de PIC18F46K22 con Febrero de
DS1307 y código C LCD 20 × 4: 2018

El siguiente código C es para el compilador CCS Enero de 2018


Diciembre de
C, se probó con la versión 5.051.
2017
Noviembre de
Para poder compilar el código C a continuación,
2017
se requiere un controlador (biblioteca) para
Septiembre de
DS1307 RTC, su nombre completo (con
2017
extensión) es DS1307.C , el enlace de descarga
Agosto de
es el siguiente:
2017
DS1307 CCS C driver
Julio de 2017
Junio ​de 2017
Después de la descarga, agréguelo a la carpeta
Noviembre de
del proyecto o la carpeta de controladores CCS 2016
C (por ejemplo, C: \ Archivos de programa (x86) Octubre de
\ CCS \ Drivers). 2016
Septiembre de
Para obtener más información sobre el 2016
controlador DS1307 para el compilador CCS C, Agosto de
visite la siguiente publicación: 2016
Controlador DS1307 RTC para el compilador Julio de 2016
Mayo de 2016
CCS C 
https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 4/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

El bus I2C (usando el módulo I2C1) se inicializa Abril de 2016


en el código como se muestra a continuación a Marzo de
una frecuencia de reloj de 100 kHz: 2016
Febrero de
2016
1 #use I2C(MASTER, I2C1, SLOW = 100000, STR

Funciones utilizadas en el código: Pagina de


int1 debounce (): esta función es para el botón Facebook:
B1 antirrebote, devuelve 1 si el botón es
antirrebote. Simple P
2,372 likes

void dow_print (): muestra el día de la semana


Like Page
(lunes, martes…) en la pantalla LCD.

void rtc_print (): muestra la hora, la fecha y el


Mensajes
día de la semana en la pantalla LCD. Esta
recientes
función llama a la anterior para mostrar el día
de la semana. Medición de
voltaje CA aislada
void wait (): esta función es solo un retardo de con Arduino y
500 ms excepto que puede ser interrumpida amplificador
por los dos pulsadores (B1 y B2). En esta AMC1301

función el módulo Timer0 se utiliza para contar Interfaz de

los 500 milisegundos, se utiliza como Arduino con


sensor de
temporizador de 16 bits con prescaler = 16
temperatura
(==> 1 tick cada 8 microsegundos ==> 62500 x
LM335
8 = 500000 us = 500 ms).
ESP8266
NodeMCU con
int8 edit(int8 x_pos, int8 y_pos, int8
sensor BME280 y
parameter): this function is for setting the real
estación
time clock, returns the edited parameter.

https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 5/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

Rest of code is described through comments. meteorológica


TFT ST7789
Código CCS C completo:

Enlaces
1 /* patrocinados:
2 * Interfacing PIC18F46K22 microcontro
3 * C Code for CCS C compiler.
4 * This is a free software with NO WAR
5 * https://simple-circuit.com/
6 */
7
8 // LCD module connections
9 #define LCD_RS_PIN PIN_D0
10 #define LCD_RW_PIN PIN_D1
11 #define LCD_ENABLE_PIN PIN_D2
12 #define LCD_DATA4 PIN_D3
13 #define LCD_DATA5 PIN_D4
14 #define LCD_DATA6 PIN_D5
15 #define LCD_DATA7 PIN_D6
16 // end LCD module connections
17
18 // button definitions
19 #define button1 PIN_B0
20 #define button2 PIN_B1
21
22 #include <18F46K22.h>
23 #fuses NOMCLR,NOLVP,NOBROWNOUT,PUT,NO
24 #use delay(internal = 8MHz)
25 #use I2C(MASTER, I2C1, SLOW = 100000,
26 #include <lcd.c> // include LCD dr
27 #include <DS1307.c> // include DS1307

The following video shows Proteus simulation


of this project (simulation circuit is not the
same as real hardware circuit, project hardware
circuit is shown above):


https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 6/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

Proteus simulation file download:


PIC18F46K22 + DS1307 RTC + 20×4 LCD

Share this:

  

DS1307

« Interfacing PIC18F46K22 with 7-segment


display and LM35 sensor
Real time clock with alarms using PIC18F46K22
and DS3231 »

Leave a Reply

Enter your comment here...

Este sitio utiliza Akismet para reducir el spam.


Conozca cómo se procesan los datos de sus 
https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 7/8
24/6/2021 Interfaz del microcontrolador PIC18F46K22 con DS1307 RTC

comentarios .

Proyectos simples - 2021 Casa Contacto


https://simple-circuit.com/pic18f46k22-ds1307-rtc-lcd-ccs-c/ 8/8

También podría gustarte