• 【Proteus仿真】【Arduino单片机】DS1302时钟



    一、功能简介

    本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DS1302等。
    主要功能:
    系统运行后,LCD1602显示时间日期。


    二、软件设计

    /*
    作者:嗨小易(QQ:3443792007)
    
    */
    
    #include 
    #include 
    
    // 创建液晶显示屏对象  
    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 compiled
        rtc.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);//秒
    }
    
    
    • 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
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70

    三、实验现象

    B站演示视频:https://space.bilibili.com/444388619

    在这里插入图片描述

    联系作者

    视频地址:https://space.bilibili.com/444388619/video
    专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

  • 相关阅读:
    Qt使用qtwebapp编写http服务的步骤
    清洁工 c++算法
    C自定义函数
    C 如何将输出的地址转化为十进制数
    Spring创建Bean实例的方式
    BBR/CUBIC 共存时的 buffer 挤兑
    行者AI解析内容审核平台中的图像检测技术原理
    Ajax异步请求的五个步骤
    JAVA【设计模式】桥接模式
    详解c++---入门(下)
  • 原文地址:https://blog.csdn.net/Hello_Muyi/article/details/134469314