|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 C0 F! P) h j. F/ ~; B基于 51 单片机的电子时钟设计
0 Z5 A) q' f- v6 k' W! L, B! h% g3 [
6 n' j% W5 y7 e0 X! o+ M/ r/ |$ @1 a! u' o
摘 要:单片机,是集 CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器。自20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。/ t- V- Z1 l3 \2 c+ T1 k5 x5 d
本系统为基于DS12C887 的 多功能电子钟 ,以STC89C51单片机 作为主控芯,采用实时时钟芯片DS12C887,使用 1602 液晶作为显示输出。该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。本文将详细介绍STC89C51单片机和DS12C887 时钟芯片的基本原理,从软件和硬件电路的实现两大方面进行分析。
" N2 V8 [& k' B6 Z$ N/ @/ y# U【关键词】:STC89C51 单片机 液晶屏 时钟芯片 蜂鸣器 8 y6 U8 E( L& E. ?, F
/ m- u* D2 L) b$ M/ l' t( n+ l
) m. n$ I) G+ Z4 p: x& l目 录8 ^- S# b) s" j" N" k0 P; v0 z
前 言 ................................................................. 1
, y- J2 b! s; i3 l" R. Q7 t0 S0 l# Q一、方案选型: ......................................................... 23 {9 L1 N( Z; [7 \0 ^
二、系统硬件设计 ....................................................... 3
" ^" a8 n; `) g7 C( {0 i% H2.1 51 单片机最小系统设计 ........................................... 3
9 e4 Z6 |( K: }3 a2 h! M$ u7 t2.2 电源供电电路设计................................................ 3
- G- M! q, o9 a, ~/ s2.3 串口通信电路设计................................................ 4
) n; m1 D# d# x1 x# p2.4 时钟芯片电路设计................................................ 4, N( \4 U' c$ b7 A, y
2.5 LCD显示电路设计................................................. 6
i8 ?* a; z) [2.6 报警电路设计.................................................... 6
3 f7 S6 L/ h0 j1 H8 K" o. c' `6 E2.7 键控电路设计.................................................... 6
- P7 L! Q7 Y- E三、系统软件设计 ....................................................... 7
9 a' g* v; P! k2 r% u8 ?3.1 系统程序流程图设计.............................................. 74 F- D0 s1 _' U; V6 r" l7 ~3 }: |
3.2 系统程序设计 (见附录)........................................ 9
* J6 \9 {2 Y0 K4 [四、总结 ............................................................... 9
: g2 C4 T3 B9 ^$ f! U: f# c4.1 作品功能、特色.................................................. 91 f# A. S( E4 B4 X
4.2 综合设计的体会.................................................. 9# {8 g- \1 i2 e
参考文献 .............................................................. 111 X" o& R$ W. G! L
附录 .................................................................. 12$ A# E3 G, P/ O! Q
: k. T$ @1 K0 H% J ?9 G6 I' x
* A% w" K. L( y2 ~
前 言7 R% M% g0 V d4 @+ E
随着科学技术的不断发展 , 人们对时间计量的要求越来越高 。在当今社会,电子时钟已经得到相当广泛的应用,产品多样,发展更是多元化。本作品是以STC89C51单片机 作为主控芯片,使用 12MHZ的晶振,使用专用时钟日历芯片DS12C887 产生时间信息,时间精确。软件部分以C语言为主体,用 1602LCD液晶屏显示输出信息,输出信息量多,更直观、人性化。该时钟可实现人机交互,可通过提供的键盘对其进行调整。系统具有以下功能:年、月、日、时、分、秒显示;12 小时/24 小时模式切换,在 12 小时模式中,用AM和PM区分上午和下午;秒表功能;整点闹铃和报时功能,且闹钟可设置多组。本次设计的电子时钟系统由单片机最小系统,1602LCD液晶屏,时钟芯片,调整按键,蜂鸣器,电源五大部分组成。- G* x' i+ x- s* ?
3 y2 R/ A$ ?5 G
# d# S/ W: M& T9 A- z: t8 {/ k4 F9 }7 V
一、方案选型: / S( z' @/ ~/ ?! V' T
我们在设计电子时钟时遇到了芯片选型的问题,以下是三个设计方案:% W6 }. \+ S3 l$ T
8 S; v& F8 I+ x% k& K方案一:DS1302+数码管
# ?: m/ H6 ^7 j9 l2 f3 PDS1302 的使用非常方便,而且价格便宜而数码管显示的也很清楚,特别是显示时间很直观。但在制作过程中我们发现了这方案的一些问题。DS1302 是不自带电池,虽然可以通过外接纽扣电池来达到断电走时继续的目的,但在实际调试中会发现这是比较困难的。因为 DS1302 上电需要复位,而复位就会把正确的走时清零。如果不复位,DS1302 会出现各种各样的问题,如不走时、读出乱码等。要解决这个问题需要增加如 2402 等存储器,上电后先存储时间值,再复位。这么做无疑增加了电路设计和软件设计的复杂度。而使用数码管显示,虽然价格也便宜,显示效果好,但多位的数码管在动态扫描的时候会出现闪烁。如果少用几位,用切换的方法查看日期,时间等信息又显得麻烦。) t1 d3 S- R5 G: d& i" n
( e) |" ]0 F* |1 [ T B方案二:DS12C887+1602LCD 液晶屏
2 s- N. w% [# i. L1 FDS12C887 时钟芯片功能丰富价格适中,能够自动产生世纪、年、月、日、时、分、秒以及时间模式转换等的时间信息,芯片内部增加了世纪存储器,从而利用硬件电路解决了“千年”的问题。DS12C887 时钟芯片中还自带有锂电池,单片机掉电后时钟芯片内部的时间信息可以保持十年之久。1602LCD 液晶屏可以输出 2 行,每行显示 16 个字符。虽然 1602LCD 液晶屏较昂贵,但是该液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。1602LCD 液晶屏的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电量比其它显示器要少得多,功耗较低。以上两种元件的程序编写简单,适用于多方面的应用。
7 q4 o$ L# M; c! t/ W+ n* u' o
4 N" ~8 q3 L8 e方案三:SD2068+1602LCD 液晶屏, z' k5 s9 G8 A. d
SD2068 实时时钟芯片功能更加丰富,它除了具备有 DS12C887 时钟芯片的功能,另外还内置时钟精度数字调整功能,可以在很宽的范围内校正时钟的偏差;内置上电复位电路及指示位;内置电源稳压,内部计时电压可低至 1.5V。该芯片为工业级产品,是在选用实时时钟 IC 时的理想选择。但是该芯片是一款新型的芯片,使用并不广泛,操作不方便,可能会出现芯片不稳定等的因素。" }3 c$ I1 X8 J. s( j
因此由以上三种方案进行比较,我们选择方案二来设计电子时钟。以 STC89C51为主控芯片,DS12C887 为时钟芯片,1602LCD 液晶屏作为显示器。程序控制 DS12C887时钟芯片实现小时,分,秒和年,月,日的计时,并在 1602LCD 液晶屏上显示出来。通过按键对 12 小时/24 小时显示模式切换。当时间走到程序所设定的时间时,蜂鸣器响起,起到闹铃功能。当要显示秒表计时时,可以通过按键切换来实现。# K- @2 X: F( m! n: y, d2 O b
5 [- p( S- c0 \0 e, ]
' `( e9 V4 E( `* c
+ D5 P1 J6 l" W
8 D% U, P. N' [# O3 J% h9 R5 X* T
' @1 N3 x# w8 _' W, U
$ k4 f j" ]5 {2 A2 ]* [" R' y
$ x. ] {; G4 f, F' a, S1 V5 S ^* t4 V2 b; @1 Z
. M# c8 u0 {$ r0 a& {0 |- h) D$ k5 S' I' m
|
|