通过单片机来完成数字时钟的设计,没必要另接其他硬件芯片,只需合理使 用单片机自身功能。当然也有一些弊端:精确度有待提高,误差较大,一些数据 无法存储,程序编译比较繁琐。
方案2——基于 DS1302 的数字时钟设计 在完成数字时钟的过程中,经常需要对实时发生的事件做记录,此时就需要
一个记录时间的工具了,而时钟芯片是一个很好的选择。MC146818,DS12887 等 时钟芯片已经能够满足对实时时钟的基本要求,然而芯片仍然有一些弊端,比如
接口端比较复杂、占用空间较多, 接线比较繁琐。最近几年,单片机系统中用来 串行接口的各类芯片使用越来越多,DS1302 是一款性价比高,实用性强,用途 广泛的时钟芯片。
通过单片机完成操作时,实时时钟芯片采用 DS1302,将 DS1302 与单片机进 行通讯同步,另外加上显示和键盘电路,构成一个完整的数字时钟电路。同时如 果还有其他的功能添加,可以以其为基础,再适当增加其他的功能系统电路。
在数字时钟的设计过程中,DS1302 拥有工作耗能低、准确度高、软件编程 简易、芯片占用空间小、制作成本低廉等诸多优点,综上所述,可以采用第二种 方案。
2 硬件电路设计
此次设计的核心为 AT89C51 单片机,组成基本的控制的电路,通过时钟芯片 可以显示基本的秒时分等数据信息,期间其自动调整与掉电保护也会完成,所有 数据通过 LCD1602 显示屏显示。同时通过四个按键进行操控,通过其实现对时间 数据的修改。软件控制程序实现所有的功能。由 5v 电源控制整个电路的运行, 可保证整个环节能够完善的运行。该设计特点为设计简单,时间记录精确,适用 于长时间连续使用的系统中,系统结构原理框图如图 1 所示。
系统结构原理框图
2.1 AT89C51 简介
AT89C51 是一款功耗小,性能强并且使用 MCS-51 内核的微型控制器。经过 不断改良后比普通单片机拥有更多的性能。在芯片方面,拥有 8 位 CPU 并且系 统可编程 Flash,该单片机能够提供灵活度强、性价比高的处理方案。拥有以下 功能:512 字节 RAM、3 个 16 位定时器计数器、定时器、 32 位 I/O 口线,一 个可编程全双工串行口,其静态工作时的频率可降低至 0HZ,有两种省电模式。 分别为空闲模式和掉电保护模式,当处于空闲模式时,CPU 会不在继续工作,而 芯片内部的定时计数器、可编程全双工串行口和中断则继续保持工作。当处于掉 电保护模式时,RAM 数据内容会被保存,同时振荡器会被冻结,此时所有工作都 暂停,等到单片机复位方可继续运行。该单片机最高运行频率为 35MHz。
2.1.1 特性
AT89C51 具有如下特点:
1 程序存储空间为 8k 字节
2 其数据存储空间为 512 字节
3 内带有 2k 字节 EEPROM 的存储空间
4 可以通过串口直接下载
2.1.2 参数
1. 单片机工作电压: 单片机【5v】:5.5V-3.3V,单片机【3v】:3.8V-2.0V。
2.正常的工作频率范围为:0 至 40MHz。实际最高工作频率可达 48HZ。 拥有 8k 用户应用程序。
3. 512 字节 RAM。
4. 通用 32 个 I/O 口,复位后为分别为 P0,P1,P2,P3 。当 P0 端为数据总线, 通过其进行扩展使用时,不需要使用上拉电阻,当 P0 端作为 I/O 口的时候,则 需要使用。
5. ISP/IAP,可直接使用串口下载程序,不需要其他如专用编程器或是专用仿真 器等硬件。
6. 具有 2k 字节 EEPROM 的存储空间。
7. 共 T0,T1,T2 三个 16 位定时器/计数器。
8. 可用定时软件实现多个 UART。