多功能数字时钟设计资料.doc

上传人:滴答 文档编号:1279111 上传时间:2019-01-26 格式:DOC 页数:11 大小:2.11MB
下载 相关 举报
多功能数字时钟设计资料.doc_第1页
第1页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、多功能数字时钟 目 录 一 方案论证与比较 二 系统设计 三 软件设计 四 系统测试与分析 五 设计总结 六 参考资料 摘要 本设计由单片机 89C51、 DS12887A 时钟芯片、 DAC0809 模数转换芯片为核心,辅以必要的电路,构成了一个具有多功能的数字时钟 。它由 220V、 50Hz交流电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所在的环境温度、工作时的电网电压、电网频率进行显示,还具有电压欠压、过压报警以及非接触止闹功能。 一、方案论证与比较 1数字时钟 数字 时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。 方案一:本方案完全用软件实现数字时钟。原

2、理为:在单片机内部存储器设三个字节分别存放时钟的时 、分、秒信息。利用定时器与软件结合实现 1 秒定时中断,每产生一次中断,存储器内相应的秒值加 1;若秒值达到 60,则将其清零,并将相应的分字节值加 1;若分值达到 60,则清零分字节,并将时字节值加 1;若时值达到 24,则将十字节清零。 该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。 方案二:本方案采用 Dallas 公司的专用时钟芯片 DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于 10ms/年,且具有完备

3、的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。 基于时钟芯片的上述优点,本设计采用方案二完成数 字时钟的功能。 2 数码管显示 方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个 8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态

4、显示所需的 I/O 口太多,造成了资源的浪费。 方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的 每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也 于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了 I/O 口,降低了能耗。 本设计从节省 I/O 口和降低能耗出发,采用方案二。 二、系统设计 1总体设计 ( 1)系统框图 系统框图如图 1 所示。 图 1 系统框图 ( 2)模块说明 a. 数码管显示模块:用数码管显示时间、环境温度、电网频率及电压

5、温度转换模块:测量环境温度,并经过模数转换后送单片机。 b. 时钟芯片:用 DS12887A 时钟芯片向单片机提供时间与闹 铃信息。 c. 报警系统:用蜂鸣器。当闹铃开且所设置的闹铃时刻到时,蜂鸣器报警,当电网电压欠压或过压时,蜂鸣器也报警。当“闹铃关”键按下或有遥控器止闹时,停止报警。 d. 键盘和状态显示模块:用可编程并行 I/O 芯片 8255 接状态显示所用的发光二极管及选择各功能的键盘。 e. 单片机控制模块:用 89C51 实现。是系统的主控制器,控制其它模块协调工作。 f. 电源模块:向各用电系统提供电源。 g. 电压转换模块:测量电网电压,并经过模数转换后送单片机。 2 模块设

6、计与参数计算 ( 1) 码管显示:本设计采用串行输出显示,利用一片 8 位移位寄存器 74LS164给所有数码管提供显示信号,且利用动态显示,节约了单片机 I/O 口,降低了能耗。数码管采用 LG5643FH。电路如图 2 所示。 ( 2) 电源模块:由于单片机及其处围的用电模块都用 5V 或 12V 直流电源,而电网电压为 220V 交流电,因此需要设计电源。利用 8W 的变压器将220V 的电网电压变压后加在桥式整流电路的两端进行全波整流。利用三端稳压电源分别产生 12V 和 5V 的电压。三端稳压电源选择CW7812DS 和 CW7805DS。原因是它们有过压保护和过流保护而使其免受高压

7、或大电流的袭击;而且与其他三端稳压电源相比,它们更具 经济性的特点。 根据该电源所带的负载知流过该电源的电压不超过 I=1A。因为变压器输出大约为 Uo=12V,所以电阻 12IUR o 。因为电网电压一般数码管显示模块 单 片 机 温度转换模块 频率采集模块 时钟芯片 报警系统 键盘 状态显示 电源 电压转换模块 为 220V , 50Hz,所以全波整流后的电压周期大约为 10 毫秒。又因为时间常数 102 RE ms,所以取 fE 10002 。 图 2 数码管显示电路 图 3 电源电路 0.1pf 的小电容用于滤掉电路路频率较高的部分,使电压输出更加平稳。 ( 3)频率采集模块:如图所示

8、,对电源电路中全波整流后的信号进行判断:若电压大于 5V,则二极管正极电压被嵌位于为 5.7V,若小于 5V,则为原值不变。因此形成向下的尖脉冲,经施密特触发器CD4093 变为正脉冲。如图所示。施密特触发器的输出接单片机的P1.5 口。在单片机内部数 1S 内脉冲的个数,除以 2 后即为电网电压的频率。 图 频率采集电路 图 频率采集电路的波形变换 () 温度转换模块:用温度传感器采集环境温度将其转化成模拟量,并将该模拟量送入 DAC0809 的输入端进行模数转换。最后将转换后的数字量送入单片机 89C51 进行处理。电路图如图 6 所示。 图 6 测温电路 () 电压转换模块:因为电网电压

9、也是模拟量,要想利用单片机对其进行处理仍需将模拟量进行模数转换。转换电路如图所示。它仍利用电源电路中全波整流后的信号 作为输入。因为频率采集电路也以全波整流后的信号作为输入,为了防止电压转换电路的 RC回路产生的稳态电压影响频率采集电路的工作,应在电压转换模块的输入端接入二极管。 图 电压转换电路 () 键盘、状态显示模块:为了使软件编程简单,本设计利用可编程I/O 芯片 8255。接法如表 1 所示。 PB 口接按键, PC 口则用于控制状态显示所用的发光二极管。每个按键都通过一个 10K 的上拉电阻接电源 + CCV ,按键的另一端接地。当有键按下时,与该键相连的 PB 口的相应位变为低电

10、平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮相应的发光二极管。 表 1 PB、 PC 口与键和状态的对应关系 PB 口 PB.0 PB.1 PB.2 PB.3 PB.4 PB.5 PB.6 按键 功能 设置时间 设置闹铃 小时 分钟 闹铃开 闹铃关 PC 口 PC.1 PC.2 PC.3 PC.4 PC.5 PC.6 PC.7 状态 时钟 温度 电压 频率 AM/PM 闹铃响 铃不响 () 报警系统:将 蜂鸣器一端接在单片机的 P1.6 口上,另一端接地。当需要报警时,在口上送上高电平即可;需要关报警时,则送低电平。 () 红外非接触止闹系统:红外线传输稳定、可靠,不容易受

11、外界杂散信号的干扰,信号处理简单。为了简化系统电路,我们采用了遥控电视机中经常使用红外遥控系统。遥控器直接使用电视机的遥控器,不用改装。红外信号的接收,采用红 外光电二极管与放大电路一体的红外接收器,该器件只有三只引脚,使用极其简单,电路如图 8 所示。用接收器输出的信号送到三极管 N3 的基极,N3 的集电极、发射极并接在“闹铃关”两端。当接收器接收到信号并输出脉冲时,三极管 N3 导通,相当于“闹铃关”接通按下,单片机的相应引脚被置为低电平。单片机检测到该信号,执行相应的关闹铃程序。 图 8 红外遥控止闹电路 三、软件设计 1主程序流程图 主程序流程图如图 9 所示。 2. 蜂鸣器闹铃中断

12、服务子程序 蜂鸣器闹铃中断服务子程序流图如图 10 所示。当数字时钟处在闹铃开状态下到达所设置的闹铃时间时,进入该中断服务子程序。此中断服务子程序的作用是当系统处在闹铃状态下时,若闹铃关键按下或有遥控止闹,则关闭蜂鸣器;蜂鸣器在 32.55s 之后自动停止。 四、系统测试与分析 1测试仪器 : 秒表 温度表 电压表 调压器 频率计 低频信号发生器 2基本要求部分的测试与分析 (1) 按下“设置时间”键,观察到“钟表” 和“温度”的发光二极管同时点亮,此时可对时间进行设置。按下“小时”,“分钟”键, 观察数码管的小时部分和分钟部分是否随相应按键的变化而变化。经测试该步可以很好的实现。调整时间完毕

13、后,再按一下“设置时间”Y N Y N N Y 图 9 主程序流图 开启报警系统 开始 初始化 显示时间 读电压 电压 240V? 电压 200V? 有键按下吗 ? 判断键值 功能 显示时间 显示温度 显示频率 显示电压 设置时间 设置闹钟 闹铃关处理 闹铃开处理 关闭报警系统 显示电压 Y N N Y N Y N 图 10 蜂鸣器闹铃中断服务子程序 进入中断子程序 保护现场 蜂鸣器响 MOV R1, #2 MOV R2,#0FFH 定时 66.536 毫秒 “闹铃关 ”键按下或有遥控止闹 R2=R2-1=0? R1=R1-1=0? 关闭蜂鸣器 恢复现场 返回 键,即可完成对时间的设置。 (2

14、) 按下“设置闹铃”键,观察到“电压”、“频率”二极管同时点亮;按下“小时”、“分钟”键,观察数码管的小时部分和分钟部分是否随相应按键的变化而变化,经测试该部分可很好的实现。调整好后,再按一下“设置闹铃”键,则设置完毕。 (3) 利用秒表测量数字时钟变化 1 分钟时的时间间隔。由测试结果知,误差范围很小,其中包括人的反映误差。若除去人的反映误差,则由电路造成的误差可忽略不计。这其中主要的原因是设计中使用了12887 专用时钟芯片。 (4) 设置好闹铃时间后,按下“闹铃开”键,在所设置的闹铃时刻观察蜂鸣器是否产生闹铃报警,并观察代表闹铃响与不响的发光二极管是否点亮。经测试该部分也能很好的完成。

15、(5) 在系统闹铃时按下“闹铃关”键,观察闹铃是否停止,并观察代表闹铃响与不响的发光二极管是否点亮。经测试该部分也能很好的完成。 (6) 当数字时钟的小时位大于 12 时,观察代表 AM/PM 的发光二极管是否点亮。经验证,当数字时钟的小时位大于 12 时,发光二极管点亮。 2 发挥部分的测试与分析 在该部分中,利用“功能”键实现各个功能之间的切换 。此时“闹铃开”键作为各个功能的“确认”键。按下功能键,选择相应的功能,然后按下确认键即执行相应的功能。再按一下“确认”键,即可回到时钟状态。 ( 1)键盘切换现场环境温度显示:按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进行

16、测试,结果如表 2 所示。 表 2 与标准温度计测量值比较表 温度计示值 (摄氏度 ) 0.0 25.2 49.9 70.1 100.0 数字钟输出 (摄氏度 ) 000 0 025 3 050 0 070 3 100.0 由测试知,数字钟的输出与温度计值基本上相等,误 差不大于 0.5 度。 ( 2)键盘切换电网频率、电压显示:利用调压器改变电网电压,调压器输出分别接数字时钟与电压表,将它们的电压值进行比较。如表 3 所示。利用低频信号发生器模拟电网频率的变化,并将其输出分别接频率计和数字时钟,将所得频率值进行比较,如表 4 所示。 表 3 电压值 电压表 220 215 200 230 235 数字时钟 220 0 214.4 200.2 231.1 235.6 表 4 频率值 频率计 50 48 46 52 54 数字时钟 050.0 047.8 045.8 052.1 054.8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 表格模板

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。