整点报时数字钟资料
- 格式:doc
- 大小:420.00 KB
- 文档页数:13
信息与电气工程学院课程设计说明书课程名称:整点报时数字钟题目:整点报时数字钟专业班级:电气工程及其自动化07-05学生姓名:学号:指导教师:崔春艳设计周数:2周设计成绩:1. 课程设计目的………………………………………………………2 .课程设计的要求……………………………………………………3. 数字钟方案设计……………………………………………………3.1方案设计……………………………………………………………3.2数字钟逻辑框架图…………………………………………………4. 单元电路的设计和元器件的选择…………………………………4.1 时钟秒脉冲的产生…………………………………………………4.2 六十进制计数电路的设计…………………………………………4.3 双六十进制计数电路设计…………………………………………4.4 二十四进制计数电路的设计………………………………………4.5 译码驱动及显示单元电路设计……………………………………4.6 整点报时器单元电路………………………………………………4.7 校正单元电路的设计………………………………………………5.数字钟的PCB 板图的设计……………………………………………5.1PROTEL99的使用……………………………………………………5.2具体工艺要求和相关规则…………………………………………5.3 注意事项…………………………………………………………6.系统调试………………………………………………………………6.1 系统调试方法………………………………………………………6.2调试出现的问题及解决方法………………………………………7. 元器件清单…………………………………………………………8. 主要元件介绍………………………………………………………9. 课程设计总结和心得体会…………………………………………9.1 设计过程中遇到的问题及解决方法………………………………9.2 个人体会……………………………………………………………10. 参考文献……………………………………………………………附录……………………………………………………………………1 数字钟原理图………………………………………………………2 数字钟PCB板………………………………………………………课程设计评语表格……………………………………………………1 课程设计的目的(1)设计的目的数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字电路课程设计报告书课题名称 电子秒表电路设计姓 名 学 号院、系、部 物理与电信工程学院 专 业 电子信息工程指导教师2012年 6 月 1日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2010级学生数字电路 课程设计自动电子钟的设计1 设计目的(1)熟练电路仿真软件Multisim 10.0的使用。
(2)巩固所学的理论知识与实践技能。
(3)提高电路布局、布线和检查以及排除故障的能力。
(4)初步学习工程设计的基本技能。
(5)培养学生查阅技术资料的能力以及综合运用所学理论知识和实践知识独立完成课题的工作能力。
2 设计思路(1)设计秒信号产生电路。
(2)设计计时显示电路。
(3)设计校时电路。
(4)设计清零电路。
(5)设计整点报时电路。
3 设计过程3.1方案论证如图 3.1所示,秒信号产生电路可用振荡器和分频器共同产生,由于在Multisim10.0软件中,“时间”要比实际的时间慢得多,所以在仿真电路里,为了更加清楚地看到实验现象,就用电压时钟脉冲产生器代替秒信号发生器。
3.2电路设计(1)秒脉冲信号发生器的设计秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。
由振荡器与分频器组合产生秒脉冲信号。
振荡器: 通常用555定时器与RC构成的多谐振荡器,经过调整输出1000Hz脉冲。
分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,二是提扩展电路所需要的信号,选用三片74LS90进行级联,因为每片为1/10分频器,三联好获得1Hz标准秒脉冲。
其电路图如下:图3.2 秒信号发生电路(2)秒、分、时计时器电路设计秒、分计数器为60进制计数器,小时计数器为24进制计数器。
实现这两种模数的计数器采用中规模集成计数器74LS90构成。
60进制计数器:由74LS90构成的60进制计数器,将一片74LS90设计成10进制加法计数器,另一片设置6进制加法计数器。
两片74LS90按反馈清零法串接而成。
广播电台整点报时第一篇:广播电台整点报时周一至周五整点报时06:00一日之计在于晨,一天中的美好时光从早上开始。
07:00早上七点,新的一天找到新的动力。
07:00匆忙的早晨一袋牛奶、一只鸡蛋加上几片面包它就能为您提供一上午的能量。
现在是早上7点。
08:00在工作和学习开始之前,喝杯水,它能促进代谢,帮助醒脑。
现在是早上8点。
09:00繁忙而紧张的工作需要理清头绪,今天你做到了吗?现在是北京时间9点整10:00工作中带着微笑,让微笑感染周围的人。
现在是北京时间上午10点整。
11:00忙了一上午,抽个空,远眺下远方的绿色让眼睛得到适当的休息,现在是上午十一点。
12:00又是一个交通小高峰,回家路上注意安全!现在是北京时间中午12点整。
13:00午休小憩一会儿,下午的工作将事半功倍。
现在是北京时间下午1点整。
14:00喝杯浓茶,振作精神,下午两点,有音乐的陪伴让工作更顺畅。
15:00事都有着多面性,换个方向,或许你能发现更多答案。
现在是下午三点。
16:00在忙碌中找寻休憩,在平淡中找寻快乐。
多一些快乐,少一丝束缚。
现在是下午四点 17:00关爱他人,从小事开始。
现在是北京时间下午5点整。
18:00下班高峰期,注意行车安全。
现在是北京时间旁晚6点。
19:00关注时事动态,了解新闻大事,新闻联播更精彩。
20:00在城市的夜空下,欣赏喧嚣的夜晚,现在是晚上八点。
21:00让时间承载记忆,让岁月留下印记。
现在是北京时间晚上9点整。
22:00喝一杯牛奶,融化一天的疲倦。
现在是北京时间晚上10点整。
23:00寂静的深夜,依旧有好声音陪伴。
现在是北京时间晚上11点整。
24:00静谧的午夜,道一声:“晚安”。
现在是晚上12点。
工作张弛有度,生活追求品质,第二篇:广播电台广播电台双簧:嘀嘀嘀嘀,哆!刚才最后一响是北京时间...看不清楚。
长沙市哈利油广播电台,短波二百五,中波不管三七二十一,调口味立体声现在已经开始播音啦。
带整点报时功能的电子时钟题目要求:显示时、分、秒,打开电源时,应当显示的数据为00:00:00,然后电路会自动开始计时。
电路中应当有时、分、秒的时间调整按钮。
当显示数据变为00:00:00,而不是24:00:00。
时间调整按钮按下时间小于1s,时钟进入休眠状态;大于1s时,进入时间调整状态,每按1次,显示值加1。
当时间到了整点时,将会进行报时。
设计任务的分析:电子时钟是生活中非常实用的电子部件,比如手机里的时间显示、电子手表里的时间显示等。
一般来说,电子时钟应当具有时、分、秒三个部分的内容显示,而且这三个部分还可以分别调整。
现在好一些的电子时钟除了有时、分、秒显示之外,还有年、月、日显示,闹钟设置等多种功能。
实际上这些功能都能用单片机实现。
本设计实验中,将设计一个能显示时、分、秒并带有整点报时功能的简单电子时钟,时、分、秒均能分别进行调整。
原理:本设计中实现的是6位数的显示。
一般来说,控制多位数码管常采用的方法是扫描显示法,即各位数码管共用输入数据,但各数码管的显示控制线则单独控制。
用扫描显示法来完成多位数字显示设计,程序执行时,先使要显示的数字位数对应的数码管允许点亮;然后,将要显示的数据输出到数码管;显示时间到了之后,再切换到下一个数码管来显示。
而整点报时方面本设计采取使用另外一个单片机控制蜂鸣器,通过输出不同频率的音符而实现歌曲的播放。
电路设计:由以上的分析知,电路中除了单片机之外,还需要6个数码管,2个按钮和2个晶振,一个蜂鸣器和一些电阻、电容、三极管元件。
可以用单片机1的P1端口的P1.0~P1.7来作为数码管显示数据的输出引脚,P2.0~P2.5作为各数码管的控制端,用P3.7作为休眠、时间调整的控制钮。
单片机2的P1.3作为蜂鸣器的控制端,单片机1跟单片机2的P2.7作为2个单片机的通讯端。
一、硬件电路说明二、程序设计:a)软件流程设计说明三、调试过程出现的问题和解决的办法1、数码管刚开始采用单片机直接驱动,但是数码管显示亮度不够,因此改为采用三极管加上拉电阻驱动,最后数码管显示良好;2、两块单片机之间通过P0口对接,结果信号采集不到,加了上拉电阻之后问题解决;3、采用P1口带限流电阻触发三极管驱动蜂鸣器时,蜂鸣器不够响亮,因为单片机的输出电流最大为20mA,加了限流电阻后削弱了电流,采用直接触发方式即解决问题。
整点报时数字钟数字钟一、设计任务本任务为:数字钟。
设计任务具体内容如下:1.1 基本设计任务依据命题题意,本设计采用89C51进行24小时计时并显示。
要求其显示时间范围是00:00:00~23:59:59,具备有时分秒校准功能。
数字钟上面要带有闹钟,闹钟与时钟之间能随时切换,闹钟具备时分秒设置功能。
1.2 控制设计任务由于本设计采用手动校准时钟与手动设置闹钟方案,所以要求用较少的按键来达到切换闹钟与时钟、时钟时分秒校准、闹钟时分秒设置等功能。
1.3 软件设计任务数字钟的所有计时都要由软件控制实现。
用软件对几个按键所得信号进行相应改变,以控制时钟与闹钟的显示。
通过软件对闹钟与时钟进行比较,当时钟所显示时间与闹钟一样时,要启动报时模块。
三、总体设计经过对各个方案分析比较,最终确定总方案如图3-1所示。
该系统所有模块都由主单片机控制。
其中,设计各个模块,包括单片机、显示模块、电机驱动、光电探测由四节AA电池供电。
电机驱动采用L298驱动芯片控制。
用光电传感器对边线的探测来控制距离。
通过单片机的机器周期计算时间计数周期,以达到计时目的。
图3-1 系统方案图3.1 系统硬件电路设计3.1.1 显示及控制模块图3-4 语音报时模块3.2 系统软件设计3.2.1 软件计时的分析与计算单片机内部定时器有4种工作模式,方式0是13位计数器,由于计时时间过短,中断频率高,所以不选用此模式;方式2是自动重装式计数器,是8位计数器,同样中断频率过高;方式3也是8位计数器;方式1是16位计数器,综合考虑,选用方式1做精确计时。
由于51单片机是12分频,因此机器周期=晶振频率/12。
在该设计中,选用频率为12MHz的晶振,因此机器周期=1μs。
定时1s需要1000000个机器周期,因此通过20次定时器中断完成1s的定时,每次完成50000个周期的定时,因此每次给定时器的初值应该是TH0=B0H,TL0=3CH。
3.2.2 系统软件设计设计两套存储方案,一套存储时钟,一套存储闹钟,两者互不干涉,只有当两者相等时才会调用闹钟播放子程序,而当每次整点时则会调用整点报时子程序。
第一章数字钟的工作原理第一节介绍20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品跟新换代的节奏也越来越快。
数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,节省了电能。
因此在许多电子设备中被广泛使用。
数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。
通过设计加深对刚刚学习了的数字电子技术的认识。
本次设计以数字电子为主,分别对一秒信号源、秒计时显示、分计时显示、小时计时显示、整点报时及校时电路进行设计,然后将它们组合来完成时、分、秒的显示并且具有整点报时和走时校时的功能。
并通过本场设计加深对数字电子技术的理解以及更熟练是有计数器、触发起和各种逻辑门电路的能力。
电路主要使用集成计数器,例如74LS160、CD4518、译码集成电路,例如CD4511、LED数码管及各种门电路和基本的触发器等,电路使用5号电池供电,很合适在日常生活中使用。
第二节设计方案论证方案一:采用小规模集成电路实现采用集成逻辑电路设计具有能实现,时分秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。
方案二:EDA技术实现采用EDA作为主控制外围电路进行电压,时钟控制键盘和LED控制,此方案逻辑电路复杂,且灵活性较低,不利于各种功能的扩展,在对电路进行检测比较困难。
方案三:单片机编程实现在按键较少的情况下,采用独立式4个按键,经软件设计指定的I/O 口,送出逻辑电平,控制数码管显示,根据数字电子钟的设计要求与原理以及特性,本系统采用单片机AT89C52串口输出的形式来设计电路,使功能及效果更完美。
设计要求1.用秒脉冲作信号源,构成数字钟,显示秒、分、时2.具有“对时”功能,即时间可以快速预置3.具有整点提示功能。
一种实现的方法是每到整点时触发“音乐芯片”或每到整点前几秒钟,发出如“的、的、的、答”声音信号。
系统框图设计过程时间显示模块电路可以用3个CD4518作为核心芯片,进行级联,再辅以若干逻辑门,完成进位、置零等功能,CD4518是双十进制计数器,有两个时钟输入端,正好可以满足进位和校时的功能,而不会产生干扰,且有一个置零功能,可以组成六十进制和二十四进制的计数器。
整点报时模块电路用的是555芯片和一块CD4068芯片组成的电2路,555芯片可以接成多谐振荡器,提供交变信号使蜂鸣器发出声音,而整点报时的控制可以用CD4068实现,CD4068是8输入与/与非门,可以在整点之前输出脉冲信号,经过由555芯片组成的多谐振荡器,为其提供一个信号,这样由多谐振荡器输出端可以使蜂鸣器发出“嘀、嘀、嘀”的响声。
秒信号发生器可以用实验箱上的秒脉冲信号代替。
考虑到开关抖动现象,校时模块电路实验实验箱上的按键开关,每输出一个脉冲信号可以改变分个位和十个位,同时考虑到干扰问题,进位接线和校时接线接在不同的时钟输入端。
电路仿真与设计3.1所需芯片及芯片管脚图CD4518 CD4068CD4002 CD40112CD4069 5553.2时、分、秒显示电路模块设计整个电路的的核心芯片是CD4518,它是一个双10进制加法计数器,因此只需要三个芯片,进行级联即可实现两个六十进制和一个二十四进制计数器,再加上一些合适的逻辑门,实现置零和进位。
上图是秒显示电路设计图,右边为秒个位,左边为秒十位,秒个位的电路中置零引脚和时钟输入端CP1必须接地,这是因为CMOS 的引脚不能悬空,否则会影响实验结果,CP0接秒脉冲信号,考虑到秒个位计数到9的时候必须进位,所以在显示0的同时输出一个进位信号,输出是0000,因此可以用一个或非门,当输出是0000的时候提供一个进位信号至秒十位的时钟输入端,秒十位另一个时钟输入端接地,当秒十位计数器计到5时,在输出为0110时提供一个信号到秒十位计数器的置零端,使其实现0110——0000,即六十进制。
一种具有整点报时带闹钟时间可调的数字钟摘要:本文介绍了一种带有整点报时和闹钟时间可调功能的数字钟。
该数字钟采用数字显示屏,同时配备了时钟和闹钟功能,可以实现整点报时并调整闹钟时间。
该数字钟的设计使用了C51单片机控制,具有高可靠性和稳定性。
关键词:数字钟,整点报时,闹钟,C51单片机,可靠性,稳定性正文:随着现代科技的快速发展,数字产品越来越普及。
数字钟作为一种时间测量和管理工具,在我们的日常生活中也得到了广泛的应用。
本文介绍了一种带有整点报时和闹钟时间可调功能的数字钟。
该数字钟采用颜色数字显示屏,具有清晰、鲜艳的显示效果。
同时,该数字钟配备了时钟和闹钟功能,便于用户在日常生活中管理时间。
其中,时钟功能可以显示当前时间,而闹钟功能可以在设定的时间提醒用户进行某项活动。
此外,该数字钟还具有整点报时功能,用户可以选择是否开启该功能,从而实现每小时整点报时的功能。
该数字钟的设计采用了C51单片机控制,具有高可靠性和稳定性。
另外,该数字钟还具有闹钟时间可调功能,用户可以根据需要进行时间设置和调整,方便快捷。
通过该数字钟的使用,可以帮助用户更加有效地进行时间管理,提高生活效率和品质。
总之,该数字钟具有数字显示屏、时钟和闹钟功能、整点报时和闹钟时间可调等多种优秀特性,可以满足用户在日常生活中对于时间管理的需求,具有广泛的应用前景。
在现代社会中,时间显得尤为重要,数字钟作为一种时间管理工具,已经成为人们日常生活中必不可少的东西。
随着科技的不断发展,数字钟也得到了不断的升级和改进,使其更加实用和便捷,也更符合人们的需求和使用习惯。
本文介绍的数字钟采用了颜色数字显示屏和C51单片机控制,这有效地提高了数字钟的可靠性和稳定性。
同时,该数字钟还引入了整点报时和闹钟时间可调的功能,为用户提供了更加精细化、个性化的时间管理服务。
这种数字钟的应用范围非常广泛,可以在家庭、学校、办公室等各种场合中使用。
该数字钟的整点报时功能可以自动在每一个小时的整点时刻发出提示音,既方便了用户,也使整点时间更加规范化。
“数字电子技术”课程设计实验报告电子时钟整点报时;姓名:学号:年级:日期:目录一、选题意义 (1)二、设计方案 (1)三、电路设计 (2)四、电路调试 (4)五、实验结果总结及电路实物照片 (5)六、存在问题及可能改进思路 (6)七、心得体会 (6)附:所用元件清单 (6)一、选题意义电子钟已成为人们日常生活中的必需品,它是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。
通过该课程设计可以增强对数字电路系统设计、模块设计、画原理图、电路仿真、元件布线和调试等方面的能力,从而加深对课堂所学的理论知识的了解,增强发现问题、分析问题、解决问题和制作实验报告的综合能力。
二、设计方案观察上图,整点报时电子钟的设计可分为逻辑运算部分、校时部分、时间显示部分和报时部分。
用秒脉冲作信号源,构成电子钟,显示秒、分、时,具有高精度和高稳定度。
可以快速预置时间,当时间达到整点,蜂鸣器会发出如“的、答”的声音。
三、电路设计设计原理:设计以CD4518为核心芯片,C D4518是双10进制加法计数器,右侧都作为时、分、秒计时模块的低位计数显示,而左侧则作为高位显示。
通过逻辑组合,将三个CD4518分别做成一个24进制加法计数器和两个60进制加法计数器。
当时间到达00分00秒时,振荡器在脉冲信号的作用下发出响声,实现整点报时的功能。
而校时功能则是将上一级的低位时钟输入端,利用一个单向双刀开关,分别与下一级的高位时钟输出端和时钟信号连接起来,通过手动切换来实现校时功能。
图1:计时模块时钟部分图2:计时模块分、秒钟部分图3:报时模块图4:电路图总图四、电路调试遭遇问题:(1)在接报时部分的电路时,把CD4518的高位输出接成低位输出,达到整点时蜂鸣器没有发声。
(2)有时候数码管显示有点混乱。
整点报时数字钟数字钟一、设计任务本任务为:数字钟。
设计任务具体内容如下:1.1 基本设计任务依据命题题意,本设计采用89C51进行24小时计时并显示。
要求其显示时间范围是00:00:00~23:59:59,具备有时分秒校准功能。
数字钟上面要带有闹钟,闹钟与时钟之间能随时切换,闹钟具备时分秒设置功能。
1.2 控制设计任务由于本设计采用手动校准时钟与手动设置闹钟方案,所以要求用较少的按键来达到切换闹钟与时钟、时钟时分秒校准、闹钟时分秒设置等功能。
1.3 软件设计任务数字钟的所有计时都要由软件控制实现。
用软件对几个按键所得信号进行相应改变,以控制时钟与闹钟的显示。
通过软件对闹钟与时钟进行比较,当时钟所显示时间与闹钟一样时,要启动报时模块。
三、总体设计经过对各个方案分析比较,最终确定总方案如图3-1所示。
该系统所有模块都由主单片机控制。
其中,设计各个模块,包括单片机、显示模块、电机驱动、光电探测由四节AA电池供电。
电机驱动采用L298驱动芯片控制。
用光电传感器对边线的探测来控制距离。
通过单片机的机器周期计算时间计数周期,以达到计时目的。
图3-1 系统方案图3.1 系统硬件电路设计3.1.1 显示及控制模块图3-4 语音报时模块3.2 系统软件设计3.2.1 软件计时的分析与计算单片机内部定时器有4种工作模式,方式0是13位计数器,由于计时时间过短,中断频率高,所以不选用此模式;方式2是自动重装式计数器,是8位计数器,同样中断频率过高;方式3也是8位计数器;方式1是16位计数器,综合考虑,选用方式1做精确计时。
由于51单片机是12分频,因此机器周期=晶振频率/12。
在该设计中,选用频率为12MHz的晶振,因此机器周期=1μs。
定时1s需要1000000个机器周期,因此通过20次定时器中断完成1s的定时,每次完成50000个周期的定时,因此每次给定时器的初值应该是TH0=B0H,TL0=3CH。
3.2.2 系统软件设计设计两套存储方案,一套存储时钟,一套存储闹钟,两者互不干涉,只有当两者相等时才会调用闹钟播放子程序,而当每次整点时则会调用整点报时子程序。
本设计有调用T0中断,并有以下子程序:void delay(void) //延时子程序void delay2(void) //1420专用延时子程序void play(unsigned char temp) //1420播放子程序void display(void) //显示子程序void rdisplay(void) //闹钟显示子程序void ring(void) //闹钟控制子程序void examring(void) //闹钟播放子程序void zhengdian(void) //整点报时子程序Ⅳ、测试结果及结果分析4.1 测试仪器及工具测试仪器及工具:电源一个。
4.2 测试步骤①、接上电源。
②、设定闹钟为00:01:00,并试听闹钟是否准确。
③、试听每次整点报时是否准确。
④、试验各按键功能是否正常。
4.3 测试结果如下闹钟与整点报时功能均正确无误,各按键功能均正常。
4.4 测试结果分析通过对测试数据的分析,可以看出,数字钟能实现时钟计时,并带有闹钟与整点报时功能,即数字钟已经实现了题目所给出的所有要求。
参考文献:1、胡汉才.单片机原理及其接口技术.北京:清华大学出版社,20052、阎石.数字电子技术基础.北京:高等教育出版社,20013、童诗白华成英.模拟电子技术基础.北京:高等教育出版社,20014、郁有文等.传感器原理及工程应用.西安:西安电子科技大学出版社,2008 附件一:参考程序如下:#include<at89x51.h>unsigned char codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0 x7f,0x6f};unsigned char codetab[]={0xfd,0xfb,0xf7,0xef,0xdf,0xbf};unsigned char codets[]={0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x4 0,0x48,0x50};unsigned char wei[]={0,1,2,3,4,5};unsigned char sec,min,hou,rsec,rmin,rhou,tcont; unsigned char a0,a1,a2;unsigned char smh;void delay(void) //延时子程序{ unsigned char i,j;for (i=10;i>0;i--)for(j=248;j>0;j--);}void delay2(void) //1420专用延时子程序{ unsigned char i,j,k;for (i=200;i>0;i--)for(j=248;j>0;j--)for(k=20;k>0;k--);}void play(unsigned char temp) //1420播放子程序{ P1=0;P3_0=1;P3_1=1;P1=temp;P3_1=0;delay2();P1=0;P3_1=1;} void display(void) //显示子程序{ for(a2=0;a2<6;a2++){ wei[0]=hou/10;wei[1]=hou%10;wei[2]=min/10;wei[3]=min%10;wei[4]=sec/10;wei[5]=sec%10;P2=tab[a2];P0=table[wei[a2]];delay();}}void rdisplay(void) //闹钟显示子程序{ for(a2=0;a2<6;a2++){ wei[0]=rhou/10;wei[1]=rhou%10;wei[2]=rmin/10;wei[3]=rmin%10;wei[4]=rsec/10;wei[5]=rsec%10;P2=tab[a2];P0=table[wei[a2]];delay();}}void ring(void) //闹钟控制子程序{ while(P3_5==0)rdisplay();smh=0;a0=0;while(a0==0){ rdisplay();if(P3_3==0){ delay();if(P3_3==0){ switch(smh){ case 0:rsec++;break;case 1:rmin++;break;case 2:rhou++;break;}if(rsec==60){rsec=0;rmin++;}if(rmin==60){rmin=0;rhou++;}if(rhou==24)rhou=0;}while(P3_3==0)rdisplay();}if(P3_2==0){ delay();if(P3_2==0){ switch(smh){ case 0:rsec--;break;case 1:rmin--;break;case 2:rhou--;break;}if(rsec==-1){rsec=59;rmin--;}if(rmin==-1){rmin=59;rhou--;}if(rhou==-1)rhou=23;}while(P3_2==0)rdisplay();}if(P3_4==0){ delay();if(P3_4==0)smh++;if(smh==3)smh=0;while(P3_4==0)rdisplay();}if(P3_5==0){ delay();if(P3_5==0)a0=1;while(P3_5==0)rdisplay();break;}}smh=0;}void examring(void) //闹钟播放子程序{ unsigned char i,j,k;if(sec==rsec){ if(min==rmin){ if(hou==rhou){P1=0;P3_0=1;P3_1=1;P1=0x70;P3_1=0;for(i=150;i>0;i--)display();P1=0;P3_1=1;P1=0;P3_0=1;P3_1=1;P1=0x70;P3_1=0;for(i=150;i>0;i--)display();P1=0;P3_1=1;P1=0;P3_0=1;P3_1=1;P1=0x70;P3_1=0;for(i=150;i>0;i--)display();P1=0;P3_1=1;P1=0;P3_0=1;P3_1=1;P1=0x70;P3_1=0;for(i=150;i>0;i--)display();P1=0;P3_1=1;}}}}void zhengdian(void) //整点报时子程序{ unsigned char dian;if(sec==0){ if(min==0){ dian=hou/10;if(dian==0){play(0x60);play(0x68);dian=hou%10;dian =ts[dian];play(dian);play(0x58);}if(dian==1){dian=hou%10;if(dian==0){play(0x60);play(0x68);play(0x 50);play(0x58);}if(dian!=0){play(0x60);play(0x68);play(0x5 0);dian=hou%10;dian=ts[dian];play(dian);play(0x58);}}if(dian==2){dian=hou%10;if(dian==0){play(0x60);play(0x68);play(0x 10);play(0x50);play(0x58);}if(dian!=0){play(0x60);play(0x68);play(0x1 0);play(0x50);dian=hou%10;dian=ts[dian];play(dian); play(0x58);}}}}}void main(void) //主程序{ unsigned char i;TMOD=1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;ET0=1;EA=1;tcont=0;sec=0;min=0;hou=0;rsec=0;rmin=0;rhou=0;smh=0;for (i=50;i>0;i--)display();while(1){ display();examring();zhengdian();if(P3_3==0){ delay();if(P3_3==0){ switch(smh){ case 0:sec++;break;case 1:min++;break;case 2:hou++;break;}if(sec==60){sec=0;min++;}if(min==60){min=0;hou++;}if(hou==24)hou=0;}while(P3_3==0)display();}if(P3_2==0){ delay();if(P3_2==0){ switch(smh){ case 0:sec--;break;case 1:min--;break;case 2:hou--;break;}if(sec==-1){sec=59;min--;}if(min==-1){min=59;hou--;}if(hou==-1)hou=23;}while(P3_2==0)display();}if(P3_4==0){ delay();if(P3_4==0)smh++;if(smh==3)smh=0;while(P3_4==0)display();}if(P3_5==0){ delay();if(P3_5==0)ring();}}}void t0(void) interrupt 1 using 0 //调用中断{ TH0=(65536-10000)/256;TL0=(65536-10000)%256;tcont++;if(tcont==100){ tcont=0;sec++;if(sec==60){ sec=0;min++;if(min==60){ min=0;hou++;if(hou==24)hou=0;}}}}附件二:总原理图如下:附件三:元器件清单元器件清单报表附表一元器件清单。