在此项目中,我将向您展示如何使用8051和DS12C887以及DS1307 RTC模块设计简单的数字时钟电路。
介绍
数字时钟显示使用数字的时间,并且有许多应用程序,例如汽车,火车站,房屋,办公室等,以提供准确的时间和日期。在这种类型的应用程序中,通常我们使用RTC(实时时钟)IC来准确显示时间和日期。
该电路显示LCD上的时间。对于这个时钟,我们可以在任何瞬间设置时间。在这里,时钟可以在24小时模式或12小时模式下工作,并且RTC芯片是通过编程8051控制器配置的。
我将使用使用数字时钟的两个电路8051微控制器:一种使用RTC DS12C887,另一个使用RTC DS1307。
电路原理
两个电路的主要原理是8051控制器连续读取实时时钟IC的数据,并按照正确的顺序处理以显示LCD上的时间。
相关文章:[[数字秒表电路这是给予的
电路图数字时钟电路使用8051和DS12C887
电路组件
- 8051微控制器
- 项目PCB
- 编程电缆
- 直流电池或12V,1A适配器
- DS12C887 RTC IC
- 16*2字母数字LCD
- 按钮 - 4
- 滑动开关 - 3
- 2个陶瓷电容器 - 33pf
- 12 MHz晶体
- 电解电容器 - 10UF,16V
- 电阻(1/4瓦) - 10K
- 锅 - 10k
- 5V直流电源电路
- 单针连接电线
电路设计
该电路向您展示了如何与8051控制器接口RTC IC。端口P0用作实时时钟的数据端口。控制器的端口P2连接到LCD的数据引脚。控制器的PIN p1.1,p1.2和p1.3分别连接到RS,RW,EN引脚。P1.0连接到RTC的重置。按钮连接到P1.4和P1.5。这些用于设置时间。P1.6被配置为用户设置的时间来运行时钟的启动引脚。P3.3连接到用于调用SET_TIME函数的按钮。
DS12C887实时时钟
该IC用于提供准确的时间和日期。该IC在12小时模式和24小时模式下提供时间。该IC还提供日历组件日,月和年。此RTC使用内部锂电池为了在电源失败时保持时间和日期更新。该IC具有128个字节的RAM内存。在这128个字节中,RAM 14字节用于时间,日期和寄存器。其余114个字节用于存储通用数据。
仅当从外部源应用电源时,RTC的控制寄存器才能访问。该IC需要超过4.25V的电源,并且在提供外部电源时可在200ms之后访问控制寄存器。
引脚描述
- MOT:这是一个公交类型选择引脚,用于在英特尔和摩托罗拉公交类型。该销与VCC连接以选择摩托罗拉公交类型并连接到GND或无连接以选择英特尔公交类型。
- 2,3:未使用的别针
- 4 - 11(AD0 - AD7):这些引脚是RTC的双向地址和数据线。在这些针上地址存在于循环的第一部分中,并且数据在总线周期的第二部分中存在。
- 12(GND):该引脚连接到地面。
- 13(CS):在读写操作过程中,该销必须很低才能访问芯片。
- 14(AS):该引脚上的高脉冲用于消除数据和地址。
- 15(r/w):此PIN用于阅读或写入操作。
- 16:未使用的别针
- 17(DS):这是一个数据频闪销。
- 18(重置):该引脚上的低脉冲重置所有标志和中断,但不会影响时间和日期。
- 19(IRQ):此活动的低引脚用作控制器的中断输入。
- 20 - 22:未使用的别针
- 23(sqw):用于产生具有预定义频率的方波
- 24(VCC):该销已连接5V电源
RTC地址图
该RTC具有128个字节RAM,地址为00h - 07h。前十个位置(00 - 09)用于时钟,日历和警报数据。0A - 0D地址位置用于状态和控制寄存器。剩余的地址位置用于通用数据。下表显示了时钟,日历和警报的地址位置。
该IC具有4个控制和状态寄存器,即注册A,寄存器B,寄存器C,寄存器D。我们需要配置所有这些寄存器以获取准确的时间和日期。为了配置这些寄存器DS12C887数据表
代码
电路图数字时钟电路使用8051和DS1307
需要组件
- 8051微控制器
- 8051开发委员会(可选)
- 8051程序员
- DS1307 RTC模块
- 11.0592MHz水晶(用于8051)
- 32.768 kHz水晶(用于DS1307 RTC)
- 电容器 - 33pf x 2,10µF
- 电阻 - 1kΩx 2,10kΩ x 2,8 x1kΩ上拉,10kΩ锅
- 3V锂电池
- 按钮
- 16×2 LCD显示
代码
如何操作?
- 最初将程序刻录到8051微控制器
- 现在根据电路图给出连接
- 打开董事会供应
- 现在,您可以在LCD上观察时间。如果要设置时间,将开始引脚降低,然后按将按钮连接到P3.3
- LCD显示设定的时间消息。现在,使用连接到P1.4的按钮设置小时,并使用其他按钮设置分钟。
- 现在使启动销高以运行时钟。
电路应用
- 该项目用于办公室,房屋,酒店和汽车手机,以显示时间和日期。
- 我们还可以通过一些修改设置该项目中的警报。
24个回应
我想构建该项目
我想构建这个项目
为什么需要此项目代码?
因为RTC是我项目的一部分
您是要制作相同的项目还是不同的项目。
不,我正在尝试不同的项目,基本上我的项目是关于气象站
给我们更多有关您项目的详细信息
我的项目是关于气象站,在该站中,需要将传感器的价值(温度,湿度,风速和方向)占据,并与LCD上的时间和日期一起显示,
它是爱好的伟大项目
它的RTC时钟工作
我想自己做
我有兴趣作为我的迷你项目这样做。我想做同一项目
我想构建这个项目
你好!
谢谢你!
对这个项目很感兴趣,我更喜欢尝试自己。
你好!
我想尝试一下。
由于我正在进行电子工程,因此我想了解如何完成8051个微控制器项目。我正在制作这个项目以进行自我分析并获得知识。因此,我想从基本的数字时钟开始。
这是我项目的一部分
我正在尝试同一项目。
从文章本身下载代码。
因为我需要一个基于微控制器的项目
不同的
搜索
代码已上传到项目中
为什么需要此项目代码?
因为RTC是我项目的一部分
您是要制作相同的项目还是不同的项目。
是的
我尝试了相同的项目,其中包含ElectronicShub的相同细节,但它不起作用!在proteus上,它显示了Net AD0,AD1….AD7上的逻辑论点。我几次检查了连接,连接没有故障。请帮忙!!
不工作!请帮助!
我想简单地构造这个项目
程序无法正常工作。
我对启动开关有问题,当我按下启动开关按钮时,它确实显示了LCD数据,但是在00:00:00,即使设定了时间,计时器也无法启动,
不工作
我正在尝试制作一个类似的项目,但使用ATMEGA128微控制器。这些代码适用于Atmega128吗?
我还对start switch有问题,当我按下启动开关按钮时,它确实会显示LCD数据,但是在00:00:00,即使设定了时间,计时器也不会启动,
我想做这个项目…..请指导我
我爱你的项目,请您指导我做我的。