文章目录
- 一、功能简介
- 二、软件设计
- 三、实验现象
- 联系作者
一、功能简介
本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DS1302等。
主要功能:
系统运行后,LCD1602显示时间日期。
二、软件设计
/*
作者:嗨小易(QQ:3443792007)*/#include <LiquidCrystal_I2C.h>
#include <RTClib.h>// 创建液晶显示屏对象
LiquidCrystal_I2C lcd(0x27,16,2);//创建DS1302对象
DS1302 rtc(4, 5, 6);void setup(void)
{//LCD1602初始化lcd.init();lcd.backlight();lcd.setCursor(0, 0);rtc.begin();while (!rtc.isrunning()) {lcd.print("RTC is NOT running!");// following line sets the RTC to the date & time this sketch was compiledrtc.adjust(DateTime(__DATE__, __TIME__));}lcd.clear();rtc.adjust(DateTime(__DATE__, __TIME__));lcd.setCursor(0, 0);lcd.print("20 - - Day ");lcd.setCursor(0, 1);lcd.print(" : : ");
}void loop(void)
{char buf[5];DateTime now = rtc.now();sprintf(buf,"%04d",now.year());lcd.setCursor(0, 0);lcd.print(buf);//年sprintf(buf,"%02d",now.month());lcd.setCursor(5, 0);lcd.print(buf);//月sprintf(buf,"%02d",now.day());lcd.setCursor(8, 0);lcd.print(buf);//日lcd.setCursor(15, 0);lcd.print(now.dayOfWeek());//星期sprintf(buf,"%02d",now.hour());lcd.setCursor(0, 1);lcd.print(buf);//时sprintf(buf,"%02d",now.minute());lcd.setCursor(3, 1);lcd.print(buf);//分sprintf(buf,"%02d",now.second());lcd.setCursor(6, 1);lcd.print(buf);//秒
}
三、实验现象
B站演示视频:https://space.bilibili.com/444388619
联系作者
视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。