多功能数字时钟设计资料.docx
- 文档编号:9917636
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:15
- 大小:264.17KB
多功能数字时钟设计资料.docx
《多功能数字时钟设计资料.docx》由会员分享,可在线阅读,更多相关《多功能数字时钟设计资料.docx(15页珍藏版)》请在冰豆网上搜索。
多功能数字时钟设计资料
多功能数字时钟
1.方案论证与比较
2.系统设计
3.软件设计
4.系统测试与分析
5.设计总结
6.参考资料
摘要
本设计由单片机89C51、DS12887A时钟芯片、DAC0809模数转换芯片为核心,辅以必要的电路,构成了一个具有多功能的数字时钟。
它由220V、50Hz交流电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所在的环境温度、工作时的电网电压、电网频率进行显示,还具有电压欠压、过压报警以及非接触止闹功能。
一、方案论证与比较
1.数字时钟
数字时钟是本设计的最主要的部分。
根据需要,可利用两种方案实现。
方案一:
本方案完全用软件实现数字时钟。
原理为:
在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。
该方案具有硬件电路简单的特点。
但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
方案二:
本方案采用Dallas公司的专用时钟芯片DS12887A。
该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。
为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。
当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。
而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
2.数码管显示
方案一:
静态显示。
所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。
该方式每一位都需要一个8位输出口控制。
静态显示时较小的电流能获得较高的亮度,且字符不闪烁。
但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。
方案二:
动态显示。
所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。
利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。
显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。
调整参数可以实现较高稳定度的显示。
动态显示节省了I/O口,降低了能耗。
本设计从节省I/O口和降低能耗出发,采用方案二。
二、系统设计
1.总体设计
(1)系统框图
系统框图如图1所示。
数码管显示模块
单 片 机
温度转换模块
频率采集模块
时钟芯片
报警系统
键盘 状态显示
电源
电压转换模块
图1系统框图
(2)模块说明
a.数码管显示模块:
用数码管显示时间、环境温度、电网频率及电压温度转换模块:
测量环境温度,并经过模数转换后送单片机。
b.时钟芯片:
用DS12887A时钟芯片向单片机提供时间与闹铃信息。
c.报警系统:
用蜂鸣器。
当闹铃开且所设置的闹铃时刻到时,蜂鸣器报警,当电网电压欠压或过压时,蜂鸣器也报警。
当“闹铃关”键按下或有遥控器止闹时,停止报警。
d.键盘和状态显示模块:
用可编程并行I/O芯片8255接状态显示所用的发光二极管及选择各功能的键盘。
e.单片机控制模块:
用89C51实现。
是系统的主控制器,控制其它模块协调工作。
f.电源模块:
向各用电系统提供电源。
g.电压转换模块:
测量电网电压,并经过模数转换后送单片机。
2.模块设计与参数计算
(1)码管显示:
本设计采用串行输出显示,利用一片8位移位寄存器74LS164给所有数码管提供显示信号,且利用动态显示,节约了单片机I/O口,降低了能耗。
数码管采用LG5643FH。
电路如图2所示。
(2)电源模块:
由于单片机及其处围的用电模块都用5V或12V直流电源,而电网电压为220V交流电,因此需要设计电源。
利用8W的变压器将220V的电网电压变压后加在桥式整流电路的两端进行全波整流。
利用三端稳压电源分别产生12V和5V的电压。
三端稳压电源选择CW7812DS和CW7805DS。
原因是它们有过压保护和过流保护而使其免受高压或大电流的袭击;而且与其他三端稳压电源相比,它们更具经济性的特点。
根据该电源所带的负载知流过该电源的电压不超过I=1A。
因为变压器输出大约为Uo=12V,所以电阻
。
因为电网电压一般为220V,50Hz,所以全波整流后的电压周期大约为10毫秒。
又因为时间常数
ms,所以取
。
图2数码管显示电路
图3 电源电路
0.1pf的小电容用于滤掉电路路频率较高的部分,使电压输出更加平稳。
(3)频率采集模块:
如图4所示,对电源电路中全波整流后的信号进行判断:
若电压大于+5V,则二极管正极电压被嵌位于为5.7V,若小于5V,则为原值不变。
因此形成向下的尖脉冲,经施密特触发器CD4093变为正脉冲。
如图5所示。
施密特触发器的输出接单片机的P1.5口。
在单片机内部数1S内脉冲的个数,除以2后即为电网电压的频率。
图4 频率采集电路
图5 频率采集电路的波形变换
(4)温度转换模块:
用温度传感器采集环境温度将其转化成模拟量,并将该模拟量送入DAC0809的输入端进行模数转换。
最后将转换后的数字量送入单片机89C51进行处理。
电路图如图6所示。
图6 测温电路
(5)电压转换模块:
因为电网电压也是模拟量,要想利用单片机对其进行处理仍需将模拟量进行模数转换。
转换电路如图7所示。
它仍利用电源电路中全波整流后的信号作为输入。
因为频率采集电路也以全波整流后的信号作为输入,为了防止电压转换电路的RC回路产生的稳态电压影响频率采集电路的工作,应在电压转换模块的输入端接入二极管。
图7 电压转换电路
(6)键盘、状态显示模块:
为了使软件编程简单,本设计利用可编程I/O芯片8255。
接法如表1所示。
PB口接按键,PC口则用于控制状态显示所用的发光二极管。
每个按键都通过一个10K的上拉电阻接电源+
按键的另一端接地。
当有键按下时,与该键相连的PB口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在程序中点亮相应的发光二极管。
表1PB、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
闹铃响
铃不响
(7)报警系统:
将蜂鸣器一端接在单片机的P1.6口上,另一端接地。
当需要报警时,在口上送上高电平即可;需要关报警时,则送低电平。
(8)红外非接触止闹系统:
红外线传输稳定、可靠,不容易受外界杂散信号的干扰,信号处理简单。
为了简化系统电路,我们采用了遥控电视机中经常使用红外遥控系统。
遥控器直接使用电视机的遥控器,不用改装。
红外信号的接收,采用红外光电二极管与放大电路一体的红外接收器,该器件只有三只引脚,使用极其简单,电路如图8所示。
用接收器输出的信号送到三极管N3的基极,N3的集电极、发射极并接在“闹铃关”两端。
当接收器接收到信号并输出脉冲时,三极管N3导通,相当于“闹铃关”接通按下,单片机的相应引脚被置为低电平。
单片机检测到该信号,执行相应的关闹铃程序。
图8红外遥控止闹电路
三、软件设计
1.主程序流程图
主程序流程图如图9所示。
2.蜂鸣器闹铃中断服务子程序
蜂鸣器闹铃中断服务子程序流图如图10所示。
当数字时钟处在闹铃开状态下到达所设置的闹铃时间时,进入该中断服务子程序。
此中断服务子程序的作用是当系统处在闹铃状态下时,若闹铃关键按下或有遥控止闹,则关闭蜂鸣器;蜂鸣器在32.55s之后自动停止。
四、系统测试与分析
1.测试仪器:
秒表
温度表
电压表
调压器
频率计
低频信号发生器
2.基本要求部分的测试与分析
(1)按下“设置时间”键,观察到“钟表”和“温度”的发光二极管同时点亮,此时可对时间进行设置。
按下“小时”,“分钟”键,观察数码管的小时部分和分钟部分是否随相应按键的变化而变化。
经测试该步可以很好的实现。
调整时间完毕后,再按一下“设置时间”
开启报警系统
开始
初始化
显示时间
读电压
电压>240V?
电压<200V?
有键按下吗?
判断键值
功能
显示时间
显示温度
显示频率
显示电压
设置时间
设置闹钟
闹铃关处理
闹铃开处理
关闭报警系统
显示电压
Y
N
Y
N
N
Y
图9主程序流图
Y
N
N
Y
N
Y
N
图10蜂鸣器闹铃中断服务子程序
键,即可完成对时间的设置。
(2)按下“设置闹铃”键,观察到“电压”、“频率”二极管同时点亮;按下“小时”、“分钟”键,观察数码管的小时部分和分钟部分是否随相应按键的变化而变化,经测试该部分可很好的实现。
调整好后,再按一下“设置闹铃”键,则设置完毕。
(3)利用秒表测量数字时钟变化1分钟时的时间间隔。
由测试结果知,误差范围很小,其中包括人的反映误差。
若除去人的反映误差,则由电路造成的误差可忽略不计。
这其中主要的原因是设计中使用了12887专用时钟芯片。
(4)设置好闹铃时间后,按下“闹铃开”键,在所设置的闹铃时刻观察蜂鸣器是否产生闹铃报警,并观察代表闹铃响与不响的发光二极管是否点亮。
经测试该部分也能很好的完成。
(5)在系统闹铃时按下“闹铃关”键,观察闹铃是否停止,并观察代表闹铃响与不响的发光二极管是否点亮。
经测试该部分也能很好的完成。
(6)当数字时钟的小时位大于12时,观察代表AM/PM的发光二极管是否点亮。
经验证,当数字时钟的小时位大于12时,发光二极管点亮。
2.发挥部分的测试与分析
在该部分中,利用“功能”键实现各个功能之间的切换。
此时“闹铃开”键作为各个功能的“确认”键。
按下功能键,选择相应的功能,然后按下确认键即执行相应的功能。
再按一下“确认”键,即可回到时钟状态。
(1)键盘切换现场环境温度显示:
按“功能”键选择“温度”,将温度传感器和温度计放入不同的测试环境中进行测试,结果如表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
(3)欠压、过压报警:
利用调压器改变电压值,观测出当电压大于240或小于200时数字时钟具有报警功能。
(4)利用遥控器,当闹铃响时,能对其实现遥控止闹的功能。
五、设计总结:
经过小组成员的一致努力,完成了本次课题的任务,达到了预期的的。
设计制作了一个具有多种功能的数字时钟。
本设计很好的完成了基本功能部分、发挥部分的功能。
1.基本要求
(1)具有时间设置(小时和分钟)、闹钟时间设置、闹钟开、闹钟关功能。
(2)数字显示小时、分钟,有AM、PM指示器,闹钟就绪灯,蜂鸣器。
(3)220V供电。
2.发挥部分
(1)键盘切换现场环境温度显示。
(0~60℃
1℃)
(2)键盘切换电网频率、电压显示。
(3)电压欠压、过压报警(~220V
10%)功能。
(4)非接触止闹功能。
六、参考资料:
1.《微型计算机控制技术》于海生编清华大学出版社1999.6
2.《MCS-51系列单片机原理及应用》孙涵芳等编北京航空航天大学出版社1996.4
3.《综合电子设计与实践》黄正谨等编东南大学出版社2002.3
4.《电子设计竞赛赛题解析》黄正谨等编东南大学出版社2003.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 数字 时钟 设计 资料