1、主要功能

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

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

可实现基本功能:

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

按键功能:

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

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

3、按键按下的时候,蜂鸣器会响。

2、仿真

protues 仿真使用的是8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)

3、程序代码

放上来了部分代码,仅供参考

/*******************************************************************************
* 函 数 名         : 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、原理图

5、报告

内含4k字,18页的相关报告一份,纯手打,内容一致

6、常见问题汇总

里面包含了我对各个模块的详细解析,可以结合代码一起理解。如果正巧老师问题多,这个可以帮到你哦。(不定时更新,讲解模块也会越来越多)

7、资源获取

本项目包含的所有文件都可以在

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

  1. 51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

    1.主要功能 该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成. 利用51单片机实现超声波测距功能.利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时.系统定时发射 ...

  2. 基于51单片机的数字时钟(万年历)

    具体实现功能 系统由STC89C52单片机+DS1302时钟芯片+按键模块+LCD1602显示+电源构成. 具体功能: 1.可以显示年.月.日.时.分.秒.星期.农历: 2.按键可以设置闹钟及报警: ...

  3. 51单片机入门——数字时钟

    文章目录 1. 前言 1.1. 设计要求 2. 硬件原理 2.1. 时钟信号(晶振) 2.2. 按键开关 2.3. 数码管显示 3. 原理图 3.1. 仿真原理图 3.2. AD原理图 3.3. PC ...

  4. 基于单片机的数字时钟系统

    设计简介: 本设计是基于单片机的数字时钟系统,主要实现以下功能: 可通过LCD1602显示时间.温度: 可通过按键切换到倒计时.秒表的界面: 可通过按键设置闹钟时间: 可通过按键语音播报时间和温度. ...

  5. 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计

    1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...

  6. 51单片机DS1302数字时钟

    51单片机DS1302数字时钟 #include <reg52.h> #define uchar unsigned char #define uint unsigned intsbit R ...

  7. 基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)

    本设计: 基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告) Proteus仿真版本:proteus7.8 原理图:Altium Designer 程序编译器:keil 4 编程语言:C语言 ...

  8. 51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告)

    本设计: 基于51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号S0001 芯片可以替换为 ...

  9. 0800基于51单片机的甲烷监测系统proteus仿真

    [前言] hello 大家好,今天给大家讲一讲基于51单片机的甲烷监测系统.该项目的功能如下:1.LCD1602液晶实时显示当前温度和甲烷浓度2.超过甲烷浓度阈值,蜂鸣器报警3.按键可更改甲烷浓度阈值 ...

最新文章

  1. AntDB上使用表空间
  2. 1-1、作用域深入和面向对象
  3. outlook日历不显示_如何在Outlook Online中突出显示不同的日历
  4. php中什么是函数函数的意义是什么,php中arsort函数的功能起什么作用呢?
  5. 学习IDisposable,对于此中的不解……请高手指点
  6. Linux常用命令大全(三)
  7. ECS中的Entity实体
  8. educoder软件工程导论结构化分析方法
  9. 移动端证件识别OCR
  10. 动软代码生成器使用心得
  11. ubantu分区知识
  12. java技术管理的简历_基于javaweb个人简历生成及管理系统.doc
  13. 固态硬盘怎么看出厂日期_固态硬盘使用时间怎么看,固态硬盘寿命计算方法
  14. 同样硬件安装不同操作系统:Win7和Win10对于同一段程序源码的编译速度不同
  15. 网关支付、、快捷支付、银行卡支付等网上常见支付方式接口说明
  16. 【2023最新】超详细图文保姆级教程:App开发新手入门(1)
  17. 程序员的职级和薪酬体系
  18. 浅谈《英雄杀》5人局之反贼技巧
  19. Tensorflow2.5安装(安装问题,这一篇全解决)
  20. python个人所得税怎么写分录_个人所得税的凭证分录怎么写

热门文章

  1. 如何把自己的笔记本做成一个wifi热点共享网络
  2. 基于SSM的在线贷款借款信贷贷款网站交易平台(javaweb-php-asp.netC#-j2ee)
  3. iPad革命:开发者的机遇和挑战
  4. Android-------RecycleView自定义拖拽、侧滑的实现
  5. CASIO登山运动表SGW-100-1V说明书
  6. CPU、GPU、DPU、TPU、NPU...傻傻分不清楚?实力扫盲——安排
  7. 安利(自己清弹窗的工具)
  8. Re-ID综述(持续)
  9. python——循环结构正弦幂级数展开及图像
  10. 从零开始学习小程序1-1开发一个单页面小程序