使用8051和DS12C887的数字时钟电路

在此项目中,我将向您展示如何使用8051和DS12C887以及DS1307 RTC模块设计简单的数字时钟电路。

介绍

数字时钟显示使用数字的时间,并且有许多应用程序,例如汽车,火车站,房屋,办公室等,以提供准确的时间和日期。在这种类型的应用程序中,通常我们使用RTC(实时时钟)IC来准确显示时间和日期。

使用8051图像2的数字时钟电路2

该电路显示LCD上的时间。对于这个时钟,我们可以在任何瞬间设置时间。在这里,时钟可以在24小时模式或12小时模式下工作,并且RTC芯片是通过编程8051控制器配置的。

我将使用使用数字时钟的两个电路8051微控制器:一种使用RTC DS12C887,另一个使用RTC DS1307。

电路原理

两个电路的主要原理是8051控制器连续读取实时时钟IC的数据,并按照正确的顺序处理以显示LCD上的时间。

相关文章:[[数字秒表电路这是给予的

电路图数字时钟电路使用8051和DS12C887

使用8051微控制器和RTC DS12C887的数字时钟电路图
使用RTC DS12C887和8051微控制器的数字时钟电路图

电路组件

  • 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之后访问控制寄存器。

DS12C887 IC
DS12C887 IC

引脚描述

  • 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开发委员会(可选)
  • 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图像3的数字时钟电路3

代码

如何操作?

  1. 最初将程序刻录到8051微控制器
  2. 现在根据电路图给出连接
  3. 打开董事会供应
  4. 现在,您可以在LCD上观察时间。如果要设置时间,将开始引脚降低,然后按将按钮连接到P3.3
  5. LCD显示设定的时间消息。现在,使用连接到P1.4的按钮设置小时,并使用其他按钮设置分钟。
  6. 现在使启动销高以运行时钟。

电路应用

  • 该项目用于办公室,房屋,酒店和汽车手机,以显示时间和日期。
  • 我们还可以通过一些修改设置该项目中的警报。

24个回应

  1. 为什么需要此项目代码?
    因为RTC是我项目的一部分

    您是要制作相同的项目还是不同的项目。
    不,我正在尝试不同的项目,基本上我的项目是关于气象站

    给我们更多有关您项目的详细信息
    我的项目是关于气象站,在该站中,需要将传感器的价值(温度,湿度,风速和方向)占据,并与LCD上的时间和日期一起显示,

  2. 由于我正在进行电子工程,因此我想了解如何完成8051个微控制器项目。我正在制作这个项目以进行自我分析并获得知识。因此,我想从基本的数字时钟开始。

  3. 为什么需要此项目代码?
    因为RTC是我项目的一部分

    您是要制作相同的项目还是不同的项目。
    是的

  4. 我尝试了相同的项目,其中包含ElectronicShub的相同细节,但它不起作用!在proteus上,它显示了Net AD0,AD1….AD7上的逻辑论点。我几次检查了连接,连接没有故障。请帮忙!!

  5. 我对启动开关有问题,当我按下启动开关按钮时,它确实显示了LCD数据,但是在00:00:00,即使设定了时间,计时器也无法启动,

  6. 我正在尝试制作一个类似的项目,但使用ATMEGA128微控制器。这些代码适用于Atmega128吗?

  7. 我还对start switch有问题,当我按下启动开关按钮时,它确实会显示LCD数据,但是在00:00:00,即使设定了时间,计时器也不会启动,

发表评论

您的电子邮件地址不会被公开。必需的地方已做标记*

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map