|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' U s0 Y# Q2 m4 u$ E7 z基于 51 单片机的电子时钟设计
$ U) d+ B- h+ E" s0 I, k; ?; W' X2 Q; f% h3 a: @( X( M
) Q: ^1 \# d% ?2 W& j0 m/ i
摘 要:单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器。自20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。
, _7 F6 i9 m- F, f本系统为基于DS12C887 的 多功能电子钟 ,以STC89C51单片机 作为主控芯,采用实时时钟芯片DS12C887,使用 1602 液晶作为显示输出。该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。本文将详细介绍STC89C51单片机和DS12C887 时钟芯片的基本原理,从软件和硬件电路的实现两大方面进行分析。
# l3 K; j* o+ {: [【关键词】:STC89C51 单片机 液晶屏 时钟芯片 蜂鸣器
7 G ~% b0 |4 V9 L- A, h$ v2 p6 ?
8 W( w- C+ c" n) d. s$ L. j
9 z8 [, T: W) j" S/ D7 g目 录
. m4 `7 p( [0 c$ g$ s前 言 ................................................................. 1
$ E- b* Y/ y& K. O( k4 H一、方案选型: ......................................................... 2
# n+ L# N* O* i& J二、系统硬件设计 ....................................................... 3: a1 \& B K1 Q8 V
2.1 51 单片机最小系统设计 ........................................... 34 c) r4 I' {. f0 w
2.2 电源供电电路设计................................................ 3: k# G$ t1 L/ a1 [5 b8 r% K* n% j
2.3 串口通信电路设计................................................ 4
+ m' r# O& i! I3 y* Z2.4 时钟芯片电路设计................................................ 4
$ N3 c" |3 O" P6 Y& y: h5 a2.5 LCD显示电路设计................................................. 6
8 a; e# X$ Z) D: g0 `2.6 报警电路设计.................................................... 6& i4 i* B) B. B+ v/ d4 J
2.7 键控电路设计.................................................... 6+ O Q3 i+ H( u2 y: o
三、系统软件设计 ....................................................... 7
) G" D5 x0 N& m A! Q# ]( I1 u3.1 系统程序流程图设计.............................................. 7
! n! Q1 V; R' F# E2 Z3.2 系统程序设计 (见附录)........................................ 9+ {' d# E* I1 R0 M4 o2 Q: ^
四、总结 ............................................................... 9
" V; S! U( K4 G6 _/ N d [, Y6 a4.1 作品功能、特色.................................................. 9 [+ n' D2 c' S6 V, d, L
4.2 综合设计的体会.................................................. 9( q) c6 Z+ G7 V. F6 Z! }
参考文献 .............................................................. 11
* |8 o- H1 n7 ^5 I$ E: q附录 .................................................................. 12
) V$ D4 |* N( d+ T% W2 m3 I% R2 Z0 ], t" y6 \- w; _
# w2 |/ `: H1 l$ ~" y7 @0 B3 g
前 言
+ w6 B/ ^# q/ O& l& B& P& H随着科学技术的不断发展 , 人们对时间计量的要求越来越高 。在当今社会,电子时钟已经得到相当广泛的应用,产品多样,发展更是多元化。本作品是以STC89C51单片机 作为主控芯片,使用 12MHZ的晶振,使用专用时钟日历芯片DS12C887 产生时间信息,时间精确。软件部分以C语言为主体,用 1602LCD液晶屏显示输出信息,输出信息量多,更直观、人性化。该时钟可实现人机交互,可通过提供的键盘对其进行调整。系统具有以下功能:年、月、日、时、分、秒显示;12 小时/24 小时模式切换,在 12 小时模式中,用AM和PM区分上午和下午;秒表功能;整点闹铃和报时功能,且闹钟可设置多组。本次设计的电子时钟系统由单片机最小系统,1602LCD液晶屏,时钟芯片,调整按键,蜂鸣器,电源五大部分组成。! M0 q3 G _- ]0 b; ~6 @
$ p O; n" t6 H% z$ s% l
5 }: ?- _4 Q7 f3 y' ]( Q# Z一、方案选型:
4 W( A: y, i& S J 我们在设计电子时钟时遇到了芯片选型的问题,以下是三个设计方案:
* T! O `$ Y4 x$ P: Q v9 ]9 R+ ~: f9 j7 i; X
方案一:DS1302+数码管 $ p/ C7 F1 G4 }9 i
DS1302 的使用非常方便,而且价格便宜而数码管显示的也很清楚,特别是显示时间很直观。但在制作过程中我们发现了这方案的一些问题。DS1302 是不自带电池,虽然可以通过外接纽扣电池来达到断电走时继续的目的,但在实际调试中会发现这是比较困难的。因为 DS1302 上电需要复位,而复位就会把正确的走时清零。如果不复位,DS1302 会出现各种各样的问题,如不走时、读出乱码等。要解决这个问题需要增加如 2402 等存储器,上电后先存储时间值,再复位。这么做无疑增加了电路设计和软件设计的复杂度。而使用数码管显示,虽然价格也便宜,显示效果好,但多位的数码管在动态扫描的时候会出现闪烁。如果少用几位,用切换的方法查看日期,时间等信息又显得麻烦。! |% E$ S$ X7 k( u3 H
7 c8 `& h* `8 I* b. n方案二:DS12C887+1602LCD 液晶屏 l' m" ^* W6 ?/ G- T! q$ |( U* H* D
DS12C887 时钟芯片功能丰富价格适中,能够自动产生世纪、年、月、日、时、分、秒以及时间模式转换等的时间信息,芯片内部增加了世纪存储器,从而利用硬件电路解决了“千年”的问题。DS12C887 时钟芯片中还自带有锂电池,单片机掉电后时钟芯片内部的时间信息可以保持十年之久。1602LCD 液晶屏可以输出 2 行,每行显示 16 个字符。虽然 1602LCD 液晶屏较昂贵,但是该液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。1602LCD 液晶屏的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电量比其它显示器要少得多,功耗较低。以上两种元件的程序编写简单,适用于多方面的应用。
6 H! @& v' A! O) R
4 i- v9 Q$ X9 \$ }2 c% w方案三:SD2068+1602LCD 液晶屏, j" D3 p3 q: Z1 e7 |! F8 t3 q
SD2068 实时时钟芯片功能更加丰富,它除了具备有 DS12C887 时钟芯片的功能,另外还内置时钟精度数字调整功能,可以在很宽的范围内校正时钟的偏差;内置上电复位电路及指示位;内置电源稳压,内部计时电压可低至 1.5V。该芯片为工业级产品,是在选用实时时钟 IC 时的理想选择。但是该芯片是一款新型的芯片,使用并不广泛,操作不方便,可能会出现芯片不稳定等的因素。
8 u [9 `3 r* N% g. m因此由以上三种方案进行比较,我们选择方案二来设计电子时钟。以 STC89C51为主控芯片,DS12C887 为时钟芯片,1602LCD 液晶屏作为显示器。程序控制 DS12C887时钟芯片实现小时,分,秒和年,月,日的计时,并在 1602LCD 液晶屏上显示出来。通过按键对 12 小时/24 小时显示模式切换。当时间走到程序所设定的时间时,蜂鸣器响起,起到闹铃功能。当要显示秒表计时时,可以通过按键切换来实现。
( ~8 |+ v) ^9 L3 Q: F/ a6 a @4 y5 d
- S" g, u# `1 n* y# X2 M
9 {- C) Y$ c& a
/ z+ w/ L& Q3 k- j1 i3 ]3 W0 C% b
0 D }. R( |$ }" s) `0 m+ Q8 L$ ?) c7 k6 L/ m
7 l# l T; d/ c1 N
0 y. m8 ~- l: \6 K# H, o: H) @3 s; w0 E* J
0 l3 O3 ]. W. e0 m6 v3 m |
|