定时闹钟设计 课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定时闹钟设计
令狐采学
摘要:
本设计目的是利用单片机设计制作一个简易的定时闹铃时钟,可以放在宿舍或教室使用,在夜晚或黑暗的场合也可以使用。可以设置现在的时间以及闹铃的时间并且显示出来,若时间到则发出一阵声响。
本次设计的定时闹钟在硬件方面就采用了AT89C52芯片,用6位LED数码管进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过五个功能按键可以实现对时间的修改、定时和闹铃终止,闹钟设置的时间到时蜂鸣器可以发出声响。在软件方面用
C51编程。整个定时闹钟系统能完成时间的显示,调时和设置闹钟、停止响铃等功能,并经过系统仿真后得到了正确的结果。
关键词:定时闹钟;蜂鸣器;AT89C52;74HC245;
目录第1章绪论1
1.1设计目的1
1.2设计要求和任务1
1.2.1设计要求:1
1.2.2设计任务:1
1.3论文主要内容1
第2章系统总体设计2
系统设计需求
总体设计方案
2.3系统软件3
2.4系统硬件3
第3章系统硬件设计4
3.1系统硬件模块及功能4
3.2主控模块4
3.2.1主芯片AT89C524
3.2.2时钟电路设计7
3.2.3 74HC245芯片7
??????LED显示模块??
??????按键模块??
3.5警报模块10
第4章系统软件设计11
4.1系统软件设计概述11
4.2主程序设计11
4.3单片机的中断系统11
4.3.1中断源11
4.3.2中断的优先级别12
4.4主程序12
第5章系统测试13
5.1测试内容13
??测试环境??
????测试步骤??
????测试环境的构建??
5.3.2测试内容14
5.4测试结果14
结论15
致谢16
参考文献17
附录18
第1章绪论
1.1设计目的
本次课程设计的主题是定时闹钟,其基础部分是一个数字钟。电路系统由秒信号发生器、“时、分、秒”计数器、显示器组成。其中秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,这里用51单片机的定时器来实现。利用定时器获得每一秒的时刻,然后在程序中,我们就可以给秒进行逐秒赋值,满60秒则进位为1分,满60分则进位为1小时,满24小时则时间重置实现一天24小时的循环。译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过一个六位八段数码管显示出来。
这里利用51单片机的相关知识,来实现电子闹钟的相关功能。实验使用了AT89C52、74HC245等芯片,通过单片机的P0、P3管脚来驱动数码管显示出相应的时刻。本文将讲述AT89C52、74HC245等芯片的基本功能原理,并重点介绍该电子闹钟的设计。
1.2设计要求和任务
1.2.1设计要求:
使用6位七段LED显示器来显示现在的时间;显示格式为“时时分分秒秒”;具有4个按键来做功能设置,可以设置现在的时间及显示闹铃设置时间;时间到则发出一阵声响,可通过按键复位;对单片机系统设计的过程进行总结,认真书写课程设计报告并按时上交。
1.2.2设计任务:
利用51单片机结合七段LED显示器设计一个简易的定时闹铃时钟,可以放在宿舍或教室使用,由于用七段LED显示器显示数据,在夜晚或黑暗的场合也可以使用。可以设置现在的时间及显示闹铃设置时间,若时间到则发出一阵声响。
1.3论文主要内容
论文分别叙述从硬件和软件上实现该设计的过程。第2章为总体设计方案。第3章主要介绍设计实现需要解决的硬件问题。依次介绍所使用的各种硬件的使用方法,并附上仿真电路图和文字说明。第4章从软件的角度说明实现该设计需要解决的问题。
第2章系统总体设计
2.1系统设计需求
系统要求实现以下功能:
1.当电源接通时,系统能正确显示当前时间。
2.当前时间与实时时间有误差时,可以通过键盘调整当前时间。
3.系统允许进行闹钟设置,开启闹钟功能时,当设置的闹钟时间与当前时间一致的时候,系统通过蜂鸣器发出警报声并且可以通过按键停止。
2.2总体设计方案
功能组成:
本次设计中的计时功能很容易实现,难点在于时钟功能和闹钟功能的切换和时间的设置。
该电子闹钟设计对51单片机定时器0装初值,使其初值对应50ms,定时器0的中断次数达到20次就刚好为1s,当秒部分计数到60时置零,并向分部分进一;当分部分计数到60时置零,并向时部分进一,当时部分计数到24时置零,从而满足时钟的正常工作。
在设计过程中,我发现通过4个按键来完成一个闹钟的基础功能虽然可以实现,但是用户用起来就会很麻烦,因为有的键必须有多种功能和不同的触发方式,我认为可以增加少许按键来方便用户快速了解到我们的闹钟是如何进行控制的。所以本次设计设置5个键依次对其进行“时间校准”、“闹钟设置”、“秒分时切换/终止警报”、“加1按钮”、“减1按钮”。“秒分时切换/终止报警”键在调时状态中,起时分秒切换的作用,在非调试状态下,起闹钟终止的作用。
当用户按下“时间校准”的按钮后,程序会关闭T0定时器,之后时钟停止工作,此时
数码管会显示当前静止的时间,说明已经进入时间校准的界面了。在完成时间校准后,打开T0定时器,时钟会在设置好的时间上继续工作走秒。
当用户按下“闹钟设置”按钮后,会将当前时间复制出来提供给定时界面,注意此时我们的时钟仍然在继续工作,只是数码管显示的是定时模式的静止时间。当设置好后,此时用户设置的时间只要没有触发过闹铃,再次按“闹钟设置”按钮就能查看并修改,即闹钟会保存下用户最后一次未被触发的闹钟时间。
当正常工作的时钟时刻到达了预设的闹铃时刻,蜂鸣器发出警报声,屏幕会闪烁并显示当前时间。考虑到用户可能已经被提醒而不想继续被闹铃声干扰,还提供了一个能够终止闹铃的功能,此功能与“时分秒切换”功能共用同一按键,按下后时钟继续正常工作,且闹钟功能又可以重新设置。
2.3系统软件
本设计在Keil编程环境下,使用C语言进行编程的编辑。编辑成功后,通过仿真软件Proteus进行仿真测试。
2.4系统硬件
LED显示屏×1
主控芯片:AT89C52
闹钟提示:蜂鸣器
人机交互:按键×5