带整点报时功能的电子时钟
- 格式:doc
- 大小:243.00 KB
- 文档页数:13
LED电子钟使用说明书(ZXSJ-05L)一、功能简介1、时分、月日、温度单项显示或三项交替显示。
2、12/24小时制可设定。
3、八组闹钟功能。
4、整点提醒功能。
5、停电继续走时。
6、亮度自动调整(22:00~7:00亮度减半)。
7、自动闰年调整(2000-2099年)。
8、自动测量温度(-9~50℃)。
二、操作说明1、按键名称:RESET(复位)、(设置/移动)、▲(上调)、▼(下调)、END(结束/止闹)。
2、开关名称:ALTER ON/OFF(交替显示开/关)、ALARM ON/OFF(闹铃开/关)。
3、指示灯名称:AM(上午)、PM(下午。
4、年月日小时分钟(日期和时间)设置:按设置键四位年份闪烁,按上调键或下调键修改年(年份四位数平时不显示或者说隐藏显示,只有在首次按设置键时借用四位数码闪烁显示,例如闪烁显示2009,表示2009年,此时按上调键或下调键可修改年份);再按设置键月闪烁,按上调键或下调键修改月;再按设置键日闪烁,按上调键或下调键修改日;再按设置键小时位闪烁,按上调键或下调键修改小时;再按设置键分钟位闪烁,按上调键或下调键修改分钟;按结束键回到正常显示状态。
5、12/24小时制设置:在正常显示状态下,按住上调键三秒,则可进行12小时制与24小时制的互相切换,12小时制有上午(AM)、下午(PM)指示灯指示。
6、整点提醒设置:在正常显示状态下,按一下上调键可以开启/关闭7:00~21:00整点提醒功能(整点指示灯亮/灭),22:00~6:00整点都不提醒。
7、定闹时间设置:在正常显示状态下,按定闹键进入闹铃时间查询(每组闹铃有不同音乐提示,若在时分位显示―∶――表示该组闹铃时间无效,否则有效,可按上调键切换成有效或无效),若要调整则按设置键音乐停止,再按设置键,小时位闪烁,按上调键或下调键修改小时,再按设置键分钟位闪烁,按上调键或下调键修改分钟;再按定闹键进入第二组闹铃时间查询和调整,方法与第一组相同;用同样方法可完成第三组至第八组闹铃时间的查询和调整;按结束键返回正常显示状态;若八组闹铃时间都无效,则闹铃指示灯不亮,否则闹铃指示灯亮。
数字电路课程设计报告书课题名称 电子秒表电路设计姓 名 学 号院、系、部 物理与电信工程学院 专 业 电子信息工程指导教师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按反馈清零法串接而成。
第一章数字钟的工作原理第一节介绍20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品跟新换代的节奏也越来越快。
数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,节省了电能。
因此在许多电子设备中被广泛使用。
数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。
通过设计加深对刚刚学习了的数字电子技术的认识。
本次设计以数字电子为主,分别对一秒信号源、秒计时显示、分计时显示、小时计时显示、整点报时及校时电路进行设计,然后将它们组合来完成时、分、秒的显示并且具有整点报时和走时校时的功能。
并通过本场设计加深对数字电子技术的理解以及更熟练是有计数器、触发起和各种逻辑门电路的能力。
电路主要使用集成计数器,例如74LS160、CD4518、译码集成电路,例如CD4511、LED数码管及各种门电路和基本的触发器等,电路使用5号电池供电,很合适在日常生活中使用。
第二节设计方案论证方案一:采用小规模集成电路实现采用集成逻辑电路设计具有能实现,时分秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。
方案二:EDA技术实现采用EDA作为主控制外围电路进行电压,时钟控制键盘和LED控制,此方案逻辑电路复杂,且灵活性较低,不利于各种功能的扩展,在对电路进行检测比较困难。
方案三:单片机编程实现在按键较少的情况下,采用独立式4个按键,经软件设计指定的I/O 口,送出逻辑电平,控制数码管显示,根据数字电子钟的设计要求与原理以及特性,本系统采用单片机AT89C52串口输出的形式来设计电路,使功能及效果更完美。
一、产品概述1.1产品介绍1.2主要特点1)中文语音报时功能,清晰准确;2)万年历功能,显示年、月、日;3)小闹钟功能,可设置多个闹钟;4)光感传感器,自动调节亮度;5)记忆功能,保留设置时钟信息。
二、产品外观2.1主机外观该电子报时器万年历床头电子小闹钟外观小巧玲珑,简约大方。
主机采用高质量塑料材料制作,表面涂有耐磨的亮面漆,光滑且易于清洁。
2.2显示屏该产品配有2.8寸高清彩色显示屏,能够清晰显示时间、日期以及相关设置信息。
显示屏的背光采用LED灯源,保证观察时间的清晰度,同时根据环境光线自动调节亮度。
三、产品功能3.1报时功能该电子报时器万年历床头电子小闹钟为用户提供准确的时间信息。
通过设置,每整点、半点、1分钟、5分钟或10分钟,都会发出中文语音报时。
用户也可以根据需要,选择关闭或开启报时功能。
3.2万年历功能万年历功能能够显示当前的年、月、日信息。
通过操作按钮,用户可以切换显示的日期信息,确保了准确的时间参考。
3.3小闹钟功能该产品配有多个小闹钟功能,用户可根据个人需求设置不同时间的闹钟,以提醒重要的事情。
每个闹钟都可以单独设置时间和日期,同时还可以设置闹钟的音量。
3.4光感传感器为了满足用户的不同需求,该产品采用了光感传感器。
根据环境光线的变化,自动调节背光的亮度,保证在不同光照条件下的清晰可见度。
3.5记忆功能产品具备记忆功能,可以保留设置的时钟信息。
即使断电或者关闭产品,再次打开时,之前设置的时间和日期信息仍然可以保留,方便用户的使用。
四、使用说明4.1电源该产品采用AC220V电源供电,用户只需将电源线插入家庭电源插座即可。
4.2设置时间和日期在产品的底部设置区,有相关的设置按钮,用户可以通过长按或短按不同的按钮进行设置时间和日期。
具体操作流程,请参照产品附带的说明书。
4.3设置报时功能用户可以根据个人需求设置报时功能,并选择报时的时间间隔。
同时还可以设置报时的音量大小。
具体操作流程,请参照产品附带的说明书。
物理与电子工程学院课程设计题目:数字电子钟专业电子信息工程班级12级电信三班学号学生姓名李长炳指导教师张小英张艳完成日期:2013 年7月数字电子钟前言:数字钟是一个将“时”、“分”、“秒’’显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时闹铃等功能。
一、基本原理主体电路1.1 振荡电路晶体振荡器的作用是产生时间标准信号。
我采用由门电路或555定时器构成的多谐振荡器作为时间标准信号源。
本系统中的振荡电路选用555定时器构成的多谐振荡器,见图1。
多谐振荡器的振荡频率可由式估算。
2图11.2 时、分、秒显示电路模块设计①秒的产生采用74LS160产生60进制的加法计数器,输出端Q0,Q1,Q2,Q3分别接到七段数码管的相应的各端,由上图的555产生的秒脉冲链接秒的两个160的cp,第一片的进位来控制第二片的EP,ET来构成秒。
如下图所示图2注意:两个CP都是连接到555的输出。
4②分的产生采用74LS160产生60进制的加法计数器,输出端Q0,Q1,Q2,Q3分别接到七段数码管的相应的各端,由上图的秒产生的进位连接秒的两个160的cp,第一片的进位来控制第二片的EP,ET来构成秒。
如下图所示图3注意:两个CP都是连接的秒的进位的输出。
③小时的产生采用74LS160产生24进制的加法计数器,输出端Q0,Q1,Q2,Q3分别接到七段数码管的相应的各端,由上图的分产生的进位连接秒的两个160的cp,第一片的进位来控制第二片的EP,ET来构成秒。
如下图所示图4注意:两个CP都是连接的秒的进位的输出。
61.3闹钟我设置的闹钟是00:03响的。
会响一分钟,采用与非门和或门组成的电路。
可以得出以下的电路图当达到00:03时就开始响,当不是00:03是就停止了,喇叭一端节地。
仿真图如下所示。
图51.4整点报时整点报时就是当达到了整点的时候就开始响,我设计的是响10秒钟的报时。
多功能旋转电子钟安装调试说明功能说明:1.本旋转LED电子钟采用STC89C52单片机作为控制芯片,DS1302时钟芯片为走时依据,确保了走时的精确度。
24小时制走时,60个发光二极管模拟石英钟的秒针走时,一秒亮一个,60秒走完一圈,走完一圈则分钟位数码管加1,时时同步。
主数码管为4位时钟数码管,显示时、分,结合功能按键,可显示闹钟时间和实时温度(需加装18B20);3个2位数码管分别显示年、月、日;1个1位数码管显示星期。
2.整点报时功能,每天7-20点整点报时,报时时蜂鸣器响,同时秒灯高速旋转。
3.有一路闹钟功能,开机闹钟默认关闭。
S3为闹钟的开关键。
默认闹钟时间为6:35。
闹钟响时为30秒钟。
4.掉电继续走时,数码管不显示。
来电时间继续走时,不用调整。
按键功能说明:1.S1键为调整按键。
开机显示时分00:08。
首次使用一定要启动时钟芯片走时,不然时钟一直为00:08,不走时。
按S1键一次,时位数码管闪烁,这时按S2数值加1,按S3数值会减1。
再按一次S1键,分位数码管闪烁,同理按S2,S3键来调整分的时间。
调整完后分数码管还在闪烁,同理再按S1(S2、S3),分别调整年、月、日、星期,调整完后再按S1一次(或等待5秒),进入走时状态。
2.S2键为时间、闹钟、温度(安装18B20)切换键。
正常显示时间模式下,按S2一次则可显示闹钟时间,按二次显示当前温度(如29.6C),按第三次则显示正常显示模式(即走时时间)。
在显示闹钟时,按S1键一次则闹钟的时位数码管会闪烁,这时可以按S2和S3键时行调整。
按S1键二次则闹钟的分位数码管会闪烁,同理可按S2和S3键进行闹钟时间调整。
3.S3为闹钟的开关键。
正常显示时间模式下,按S3键一次则打开闹钟,同时红色指示灯(D73) 点亮,按二次则关闭闹钟,同时关闭红色指示灯(D73)。
安装简单说明:先安装体积小的器件,如电阻、贴片芯片,集成芯片,再安装较大体积元件,如三极管、电容等。
总结设计报告数字钟2017-3-16自动化B设计内容简介数字钟的主要由74160计数器、7447译码器和显示电路来实现基本功能,而校时、整点报时、秒表和闹钟电路实现其扩展功能。
整个电路的秒脉冲(即1HZ)由事先封装好的分频电路产生,秒脉冲送入74160计数器,‘秒’‘分’‘时’的计数器分别送到对应的译码器,然后再将信号送到显示电路显示时间。
本次数字钟的设计计时周期为24小时制,显示满刻度为23时59分59秒,星期显示方面为周一~周六+周日。
扩展功能的校时电路为自动校时,在校准‘分’‘时’显示后,可以在这个数的基础上继续运行,在整点报时功能中,当数字钟运行至整点前4秒时(例:23时59分56秒)即开始报时,持续5秒后停止,整点报时功能不可手动关闭。
秒表功能方面,设计给定脉冲为100HZ,为4位显示,最大设计计时为60.99秒,可以手动暂停/开始和清零。
最后是闹钟功能,闹钟设计响应时间为60秒,并且可以手动开启/关闭闹钟。
设计框图单元模块设计一、‘秒’电路秒电路由两片74161计数器加秒脉冲来实现60进制的计数,再通过两片7447译码器将信号给到显示模块来实现秒的功能。
二、‘分’电路‘分’电路和秒电路一样为60进制,由两片74160计数器和秒进位脉冲来实现分功能,再由7447译码器将信号给至显示电路三、‘时’电路‘时’电路和‘秒’‘分’电路有所不同,‘时’电路为24进制,可由两片74160计数器和分进位脉冲实现‘时’功能,再由译码器将信号给显示电路。
四、星期电路基本功能中星期显示最为复杂,因为计数器默认初始值为0,可能导致下载至实验箱初始星期显示为0,另外根据要求需显示星期一、二、三、四、五、六、日,又加大了星期电路的设计难度,为解决上述问题,此处采用逻辑门通过一些逻辑关系来实现星期功能。
QD QC QB QA D C B A(0)0 0 0 0 0 0 0 1 (1)(1)0 0 0 1 0 0 1 0 (2)(2)0 0 1 0 0 0 1 1 (3)(3)0 0 1 1 0 1 0 0 (4)(4)0 1 0 0 0 1 0 1 (5)(5)0 1 0 1 0 1 1 0 (6)(6)0 1 1 0 1 0 0 0 (8)通过真值表对应的关系,画出卡诺图,化简得到A、B、C、D与QA、QB、QC、QD对应的逻辑关系,虽然逻辑电路比较复杂,但是很好的解决了计数器默认初始值为0导致星期显示存在0的情况,并且实现了周六到周日到周一的完美跳转。
目录1 绪论 (1)2 设计主体 (1)2.1 振荡器 (1)2.1.1 555定时器的电路结构及工作原理 (2)2.1.2 用555定时器构成多谐振荡器 (4)2.2 分频器 (5)2.3 校正电路 (6)2.3.1 校“秒”电路 (7)2.3.2 校“分”电路 (7)2.3.3 校“时”电路 (8)2.4 整点报时电路 (8)2.5 计数器、译码器和显示器 (9)3 心得体会 (10)参考文献 (12)具有整点报时功能的数字钟1 绪论数字钟是集模拟技术与数字技术为一体的一种综合应用。
数字钟与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用,数字电子钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序逻辑电路。
此次设计数字电子钟是为了了解数字电子钟的原理,从而学会制作数字电子钟,而且通过数字电子钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实现方法,且由于数字电子钟电路包括组合逻辑电路和时序逻辑电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
2 设计主体数字钟是用计数器、译码器和显示器等集成电路实现“时”、“分”、“秒”按照数字方式显示的计数装置,主要由振荡器、分频器、校正电路、计数器、译码器和显示器六部分组成,如框图2-1所示。
图2-1 数字钟框图2.1 振荡器振荡器是数字钟的核心。
振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路,也可以选择555定时器。
我在这里选择的是555定时器。
555定时器是一种应用极为广泛的中规模集成电路,因集成电路内部含有3个5KΩ电阻而得名。
该电路使用灵活、方便,只需接少量的阻容元件就可以构成施密特触发器、单稳态触发器和多谐振荡器,且价格便宜。
555定时器广泛应用于信号的产生、变换、控制与检测。
目前生产的555定时器有双极型和CMOS两种类型,主要厂商生产的产品有NE555、FX555、LM555和C7555等,它们的结构和工作原理大同小异,引出线也基本相同,有的还有双电路封装,称为556。
智能电子钟用户手册2023欢迎使用智能电子钟!本用户手册将详细介绍如何正确使用和操作您的智能电子钟,以确保您能够充分利用其功能和特性。
请仔细阅读以下内容,并按照说明进行操作。
1. 产品介绍智能电子钟是一款集时钟、闹钟、温度显示、语音助手等多功能于一体的智能设备。
它不仅具备准确的时间显示功能,还能提供定时闹铃、温度监测等实用功能,以及语音助手让您更方便地操作。
2. 功能操作2.1 时间设置智能电子钟具有自动对时功能,接通电源后会自动对准确时间进行同步。
如果需要手动设置时间,可按照以下步骤操作:- 进入设置界面,选择时间设置选项。
- 通过方向键或触摸屏进行时间的调整。
- 确认设置并退出。
2.2 闹铃设置智能电子钟提供多个闹铃设置,您可以根据需要设置多个不同的闹铃时间。
设置步骤如下:- 进入设置界面,选择闹铃设置选项。
- 通过方向键或触摸屏选择添加闹铃或编辑已有闹铃。
- 设置闹铃时间和重复模式。
- 退出设置。
2.3 温度显示智能电子钟可以实时显示室内温度,您可以随时了解当前的温度情况。
温度显示默认为摄氏度,您也可以根据需要切换到华氏度。
3. 语音助手智能电子钟内置了语音助手功能,您可以通过语音与时钟进行交互和操作。
声控唤醒命令为“Hi Clock”,之后可以进行相应的指令,例如调整时间、设置闹铃等。
4. 其他功能除了以上介绍的主要功能外,智能电子钟还具备一些其他实用的功能,例如闹钟震动、自动亮度调节等,您可以在设置界面进行相应设置。
5. 注意事项为了确保您正常使用智能电子钟,以下事项需要特别注意:- 请按照说明书中的操作步骤进行操作,以免造成不必要的困扰。
- 请注意防止智能电子钟受到水或其他液体的浸泡,以免损坏内部电子元件。
- 请避免将智能电子钟暴露在高温、潮湿或尘埃较多的环境中,以免影响正常使用或导致损坏。
感谢您阅读本智能电子钟用户手册,希望以上内容能够帮助您更好地使用和操作智能电子钟。
如有任何疑问或问题,请随时联系我们的客服人员,我们将竭诚为您提供帮助。
带整点报时功能的电子时钟题目要求:显示时、分、秒,打开电源时,应当显示的数据为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、通过这次课程设计,加强了我们动手、思考和解决问题的能力。
在整个设计过程中,我们通过这个方案包括设计了一套电路原理和pcb连接图,和芯片上的选择。
2、在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。
3、我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。
4、本系统最初只是采用一个单片机进行控制,但是考虑了时间显示和音乐放都需要进行查表指令,而且时间显示的计算是采用单片机的内部资料进行计算,为了避免音乐播放对时间显示准确度的影响,故采用两块单片机进行设计。
五、参考文献刘焕成,《工程背景下的单片机原理及系统设计》[M],北京:清华大学出版社,2008.4吴晓苏,张中明,《单片机原理与接口技术》[M],北京:人民邮电出版社,2009.5赵景波,向华,《Protel 99 SE应用与实例教程》[M005D,北京:人民邮电出版社,2009.3附录:程序清单音乐程序:ORG 0000HLJMP STARTORG 000BHINC 20H ;中断服务,中断计数器加1MOV TH0,#0D8HMOV TL0,#0EFH ;形成10毫秒中断RETISTART:SETB P1.3JB P0.3,$MOV SP,#50HMOV TH0,#0D8HMOV TL0,#0EFHMOV TMOD,#01HMOV IE,#82HMUSIC0:NOPMOV DPTR,#DAT ;表头地址送DPTRMOV 20H,#00H ;中断计数器清0MOV B,#00H ;表序号清0MUSIC1:NOPCLR AMOVC A,@A+DPTR ;查表取代码JZ END0 ;是00H,则结束CJNE A,#0FFH,MUSIC5LJMP MUSIC3MUSIC5:NOPMOV R6,AINC DPTRMOV A,BMOVC A,@A+DPTR ;取节拍代码送R7MOV R7,ASETB TR0 ;启动计数MUSIC2:NOPCPL P1.3MOV A,R6MOV R3,ALCALL DELMOV A,R7CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?;不等,则继续循环MOV 20H,#00H ;等于,则取下一代码INC DPTR; INC BLJMP MUSIC1MUSIC3:NOPCLR TR0 ;休止100毫秒MOV R2,#0DHMUSIC4:NOPMOV R3,#0FFHLCALL DELDJNZ R2,MUSIC4INC DPTRLJMP MUSIC1END0:NOPMOV R2,#64HLJMP START;歌曲结束,返回MUSIC6:MOV R3,#00HLCALL DELDJNZ R2,MUSIC6LJMP MUSIC0DEL:NOPDEL3:MOV R4,#02HDEL4:NOPDJNZ R4,DEL4NOPDJNZ R3,DEL3RETNOPDA T:db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10hdb 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20hdb 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20hdb 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20hdb 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10hdb 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80hdb 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20hdb 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20hdb 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10hdb 20h,10h,2bh,10h,26h,30h,30h,80h,00HEND时钟程序:ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 001BH ;外中断1中断程序入口LJMP INTT1 ;跳至INTT1执行;主程序START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;CLEARDISP: MOV @R0,#00H ;INC R0 ;DJNZ R7,CLEARDISP ;MOV 20H,#00H ;清20H(标志用)MOV 7AH,#0AH ;放入"熄灭符"数据MOV TMOD,#11H ;设T0、T1为16位定时器MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值SETB EA ;总中断开放SETB ET0 ;允许T0中断SETB TR0 ;开启T0定时器MOV R4,#14H ;1秒定时用初值(50MS×20)START1: LCALL DISPLAY ;调用显示子程序JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1SETMM1:LJMP SETMM ;转到时间调整程序SETMM; 1秒计时程序;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET0 ;关T0中断允许CLR TR0 ;关闭定时器T0MOV A,#0B7H ;中断响应时间同步修正ADD A,TL0 ;低8位初值修正MOV TL0,A ;重装初值(低8位修正值)MOV A,#3CH ;高8位初值修正ADDC A,TH0 ;MOV TH0,A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值MOV R0,#71H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3 ;秒数据放入A(R3为2位十进制数组)CLR C ;清进位标志CJNE A,#60H,ADDMM ;ADDMM: JC OUTT0 ;小于60秒时中断退出ACALL CLR0 ;大于或等于60秒时对秒计时单元清0MOV R0,#77H ;指向分计时单元(76H-77H)ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH ;ADDHH: JC OUTT0 ;小于60分时中断退出ACALL CLR0 ;大于或等于60分时分计时单元清0MOV R0,#79HCLR P0.2 ;指向小时计时单元(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR CSETB P0.2 ;清进位标志CJNE A,#24H,HOUR ;HOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0 OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78H ;MOV 75H,79H ;POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回;闪动调时程序;T1中断服务程序,用作时间调整时调整单元闪烁指示INTT1: PUSH ACC ;中断现场保护PUSH PSW ;MOV TL1, #0B0H ;装定时器T1定时初值MOV TH1, #3CH ;DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)MOV R2,#06H ;重装0.3秒定时用初值CPL 02H ;0.3秒定时到对闪烁标志取反JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV 72H,76H ;02H位为0时正常显示MOV 73H,77H ;MOV 74H,78H ;MOV 75H,79H ;INTT1OUT: POP PSW ;恢复现场POP ACC ;RETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据MOV 74H,78H ;MOV 75H,79H ;AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示MOV 74H,7AH ;MOV 75H,7AH ;AJMP INTT1OUT ;转中断退出;加1子程序ADD1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SW AP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SW AP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回清零程序;对计时单元复零用CLR0: CLR A ;清累加器MOV @R0,A ;清当前地址单元DEC R0 ;指向前一地址MOV @R0,A ;前一地址单元清0RET ;子程序返回;时钟调整程序;;;当调时按键按下时进入此程序SETMM: cLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序JB P3.7,CLOSEDIS ;按下小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待SETB 00H ;键释放,分调整闪烁标志置1 SET4: JB P3.7,SET3 ;等待键按下LCALL DL05S ;有键按下,延时0.5秒JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态MOV R0,#77H ;按下时间小于0.5秒加1分钟操作LCALL ADD1 ;调用加1子程序MOV A,R3 ;取调整单元数据CLR C ;清进位标志CJNE A,#60H,HHH ;调整单元数据与60比较HHH: JC SET4 ;调整单元数据小于60转SET4循环LCALL CLR0 ;调整单元数据大于或等于60时清0CLR C ;清进位标志AJMP SET4 ;跳转到SET4循环CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。