51单片机的数字时钟系统【含仿真+程序+报告+原理图】

这篇具有很好参考价值的文章主要介绍了51单片机的数字时钟系统【含仿真+程序+报告+原理图】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、主要功能

该系统由AT89C51单片机+DS1302时钟模块+按键模块+LCD显示模块构成。

利用51单片机实现电子时钟的功能。使用DS1302芯片作为计时设备,用LCD1602作为显示设备,按键按下可修改当前时间,按下的时候蜂鸣器会di一声。

可实现基本功能:

1、实时显示当前时间和日期

按键功能:

1、点击设置,可修改当前的时间和日期,再次点击设置,单片机以刚刚设置好的时间继续运行。

2、可设置闹钟,到点蜂鸣器响。

3、按键按下的时候,蜂鸣器会响。文章来源地址https://www.toymoban.com/news/detail-463361.html

51单片机的数字时钟系统【含仿真+程序+报告+原理图】

2、仿真

protues 仿真使用的是8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)
51单片机的数字时钟系统【含仿真+程序+报告+原理图】

3、程序代码

放上来了部分代码,仅供参考
51单片机的数字时钟系统【含仿真+程序+报告+原理图】
/*******************************************************************************
* 函 数 名         : Ds1302Write
* 函数功能           : 向DS1302命令(地址+数据)
* 输    入         : addr,dat
* 输    出         : 无
*******************************************************************************/
void Ds1302Write(uchar addr, uchar dat)
{
    uchar n;
    RST = 0;
    _nop_();

    SCLK = 0;//先将SCLK置低电平。
    _nop_();
    RST = 1; //然后将RST(CE)置高电平。
    _nop_();

    for (n=0; n<8; n++)//开始传送八位地址命令
    {
        DSIO = addr & 0x01;//数据从低位开始传送
        addr >>= 1;
        SCLK = 1;//数据在上升沿时,DS1302读取数据
        _nop_();
        SCLK = 0;
        _nop_();
    }
    for (n=0; n<8; n++)//写入8位数据
    {
        DSIO = dat & 0x01;
        dat >>= 1;
        SCLK = 1;//数据在上升沿时,DS1302读取数据
        _nop_();
        SCLK = 0;
        _nop_();    
    }    
         
    RST = 0;//传送数据结束
    _nop_();
}

/*******************************************************************************
* 函 数 名         : Ds1302Read
* 函数功能           : 读取一个地址的数据
* 输    入         : addr
* 输    出         : dat
*******************************************************************************/
uchar Ds1302Read(uchar addr)
{
    uchar n,dat,dat1;
    RST = 0;
    _nop_();

    SCLK = 0;//先将SCLK置低电平。
    _nop_();
    RST = 1;//然后将RST(CE)置高电平。
    _nop_();

    for(n=0; n<8; n++)//开始传送八位地址命令
    {
        DSIO = addr & 0x01;//数据从低位开始传送
        addr >>= 1;
        SCLK = 1;//数据在上升沿时,DS1302读取数据
        _nop_();
        SCLK = 0;//DS1302下降沿时,放置数据
        _nop_();
    }
    _nop_();
    for(n=0; n<8; n++)//读取8位数据
    {
        dat1 = DSIO;//从最低位开始接收
        dat = (dat>>1) | (dat1<<7);
        SCLK = 1;
        _nop_();
        SCLK = 0;//DS1302下降沿时,放置数据
        _nop_();
    }

    RST = 0;
    _nop_();    //以下为DS1302复位的稳定时间,必须的。
    SCLK = 1;
    _nop_();
    DSIO = 0;
    _nop_();
    DSIO = 1;
    _nop_();
    return dat;    
}

/*******************************************************************************
* 函 数 名         : Ds1302Init
* 函数功能           : 初始化DS1302.
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/

void Ds1302Init()
{
    uchar n;
    EA=0;
    Ds1302Write(0x8E,0X00);         //禁止写保护,就是关闭写保护功能
    for (n=0; n<7; n++)//写入7个字节的时钟信号:分秒时日月周年
    {
        Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);    
    }
    Ds1302Write(0x8E,0x80);         //打开写保护功能
    EA=1;
}

4、原理图

51单片机的数字时钟系统【含仿真+程序+报告+原理图】

5、报告

内含4k字,18页的相关报告一份,纯手打,内容一致
51单片机的数字时钟系统【含仿真+程序+报告+原理图】

6、常见问题汇总

里面包含了我对各个模块的详细解析,可以结合代码一起理解。如果正巧老师问题多,这个可以帮到你哦。(不定时更新,讲解模块也会越来越多)
51单片机的数字时钟系统【含仿真+程序+报告+原理图】

7、资源获取

51单片机的数字时钟系统【含仿真+程序+报告+原理图】
本项目包含的所有文件都可以在 👉 今天也不想打工 get
项目纯手打,不是免费的哦~浅浅一杯奶茶的 💴
希望可以帮到你哈!

到了这里,关于51单片机的数字时钟系统【含仿真+程序+报告+原理图】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于51单片机的数字时钟设计

    目录 一、总体概述 1、计时控制方案 2、主控制器模块 3、显示电路模块 4、调试按键模块 5、电源模块 6、闹钟声光报警模块 二、系统总体结构 1.电路图 三、系统的硬件设计与实现 1、电源电路 2、显示电路 3、单片机基本电路 4、按键电路 四、功能测试及结果分析 五、程序附

    2024年02月07日
    浏览(47)
  • 51单片机入门——(新)简易数字时钟

    实现正确稳定地显示小时(两位数)、分钟(两位数)、秒钟(两位数),同时数码管应无闪烁问题。 通过按键分别实现时、分信息的调整,方便用户对时间的校准。 加入闹铃功能在(本设计中用LED代替)。 key1 用于切换时分秒的加减。例:第一次按下后,按key2key3时“秒”加减,

    2024年02月11日
    浏览(52)
  • 51单片机的音乐播放器系统(仿真+程序)

    该系统由AT89C51单片机+数码管模块+蜂鸣器模块+按键模块构成 可实现功能: 1、按键切换歌曲(4首) 2、数码管显示歌曲序号 proteus 仿真使用的是8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以

    2024年02月12日
    浏览(45)
  • 基于AT89C51单片机的电子时钟设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779867?spm=1001.2014.3001.5503 源码获取 主要内容: 使用DS1302芯片作为计时设备,用6个7段LED数码管或者LCD162作为显示设备,实现时钟功能; 基本要求: (1)可以分别设定小时、分钟和秒,复位后时

    2024年02月06日
    浏览(54)
  • 51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

    基于51单片机锅炉监控系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0056 基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用) 1.系统实时通过LCD1602显示水位检测值,锅

    2024年02月06日
    浏览(39)
  • 基于 AT89C51 单片机的数字时钟设计

    目录 1.设计目的、作用 2.设计要求 3.设计的具体实现 3.1 设计原理 3.2 硬件系统设计         3.2.1 AT89C51 单片机原理 3.2.2 晶振电路设计 3.2.3 复位电路设计 3.2.4 LED 数码管显示 3.3 系统实现 3.3.1 系统仿真与调试 3.3.2 演示结果 4.总结 附录 附录 1 附录 2 (1 )掌握 51 系列单片机的

    2024年02月01日
    浏览(62)
  • 51单片机的步进电机控制系统(仿真+程序+报告+原理图)

    该系统由AT89C51单片机+数码管模块+步进电机模块+按键模块构成。 可实现功能: 1、按键控制步进电机正反转、加减速、停止; 2、2个发光二极管显示正反转,1位7段LED数码管显示当前转速档位(共9个档位); 3、4个红色LED,指示电机的转速。 protues 仿真使用的是8.10版本,由于

    2024年02月11日
    浏览(40)
  • 51单片机的交通灯控制系统(仿真+程序+报告+原理图)

    该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。 可实现基本功能: 1、红绿灯正常切换,黄灯会闪烁 2、红灯30s,绿灯25s,黄灯5s(时间不同只需修改变量,简单) 按键功能: 1、南北向红灯时间可调,东西向绿灯时间可调 2、东西方向紧急模式:按下东西方向变

    2024年02月05日
    浏览(63)
  • 51单片机的智能台灯控制系统仿真( proteus仿真+程序+原理图+报告+讲解视频)

    51单片机的红外光敏检测智能台灯控制系统仿真( proteus仿真+程序+原理图+报告+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0050 基于51单片机的红外检测光照检测智能台灯仿真设计 1、检测光照强度并显示在数码管上。 2、具备红外检测

    2024年02月09日
    浏览(54)
  • 51单片机的智能鱼缸控制系统【proteus仿真+程序+报告+原理图】

    该系统由AT89C51单片机+LCD1602+DS18B20温度传感器+DS1302时间模块+ADC0832采集模拟水位、浑浊度信息+继电器控制电机和加热器模块+蜂鸣器模块构成。 可实现功能: 1、LCD1602显示各种信息 2、DS1302获取北京时间,用户通过按键设定1个喂食时间,默认时间12:30:00。到时间后自动喂食,

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包