|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 j% K/ i- u& j) [) e8 S目 录
7 O2 N! R2 t" x' |. E& n9 T8 p8 G( F* e I$ F0 o
一、摘要·········································································2
- V; J& `5 C7 B! p2 z二、设计任务.····································································4
& I, s# }4 s6 R4 x% v$ m, d) ?0 v三、总体方案设计与论证···························································4
& [! v* f# w; @, Z" r0 b 1、液晶显示模块·····························································4$ S8 o0 k( R; W& T) J
2、实时时间计算模块·························································5
/ Q$ \% }# r" `: U& x6 O 3、实时环境温度采集模块·····················································5
' N9 R+ o& k K4 |) H4、报警模块······························································6
) J! }( M$ o! ?' Z/ d5、设置模块······························································6
! I, d" k% ~7 h( o4 E1 o6 I$ ^5 W四、总体方案组成框图··························································7
/ j% j6 z. W8 H. L五、系统硬件设计·····························································8& @( }0 y- L8 z) d4 f
1、LCD显示模块··························································8- b# W4 @9 p+ i
2、实时时间计算模块······················································126 }$ j+ Q: o1 u1 e5 c
3、实时环境温度检测模块·················································16
( Q; ^+ G0 g% ^! V2 E) _' J6 ^7 |$ g4、报警模块·····························································21
) _( g% S1 s; J' v3 k8 `1 N1 }. f5、设置模块·····························································22$ _0 V8 f4 T2 |& B6 S
六、系统软件设计····························································23; d! X2 O9 F/ o* k
七、系统硬件电路设计························································245 g8 B, t+ o5 l: o
八、系统硬件PROTEUS仿真原理图············································25
/ P( ~$ G3 f: I0 T九、系统硬件仿真运行情况图··················································26
8 |! F7 W* U$ X1 ^( X 1、显示欢迎界面·························································26
; _& G! l# d7 a, o: B* c4 h$ @! N 2、显示实时时间··························································26+ P+ P0 Y7 B3 f
3、显示当前温度··························································27
- l6 _$ H; b0 }" N0 |: S 4、时间设置······························································274 w* J8 a5 d0 T' h k1 F
5、最高报警温度设置······················································28
. {! L7 l, j( f7 P' u: d" l' q% H 6、闹钟时间设置··························································28) u2 L* ?; M7 X6 i5 ~
7、超温··································································29
6 m9 w; ~, e4 @1 F! _! T4 u3 q 8、闹钟时间到····························································29
4 g( y& ~% \; @4 x附录一:实物图······························································30
6 Z) Q. ~# y$ m* r" u, g# a附录二:PCB图······························································32
; f/ h3 H( N" H5 T7 _4 J% [附录三:源程序代码···························································33
$ {. ^7 [& @/ ^7 o! e2 O附录四:参考文献····························································62
. ~0 F; A# X( `1 |4 y. Y/ ?* i. W8 q" H
( P6 y) X3 r, A; d
摘 要
; F7 Z' G- D/ x/ X7 \2 S, C单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,就构成了众多产品、设备的智能化核心。本设计就是应用单片机强大的控制功能制作而成的电子万年历,该电子万年历包括三大功能:实时显示年、月、日、时、分、秒;实时监测环境温度(可根据需要启动高温报警功能);电子闹钟。M bn& G% ?& r E1 N. c, A
本设计采用的是AT89S52单片机,该单片机采用的mcu51内核,因此具有很好的兼容性,内部带有8KB的ROM,能够存储大量的程序,最突出特点是具有ISP在系统烧写功能,使得烧写程序更加方便。
5 t: a! A5 y6 }5 g4 T计时芯片采用DALLAS公司的涓细充电时钟芯片DS1302,该芯片通过简单的串行通信与单片机进行通信,时钟/日历电路能够实时提供年、月、日、时分、秒信息,采用双电源供电,当外部电源掉电时能够利用后备电池准确计时。$ a0 U# O" ?9 ?
温度检测采用DALLAS公司的数字化温度传感器,该芯片采用的是独特的“一线总线”的方式与单片机进行通信,一线总线独特而且经济的特点,是用户可以轻松的组建传感器网络,为测量系统的构建引入全新的概念。实时温度采用一线总线的方式传输大大的提高了信号的抗干扰性,分辨率可通过软件设置,其小巧的体积为各种环境下测量温度提供了方便。# w* r' d( k9 |$ ]8 g
显示器件采用通用型1602液晶,可显示32个字符,如果使用数码管来做显示器件需消耗大量的系统资源,因此采用低功耗的1602液晶,该液晶显示方便,功能强大,完全能满足数字万年历的显示要求。
$ L, h+ V& C7 o' G+ v+ n h6 e, u 通过此次设计能够更加牢固的掌握单片机的应用技术,增强动手能力、硬件设计能力以及软件设计能力。& I+ t/ Q9 w3 I5 F# [2 f0 a
: S7 t3 v9 Y; c" \3 @0 B
设计任务
* h( A+ f0 K6 ^: B& w1、设计任务:利用单片机、时钟芯片DS1302、温度传感器DS18B20、1602液晶等实现日期、时间、温度的显示即一个简单的万年历。* r1 l* a+ N& j' \
2、设计要求
. x5 I) n1 g5 R(1)通过DS1302能够准确的计时,时间可调并在液晶上显示出来。
3 n8 l; `; l8 z% S0 T(2)通过DS18B20能够实时、准确的检测当前环境温度。7 }% X& J- \( e/ w0 F- {
(3)利用单片机自身功能实现闹钟。+ B) w* e& X* {) q8 F
0 g O. ^5 U( J8 j& @
2 k& j# t" a% e+ F. q' q8 g3 [$ A
总体方案论证与设计, V: G3 J' A. n! ]; i# ^' F3 P4 a
. R# _$ f) q+ }- @- B
本系统以AT89S52单片机为控制核心,通过与DS1302和DS18B20通信获取实时时间和实时环境温度,并将得到的数据通过1602液晶显示出来,同时通过相应的按键调整相应的值。因此本设计可分为一下模块:显示模块、实时时间计算模块、实时环境温度采集模块、报警模块、设置模块(时间设置模块、最高温度设置模块、闹钟设置模块)。下面对各个模块逐一进行论证分析:
. e" b) |6 ^+ j$ p: e, W9 w: T( Z# B) M
1、液晶显示模块
8 S% f& ~; C1 l3 [! C方案(1):数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。要使数码管正常显示就得有驱动电路驱动相应的段码,数码管的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此本设计应采用动态显示方式。由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大于20毫秒,占用系统资源大,而且显示的个数和字型有限,在本设计中不易采用。
3 B6 m) f4 `: E6 y/ [: L: y# ~方案(2):1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用。1602的驱动电路带有11条指令,可以很方便的控制液晶的现实效果如:清屏、左移右移、光标显示。而且1602显示的字符在下一条指令为到来之前不会改变,也就是能够维持显示的字符,1602液晶占用的系统资源也少。0 y7 b5 p. J4 |2 b% B k i. g* S: x
综合比较上述两种方案,应采用1602液晶组成本设计的显示模块。
9 L5 k. ]) X6 s, m( u" _2 @! V: P6 y
2、实时时间计算模块" v- e& v) @- G& I$ |3 r
方案(1):AT89S52单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且如果单片机掉电无法继续进行计时,所以使用不便。9 E6 h/ x5 ^' U2 @/ E8 B Q
方案(2):DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。
$ ^" x$ x- J3 u9 N7 z v综合上述两种方案,宜采用方案(2)实现实时计时功能。
, Y& t& I7 o5 M: p) A# c+ a
0 a: T% ?! R/ Y$ |, c3、实时环境温度采集模块& Q. M, Q( r4 w: V& i# L
方案(1):热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化., v) \4 N$ R. ~/ ]$ I6 \: |
通过一定的电路可以将周围环境的温度变化转化成电压的变化,通过AD转化器件将信号传输给单片机进行分析,从而测出当前环境温度,但误差大,不稳定,对环境要求较高。
" Q! H1 J- s% t; T- M% y, I方案(2):DS18B20是美国DALLAS公司生产的数字温度传感器,采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。测量温度范围宽,测量精度高 ,在使用中不需要任何外围元件,支持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温,供电方式灵活 DS18B20 可以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。因此非常适合本系统使用。
6 K) ? i. o9 M% W- J综上比较上述两种方案,宜采用方案(2)构成本设计的实时温度采集模块。
6 W. Y, ^; b% u1 z3 G9 X: K( }1 ?8 w+ _ q: i/ @/ r
4、报警模块
9 J7 y |2 a# J5 ^5 m此模块采用无源蜂鸣器实现,只要编写相应的程序即可实现发出不同频率的声音。9 }% k4 F) {" _2 b: R+ a
6 l$ h' H7 ^- Y5、设置模块
- C# n- l- y+ Y; {$ p7 ]" E因设置模块只需编写相应的程序外加相应的按键即可实现,实现方法较简单,在此不再论述。
+ E+ r- S, V, X k
% h5 Z, ? H* F9 i/ c; ], _0 r( M, \; R+ X' P9 i: p5 [" `9 |
' i ], L# V$ W" E& R& w) ?2 i
7 f+ j. M/ x# c o
' `+ H+ \3 n& f
|
|