【Proteus仿真】Arduino UNO+LCD1602+PCF8574转I2C驱动显示+DS1307

【Proteus仿真】Arduino UNO+LCD1602+PCF8574转I2C驱动显示+DS1307


  • Proteus仿真
    在这里插入图片描述
  • LiquidCrystal_I2C
    在这里插入图片描述
  • RTClib
    在这里插入图片描述

程序代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <Wire.h>
#include <LiquidCrystal\_I2C.h>//点击这里会自动打开管理库页面: http://librarymanager/All#LiquidCrystal\_I2C
#include <RTClib.h>//点击这里会自动打开管理库页面: http://librarymanager/All#RTClib


DateTime now;
RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x27,16,2);


void displayDate(void);
void displayTime(void);

void setup ()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
if (! rtc.begin())
{
Serial.println("DS1307 RTC Module not Present");
while (1);
}
if (rtc.lostPower())
{
Serial.println("RTC power failure, resetting the time!");
rtc.adjust(DateTime(F(\_\_DATE\_\_), F(\_\_TIME\_\_)));
}
}

void loop ()
{
now = rtc.now();
displayDate();
displayTime();
}
void displayTime()
{
lcd.setCursor(0,0);
lcd.print("Time:");
lcd.print(now.hour());
lcd.print(':');
lcd.print(now.minute());
lcd.print(':');
lcd.print(now.second());
lcd.print(" ");
}

void displayDate()
{
lcd.setCursor(0,1);
lcd.print("Date:");
lcd.print(now.day());
lcd.print('/');
lcd.print(now.month());
lcd.print('/');
lcd.print(now.year());
}

  • 编译信息
1
2
3
4
5
6
7
8
9
10
使用: C:\Users\Administrator\Documents\Arduino\libraries\Adafruit_BusIO
C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.4\libraries\Wire
使用 1.1.2 版本的库 LiquidCrystal_I2C 在文件夹: C:\Users\Administrator\Documents\Arduino\libraries\LiquidCrystal_I2C
使用 2.0.3 版本的库 RTClib 在文件夹: C:\Users\Administrator\Documents\Arduino\libraries\RTClib
使用 1.9.8 版本的库 Adafruit_BusIO 在文件夹: C:\Users\Administrator\Documents\Arduino\libraries\Adafruit_BusIO
使用 1.0 版本的库 SPI 在文件夹: C:\Users\Administrator\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.4\libraries\SPI
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "d:\\arduino\\MyHexDir/DS1307.ino.elf"
项目使用了 7198 字节,占用了 (22%) 程序存储空间。最大为 32256 字节。
全局变量使用了540字节,(26%)的动态内存,余留1508字节局部变量。最大为2048字节。

程序源码和仿真资源

本实验基于proteus8.12平台。

1
2
3
链接:https://pan.baidu.com/s/1lLqZaI5iFsS9ks5DZKaVYQ 
提取码:8r24


醉后不知天在水,满船清梦压星河。——唐温如