时钟计时器
- 格式:doc
- 大小:345.00 KB
- 文档页数:27
计时器知识点总结计时器的基本原理计时器的基本原理是利用某种稳定的事件信号,如机械振荡、电子振荡、光学信号等,进行时间测量。
在机械计时器中,通常使用摆轮、发条或弹簧进行振荡,而在电子计时器中,通常使用晶振或电容进行振荡。
当一个事件信号发生时,计时器开始计时,并在另一个事件信号发生时停止计时,从而得到时间间隔。
不同类型的计时器根据使用的原理和材料,计时器可以分为多种类型。
常见的计时器类型包括:1. 机械计时器:机械计时器是使用机械部件进行时间测量的计时器,如钟表、蒸汽钟、石英钟等。
它们通常使用齿轮、摆轮、发条等机械结构进行振荡和计时,精度较低,但结构简单,可靠性高。
2. 电子计时器:电子计时器是使用电子元件进行时间测量的计时器,如晶振计时器、计数器、定时器等。
它们通常使用晶振、电容、集成电路等电子元件进行振荡和计时,精度较高,但需要外部电源供电。
3. 光学计时器:光学计时器是使用光学信号进行时间测量的计时器,如激光测距计、光电计时器等。
它们通常使用激光、光电传感器、光学仪器等光学元件进行测量,可实现高精度的时间测量。
4. 计算型计时器:计算型计时器是使用计算机进行时间测量的计时器,如软件计时器、在线计时器等。
它们通常使用计算机软件或网络服务进行时间测量,可以实现自动计时、远程计时、多人计时等功能。
计时器的应用计时器在日常生活和各行各业中有着广泛的应用,包括科学实验、运动比赛、生产加工、游戏娱乐等领域。
常见的计时器应用包括:1. 实验测时:科学实验、医学检测、工程测试等领域需要精确的时间测量,计时器可以提供准确、可靠的时间服务。
2. 运动计时:体育比赛、游戏竞赛、健身训练等活动需要精确的计时服务,计时器可以实现秒表计时、倒计时、计次累计等功能。
3. 生产加工:工业生产、机械加工、设备运行等领域需要精确的生产周期、加工时间、设备运行时间等信息,计时器可以提供自动、可视化的计时服务。
4. 日常生活:厨房烹饪、家务劳动、学习工作等日常活动需要精确的时间管理,计时器可以提供方便、实用的计时服务。
电子计时器工作原理电子计时器是一种广泛应用于各种场合的时间测量装置。
它能够精确地计算和显示时间,广泛应用于家用电器、工业设备和科学实验等领域。
本文将介绍电子计时器的工作原理及其相关技术。
一、计时器的组成部分电子计时器通常由以下几个主要组成部分构成:1.时钟模块:时钟模块是计时器的核心组件之一,它提供基准信号来驱动计时器的计数和显示功能。
常用的时钟模块包括晶体振荡器、定时器芯片等。
2.计数器:计数器用于记录经过的时间,并将其转换为可以显示的形式。
计数器通常使用二进制计数系统,它可以按照设定的时间单位进行计数。
3.显示器:显示器用于将计数器记录的时间以可视化的方式呈现出来。
常见的显示器包括数码管、液晶显示屏等。
4.控制器:控制器用于控制计时器的启动、停止和复位等功能。
它通常由一个微控制器或专用的控制芯片来实现。
二、电子计时器的工作原理电子计时器的工作原理可以简单概括为以下几个步骤:1.时钟信号生成:时钟模块产生一个稳定的时钟信号,作为计时器的时间基准。
这个时钟信号可以通过晶体振荡器来产生,晶体振荡器通常采用石英晶体作为振荡元件。
2.计数功能实现:计数器对时钟信号进行计数,并将计数结果存储在内部存储器中。
计数器根据设定的时间单位,例如秒、分、时,来决定每次计数的步长。
3.显示功能呈现:显示器将计数器中存储的时间数据进行解码,并以可视化的形式呈现出来。
数码管将数字信号转换为具体的数字显示,液晶显示屏则使用液晶材料和背光源来实现图形或数字的显示。
4.控制功能操作:控制器根据用户的操作,对计时器的启动、停止和复位等功能进行控制。
用户可以通过按钮、旋钮或触摸屏等输入设备来实现对计时器的操作。
5.电源供应:电子计时器通常需要外部电源供应,以提供工作所需的电能。
电源可以是电池、交流电源或直流电源,根据具体的应用场景来选择。
三、电子计时器的应用领域电子计时器在各个领域都得到了广泛的应用,以下是其中几个常见的应用领域:1.家用电器:电子计时器被广泛应用于家用电器中,如微波炉、烤箱、洗衣机等。
时钟计时器课课程设计一、教学目标本课程旨在让学生掌握时钟计时器的基本原理和使用方法,培养学生的动手能力和探究精神。
具体目标如下:1.知识目标:学生能理解时钟计时器的工作原理,掌握常用的时间单位及换算方法。
2.技能目标:学生能熟练操作时钟计时器,进行时间的测量、计算和转换。
3.情感态度价值观目标:学生通过参与实践活动,培养对科学的兴趣和好奇心,增强团队协作意识。
二、教学内容本课程的教学内容分为五个部分:1.时钟计时器的工作原理:介绍时钟计时器的工作原理,包括机械式和电子式时钟计时器的结构及功能。
2.时间单位及换算:学习常用的时间单位(如秒、分钟、小时、天等),掌握时间单位的换算方法。
3.时钟计时器的使用:讲解如何正确使用时钟计时器进行时间的测量、计算和转换。
4.实践操作:分组进行实验,让学生亲自动手操作时钟计时器,加深对知识的理解和运用。
5.拓展与应用:介绍时钟计时器在生活和科技领域中的应用,激发学生的学习兴趣。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解时钟计时器的工作原理、时间单位及换算方法等基础知识。
2.讨论法:分组讨论时钟计时器的使用方法及实践操作中遇到的问题。
3.案例分析法:分析时钟计时器在实际生活中的应用案例,引导学生学以致用。
4.实验法:学生动手操作时钟计时器,进行时间的测量和计算,培养实践能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将采用以下教学资源:1.教材:选用符合课程要求的教材,为学生提供系统、科学的学习材料。
2.参考书:推荐学生阅读与课程相关的参考书,拓展知识面。
3.多媒体资料:利用多媒体课件、视频等资源,生动形象地展示课程内容。
4.实验设备:准备时钟计时器、测量工具等实验设备,确保学生能顺利进行实践操作。
五、教学评估为了全面、客观地评估学生的学习成果,本课程采用以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,记录并给予评价。
计时器电路设计介绍计时器是一种广泛应用于各个领域的电子设备,用于测量时间和计时。
它可以在工业、科学实验、运动比赛等场景中起到非常重要的作用。
在本文中,我们将深入探讨计时器电路的设计原理、常见的电路结构和一些注意事项。
设计原理计时器电路的设计原理基于时钟信号和计数器。
时钟信号是一个周期性变化的信号,可以通过晶体振荡器、RC电路或者外部信号源来提供。
计数器是一个用于计数和存储时间的电子元件,它可以根据时钟信号的输入进行状态变化。
通过将时钟信号输入计数器,我们可以实现对时间的精确测量和计时。
常见的电路结构1. 二进制计数器二进制计数器是最常见的计时器电路之一。
它由多个触发器组成,每个触发器都有两个稳定的状态(0或1)。
当时钟信号的边沿到达时,触发器的状态会根据其输入进行变化。
通过串联多个触发器,我们可以实现更大范围的计数。
2. 时钟分频器时钟分频器是一种用于减小时钟频率的电路。
它可以将高频时钟信号分频为低频时钟信号,以适应特定的应用需求。
时钟分频器通常使用计数器来实现,通过设定计数器的初始值和计数阈值,可以实现不同的分频比。
3. 定时器定时器是一种能够在指定时间间隔内产生触发信号的电路。
它通常由一个计数器和比较器组成。
计数器根据输入的时钟信号进行计数,当计数值达到预设的比较值时,比较器会产生触发信号。
定时器广泛应用于定时开关、闹钟、计时器等场景。
4. 脉冲宽度调制器(PWM)脉冲宽度调制器是一种能够通过调节脉冲信号的宽度来控制输出信号的电路。
它通常由一个计数器和比较器组成。
计数器根据输入的时钟信号进行计数,当计数值小于比较值时,输出信号为高电平;当计数值大于比较值时,输出信号为低电平。
通过调节比较值,可以实现不同占空比的脉冲信号。
设计要点在设计计时器电路时,有一些要点需要注意。
1. 选择合适的计数器根据应用需求选择合适的计数器非常重要。
不同的计数器具有不同的计数范围和精度。
在选择计数器时,需要考虑计数范围是否满足需求、精度是否足够高以及功耗和成本等因素。
AE时钟和计时器动画制作教程在Adobe After Effects(AE)软件中,我们可以轻松地制作各种精美的动画效果,其中之一就是制作时钟和计时器动画。
通过这些动画,我们可以为电影、视频或动画项目增加更加生动和引人注目的元素。
在本教程中,我将向您展示如何使用AE软件制作时钟和计时器动画。
步骤一:准备素材首先,我们需要准备所需的素材。
我们可以在AE软件内使用自带的形状工具创建时钟和计时器的外观。
或者,您也可以导入自己制作的图像或设计,以个性化时钟和计时器的外观。
确保素材是高质量的,具有清晰的细节和适当的大小。
步骤二:创建时钟外观在AE软件中,创建一个新的合成(Composition)。
选择“合成”菜单中的“新建合成”选项,并设置所需的合成尺寸和帧速率。
创建合成后,您可以使用形状工具来绘制时钟的外观。
通过绘制圆形,并在其上添加刻度、指针和数字等细节,来实现时钟的形象。
您还可以使用AE软件提供的形状样式库来添加额外的效果和装饰。
步骤三:添加动画效果在合成中创建时钟外观后,我们可以开始为时钟添加动画效果。
首先,选择时钟上的指针图层,并通过单击“T”键来显示图层的属性,以便您可以修改其旋转属性。
选择“顶部”选项,然后单击“编辑”按钮来设置旋转动画的关键帧。
在关键帧时间轴上设置适当的旋转角度,然后转到另一个时间点,并再次设置旋转角度。
重复此过程,直到您获得所需的旋转效果。
步骤四:添加计时器功能除了时钟的动画效果之外,我们还可以为其添加计时器功能。
在AE软件中,使用表达式来创建一个计时器计数器。
选择时钟的数字图层,并单击“Alt + 左击”数字图层的表达式时钟,在弹出的表达式框中输入以下表达式:var myTime = new Date();myTime.getSeconds();这将使AE软件中的数字图层实时展示当前时间的秒数。
步骤五:渲染和导出动画完成时钟和计时器的设计和动画后,现在可以渲染和导出视频。
中国古代十大计时器介绍资料
1. 铜壶:也称为漏刻,是以漏壶滴水在刻箭上表示出时刻的计时器。
最早的漏壶是沉箭漏,随后发展为四级漏壶,增加了加水漏壶的方法,使计时更加精确。
2. 圭表:由测定表影长度的刻板和测日影的竿子或石柱组成,用于观测太阳射影来定时刻的仪器。
3. 辊弹:唐代僧人文诰发明的计时器,利用流体力学原理,在宽高各三尺的屏风上装贴一根七尺五寸长的竹管,竹管分为四段做成“之”字形,管顶是一朵铜制的莲花。
4. 浑天仪:采用机械传动结构计时,模拟天体运动,是中国古代的浑天说。
5. 水运仪象台:利用水力驱动的大型自动化天文仪器,集天文观测、天文演示和报时系统于一体。
6. 日晷:利用太阳射影方向测定时间的仪器,也称“日规”,是我国创制最古老、使用最熟悉的一种天文仪器。
7. 刻漏:利用滴水和刻度显示时间的计时器,有泄水型和受水型两类,泄水型漏刻中,水从漏壶底部侧面流泄,格叉和关舌上升,使浮在漏壶水面上的漏箭随水面下降。
8. 沙漏:采用流沙代替水流转动的计时仪器。
9. 节气晷:利用太阳投射的影子来测定时刻的仪器,通常又称日晷或阳晷。
10. 香篆:一种以篆香制成计时器,通过燃烧篆香的不同长度或数量来显示时间的计时器。
以上是中国古代的十大计时器介绍资料,这些计时器不仅反映了古代中国人民的智慧和创造力,也对于研究古代文化和科技发展具有重要的意义。
实习报告:时分秒计时器的设计与实现一、实习背景与目的随着现代社会对时间精度要求的不断提高,时分秒计时器作为一种常见的时间测量工具,在各个领域发挥着重要作用。
本次实习旨在通过设计和实现一个时分秒计时器,加深我对时间测量原理的理解,提高我的实际动手能力,培养我的团队协作和问题解决能力。
二、实习内容与过程1. 设计思路在实习开始阶段,我们首先对时分秒计时器的原理进行了深入学习。
通过了解,我们得知时分秒计时器主要由时钟电路、分频电路、计数电路和显示电路组成。
在此基础上,我们提出了以下设计思路:(1)采用一个高精度的晶振作为时钟源,通过分频电路产生秒脉冲信号;(2)利用计数器对秒脉冲信号进行计数,实现秒的测量;(3)通过分频电路将秒脉冲信号分频得到分信号,利用计数器对分信号进行计数,实现分的测量;(4)利用同样的方法实现小时的测量;(5)将计数结果通过显示电路进行显示。
2. 硬件设计根据设计思路,我们开始进行硬件设计。
首先,我们选择了合适的晶振作为时钟源,并设计了分频电路,实现秒脉冲信号的生成。
然后,利用计数器IC1实现秒的测量,计数器IC2实现分的测量,计数器IC3实现小时的测量。
最后,通过七段显示器IC4显示当前的时间。
3. 软件设计为了实现时分秒计时器的功能,我们编写了相应的软件程序。
程序主要分为以下几个部分:(1)初始化部分:对计数器IC1、IC2、IC3和显示器IC4进行初始化设置;(2)秒脉冲处理部分:当秒脉冲信号到来时,对计数器IC1进行加一操作;(3)分脉冲处理部分:当分脉冲信号到来时,对计数器IC2进行加一操作;(4)小时脉冲处理部分:当小时脉冲信号到来时,对计数器IC3进行加一操作;(5)显示部分:将计数器IC1、IC2、IC3的计数结果转换为七段显示码,显示当前的时间。
4. 实习成果经过一段时间的紧张设计与调试,我们成功完成了时分秒计时器的设计与实现。
通过实际测试,该计时器具有较高的时间精度,基本满足了我们的需求。
计时器的组成全文共四篇示例,供读者参考第一篇示例:计时器是一种常见的计时工具,广泛应用于生活和工作中。
它可以帮助我们精确测量时间,进行时间管理,提高效率。
计时器的组成由以下几个部分构成:1. 时钟芯片:计时器的核心部件是时钟芯片,它负责控制计时器的运行和显示时间。
时钟芯片通常由晶振、分频器、时钟信号发生器等组成,能够产生稳定的时钟信号。
2. 显示屏:计时器的显示屏一般有液晶显示屏和LED数码管显示屏两种。
液晶显示屏适合显示更多的信息,而LED数码管显示屏则更加清晰明了。
显示屏显示着计时器所记录的时间信息,让用户可以直观地看到时间的流逝。
3. 功能按键:计时器上通常会有一些功能按键,如开关键、调节键、重置键等。
用户可以通过这些按键来启动计时器、调整计时时长、重置计时器等。
不同的计时器功能键布局可能有所不同,但通常都设计得非常方便实用。
4. 电池或电源接口:计时器一般都需要供电才能正常工作,因此会配备电池或者电源接口。
电池一般会安装在计时器内部,方便更换。
有些计时器还可以直接使用AC电源供电,适用于长时间使用的场合。
5. 外壳和支架:计时器的外壳一般由塑料或者金属材质制成,表面通常经过防滑处理。
部分计时器还会配备支架,可以用来固定或者放置计时器,方便用户操作。
6. 蜂鸣器:有些计时器会配备蜂鸣器,用来提醒用户时间到了或者某个计时事件发生。
蜂鸣器的声音可以调节音量大小,还可以选择不同的提示音效。
7. 其他功能模块:一些高级的计时器还会配备其他功能模块,如计算器功能、闹钟功能、倒计时功能等。
这些额外功能模块可以满足用户更多的需求,提高计时器的实用性和多功能性。
计时器的组成主要包括时钟芯片、显示屏、功能按键、电池或电源接口、外壳和支架、蜂鸣器以及其他功能模块等部件。
这些部件共同协作,构成了一个完整的计时器,为我们的生活和工作带来了便利和效率。
希望通过本文的介绍,大家可以对计时器的组成有更深入的了解。
【注:以上内容仅供参考】。
计时器的演变初一(4)童谣10号远古的人类通过对日月星辰和一年四季变化的观察,逐渐产生了时间的概念。
对时间概念的认识和探究伴随了整个人类的发展历史。
时间同长度一样,也是客观存在的一种量。
随着人类社会科技水平的提高,人们所掌握的计时方法也在不断改进。
下面是几种计时器:1、太阳钟2、漏刻(水钟)3、机械钟表4、石英钟5、铯原子钟测量物体日影在一天当中的变化,是最早为人们所掌握的计时方法。
作为地球自转的反映,太阳日复一日的东升西落,由此产生了地球上物体的影子的移动。
通过观察物体影子长短或者移动过程来计算时间,这就是光影计时原理。
这一原理相对简单,计量工具也不复杂,所以最先被人类掌握。
根据这一原理设计出的计时工具统称为太阳钟。
我国现存最早的圭表实物是在江苏的一座东汉墓葬中出土的一件铜制圭表,它由19.2厘米的表和34.39厘米长的圭构成,圭表合装成一体,携带十分方便。
日晷安放在石台上,呈南高北低,使晷面平行于赤道面,在晷面的正反两面刻划出12个大格,每个大格代表两个小时。
当太阳光照在日晷上时,晷针的影子就会投向晷面,太阳由东向西移动,投向晷面的晷针影子也慢慢地由西向东移动,以此来显示时间。
圭表、日晷等太阳钟操作简易,原理也不复杂,但是它最大的弱点就是在阴雨天气或没有太阳的黑夜是无法使用的,人们就开始寻找其他的计时方法。
于是水钟应运而生。
漏刻的发明是古人受到容器漏水现象启发的结果。
因为水的流失与时间的流逝有着一定的对应关系。
作为计时器,漏刻的使用比日晷更为普遍。
在机械钟表传入中国之前,漏刻也是我国使用最普遍的一种计时器。
西方发现最早的沙漏大约在公元1100年,比我国的沙漏出现要晚。
沙漏也是古代一种计量时间的仪器。
沙漏的制造原理是根据流沙从一个容器漏到另一个容器的数量来计量时间,与漏刻大体相同。
这种采用流沙代替水的方法,是因为北方冬天空气寒冷,水容易结冰的缘故。
接下来是机械钟。
机械钟表的发明和应用是一个较为漫长的过程。
时钟计时器的设计目录1. 引言, (2)1.1. 设计意义 (2)1.2. 系统功能要求 (2)1.3. 本组成员所做的工作 (2)2. 方案设计 (2)3. 硬件设计 (3)4. 软件设计 (5)5. 系统调试 (7)6. 设计总结 (8)7. 附录A;源程序 ....................... 错误!未定义书签。
8. 附录B;作品实物图片.................. 错误!未定义书签。
9. 参考文献.............................. 错误!未定义书签。
时钟计时器的设计1.引言1.1. 设计意义时钟计时器在现在应用场合非常的广泛,近年来,随着科学技术的进步和时代的发展,人们对时钟的功能和精度提出了越来越高的要求,各种时钟的设计也越来越重要。
秒表/时钟计时器是在一种计时器上实现两种基本功能的一种器件。
它广泛应用于各种场所,同时,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化,而受到广大消费者的喜爱引言近年来随着计算机技术的飞速发展,计算机也正式形成了通用计算机系统和嵌入式计算机系统二个分支。
单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、仪器仪表、工业控制单元以及通信产品中,成为现代电子系统中最重要的智能化工具。
同时数模电技术、微电子技术也快速发展使得大量集成芯片出现,从而实现很多简单功能代替了原来的模拟电路。
这样利用单片机、集成芯片和电子电路就可以很方便的进行设计,其中最典型、现在应用也很多的就是电子产品的设计。
本设计就是利用单片机技术将秒表和时钟两种计时器的功能集中到一种计时装置上,从而实现计时器功能的集成化,使其使用起来更加方便。
本设计的一大特点就是在硬件设计中采用实时时钟芯片来实现计时,大大简化了硬件电路,从而使设计更加简便易行。
1.2. 系统功能要求时钟计时器要求用单片机及6位数码管显示时,分,秒,以24小时计时方式运行,能整点提醒(但蜂鸣器,次数代表整点时间),使用按键开关可实现时,分调整,秒表|时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)的歌功能。
摘要本设计为时钟计时器,用AT89C52单片机及6位7段共阳LED数码管显示时、分、秒,以24小时计时方式运行,能整点提醒(蜂鸣),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)的功能。
采用11.597MHZ 的晶振,能提高秒计时的精确性。
选用的是动态扫描法来实现LED的显示。
程序较为复杂:有主调用程序;计时及秒表中断程序;显示子程序;调时与秒表功能程序以及闹钟时间设定程序。
关键词:AT89C52;7段共阳极LED;蜂鸣。
目录设计要求 (1)1. 方案论证与对比 (1)2. 单元电路的设计 (2)2.1 LED显示电路的设计 (2)2.2 蜂鸣器电路 (2)2.3 复位电路 (2)3. 系统程序的设计 (3)3.1 主程序 (3)3.2 显示子程序 (3)3.3 定时器T0中断服务程序 (4)3.4 定时器T1中断服务程序 (4)3.5 调时功能程序 (5)3.6 秒表功能程序 (5)3.7 闹钟时间设定功能程序 (5)4. 调试 (6)4.1 硬件调试 (6)4.2 软件调试 (6)5. 详细仪器清单 (7)6. 总结及致谢 (8)6.1 总结 (8)6.2 致谢 (8)参考文献 (9)附录一时钟计时器系统电路图 (10)附录二时钟计时器源程序 (11)时钟计时器的设计设计要求:时钟计时器要求用单片机及6位LED 数码显示时、分、秒,以24小时计时方式运行,能整点提醒(蜂鸣),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒的功能。
1. 方案论证与对比为了实现LED 显示器的数字显示,可以采用静态扫描和动态扫描显示法两种,但由于静态显示法需要数据锁存器的硬件,接口较复杂,且本设计只要求显示6位,系统也没有其他复杂处理任务,所以决定采用动态扫描法莱实现LED 的显示。
时钟计时器采用AT89C52单片机最小化应用设计;P1口输出段码数据;P3.0~P3.5作列扫描输出;P2.5、P2.6和P2.7接按钮开关,用于调时及功能设置;P2.4接5V 的小蜂鸣器,用于定时提醒和整点到时提醒等;采用11.597MHZ 的晶振。
时钟计时器硬件系统的总体原理框图如图1所示:单片机控制器列驱动6位LED 显示器按键开关蜂鸣器AT89C52P1P3图1 硬件系统的总体设计框图2. 单元电路的设计2.1 LED 显示电路的设计本设计采用6个7段共阳极LED 显示器,用三极管作电源驱动输出为共阳LED 数码管的列扫描提供驱动电压。
如图2所示:A 1f 2g 3e 4d 5A6c 8DP7b 9a 10D1Dpy Green-CAA 1f 2g 3e 4d 5A6c 8DP7b 9a 10D2Dpy Green-CAA 1f 2g 3e 4d 5A6c 8DP7b 9a 10D3Dpy Green-CAA 1f 2g 3e 4d 5A6c 8DP7b 9a 10D4Dpy Green-CAA 1f 2g 3e 4d 5A6c 8DP7b 9a 10D5Dpy Green-CAA 1f 2g 3e 4d 5A6c 8DP7b 9a 10D6Dpy Green-CAQ1PNP9015Q2PNP9015Q3PNP9015Q4PNP9015Q5PNP9015Q6PNP9015VCC1KR31KR41KR61KR51KR71KR8图2 LED 显示电路图2.2 蜂鸣器电路本设计的蜂鸣器电路如图3所示:U11BellJ211KR2910ΩR22Q8VCC图3 蜂鸣器电路2.3 复位电路复位电路如图4所示:S1SW-PB2.2uFC1VCC1KR1图4 复位电路3. 系统程序的设计3.1 主程序本设计中计时采用定时器T0中断完成,秒表使用定时器T1中断完成。
主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序。
其主程序执行流程如图5所示:初始化开始调用显示子程序进入功能程序键按下?整点到?按时间鸣叫次数N NYY图5 主程序流程图3.2 显示子程序时间显示子程序每次显示6个连续内存单元的十进制BCD 码数据,首地址在调用显示程序时先指定。
内存中50H~55H 为闹钟定时单元,60H~65H 为秒表计时单元,70H~75H 为时钟显示单元。
显示时,先取出内存地址中的数据,然后查得对应的显示用短码从P1口输出,P3口将对应的数码管选中供电,就能显示该地址单元的数据值。
为了显示小数点及“—”等特殊字符,在显示班级和计时时应采用不同的显示子程序。
3.3 定时器T0中断服务程序定时器T0用于时间计时。
定时溢出中断周期设为50ms ,中断进入后先进行定时中断初值校正,当中断累计20次(即50ms*20=1s )时,对秒计数单元进行加1操作。
时钟计数单元地址分别在70H~71H (秒)、76H~77H (分)、78H~79H(时)中,最大计时值为23时59分59秒。
7AH 单元存放“熄灭符”数据(#0AH ),用于时间调整时的闪烁功能。
在计数单元中,采用十进制BCD 码计数,满10进位。
T0中断计时程序流程图如图6所示:T0中断保护现场定时初值校正1s 到?加1s 处理恢复现场,中断返回Y N图6 T0中断计时程序流程图3.4 定时器T1中断服务程序T1中断程序用于指示时间调整单元数字的闪亮或秒表计数,在时间调整状态下,每过0.3s 左右,将对应调整单元的显示数据换成“熄灭符”数据。
这样,在调整时间时,对应调整单元的显示数据会间隔闪亮。
在秒表计数时,每10ms 中断1次 ,计数单元加1,每100次为1s 。
秒表计数单元地址在60H~61H (10毫秒)、62H~63H(秒)、64H~65H(分)中,最大计数值为99分59.99秒。
T1中断服务程序流程图如图7所示:T1中断保护现场秒表/闪烁?闪烁处理加10ms 处理恢复现场,中断返回秒表时钟调时闪烁图7 T1中断服务程序流程图3.5 调时功能程序调时功能程序的设计方法是:按下P2.5按键,若按下时间小于1s ,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作。
此时计时器停止走动。
当再按下P2.5口按键时,若按下时间小于0.5s ,则时间加1分(钟);若按下时间大于0.5s ,则进入小时调整状态。
按下P2.6可进行减1调整。
在小时调整状态下,当按键按下时间大于0.5s 时,退出调整状态,时钟从0s 开始计时。
3.6 秒表功能程序在正常时钟状态下,若按下P2.6口按键,则进行时钟/秒表显示功能的转换,秒表中断计时程序启动,显示首地址改为60H ,LED 将显示秒表计时单元60H~65H 中的数据。
按下P2.7口按键,可实现秒表清0、秒表启动、秒表暂停功能;当再按下P2.6口按键,关闭T1秒表中断计时,显示首地址又改为70H ,恢复正常时间显示功能。
3.7 闹钟时间设定功能程序在正常时钟状态下按下P2.5口的按键开关,进入设定闹钟调分状态,显示首地址改为50H 。
LED 将显示50H~55H 中的闹钟设定时间,显示式样为00:00:—,其中高2位代表时,低2位代表分,在定时闹铃时精确到分。
按P2.7分加1,按P2.5分减1。
再按P2.6口开关,进入时调整状态,显示式样为00:00:—0;再按P2.7时加1按P2.5时减1。
再按下P2.6口退出闹钟设定状态,恢复正常时间显示。
在闹铃是,可按下P2.5键使蜂鸣停止。
4.调试4.1硬件调试先检查了电路板焊接情况,然后上电用万用表测试了各个芯片及二极管电压,开始电源指示灯不亮,然后发现跳帽没装,装上后指示灯亮,各个器件都没有问题。
再下载了几个调试程序到单片机中,看是否能够装载运行程序,结果是都能产生想要的现象。
4.2软件调试在软件调试工具Keil C51中编译连接源程序,生成HEX文件,下载到单片机中,打开电源开关,数码管显示日期班级学号,然后从0开始计时,开始调试闹钟是始终没有反应,仔细检查了一下后发现蜂鸣器接入电路要装跳帽,装上后程序调试成功。
5.详细仪器清单表格1 仪器清单仪器名称数量AT89C52单片机芯片 1 7段共阳数码管 61K电阻8680Ω电阻8三极管 610Ω电阻 111.597MHZ晶振 1蜂鸣器 130pF电容 22.2uF电容 1按键开关 66.总结及致谢6.1 总结这次的单片机课程设计让我更深入的理解了单片机的应用及汇编语言编程,这过程中有很多困难,先是电路元件必须焊接正确,有一个电容正负级焊反了;放置芯片时要注意保护引脚,我的一个芯片断了一只脚;然后是程序太复杂……有问题也有收获,通过自己设计时钟计时器,把知识运用于实践,锻炼了动手能力,为以后工作奠定坚实的基础。
6.2 致谢在这次课程设计中受到了很多老师与同学的帮助,我们的任课老师们对我们细心教导,耐心讲解,及时解决设计过程中遇到的困难,给我们领器件,讲程序原理。
同学帮忙检查调试板子,老师忙不过来时就问同学,在这过程中互助让我们更加团结。
我要感谢辛苦的老师们,感谢友爱的同学,感谢系里给我们动手实践的机会。
参考文献[1] 张鑫.单片机原理及应用.[M].北京:电子工业出版社,2005.[2] 楼然苗,李光飞.单片机课程设计指导.[C].北京:北京航空航天大学出版社,2007[3] 汪敏,周鹏.单片机实验与实践. 北京航空航天大学出版社,2007.7[4] 张鑫,陈书谦.单片机原理及运用. 电子工业出版社,2005.8[5] 李广第.单片机基础.第一版.北京航空航天大学出版社,1997.7附录一时钟计时器系统电路图其系统硬件电路如图8所示:图8 秒表/时钟计时器电路原理图附录二时钟计时器源程序DISPFIRST EQU 30H ;显示首址存放单元BELL EQU P2.4 ;小喇叭CONBS EQU 2FH ;存放报时次数ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外中断1中断程序入口RETI ;外中断1中断返回ORG 001BH ;定时器T1中断程序入口LJMP INTT1 ;跳至INTT1执行ORG 0023H ;串行中断程序入口地址RETI ;串行中断程序返回;****************************************;; 以下程序开始;;;****************************************;整点报时用QQQQ: MOV A,#10HMOV B,79HMUL ABADD A,78HMOV CONBS,ABSLOOP: LCALL DS20MSLCALL DL1SLCALL DL1SLCALL DL1SDJNZ CONBS,BSLOOPCLR 08H ;清整点报时标志AJMP START1;****************************************;; 主程序开始;;;****************************************START: LCALL ST ;上电显示年月日及班级学号MOV R0,#00H ;清00H-7FH内存单元MOV R7,#80HCLEARDISP: MOV @R0,#00HINC 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)MOV DISPFIRST,#70H ;显示单元为70-75HSTART1: LCALL DISPLAY ;调用显示子程序MOV P2,#0f7HJNB P2.5,SETMM1 ;P2.5口为0时转时间调整程序JB P2.6, jiLCALL FUNSSji: JNB P2.7,FUNPT ;秒表STOP,PUSE,CLRMOV P2,#0fbHJNB P2.5,TSFUN ;定时闹铃设定JB 08H, QQQQAJMP START1 ;P2.5口为1时跳回START1 FUNPT: LJMP FUNPTTTSFUN: LCALL DS20MSMOV P2,#0FBHJB P2.5,START1WAIT113: JNB P2.5,W AIT113 ;等待键释放JB 05H,CLOSESP ;闹铃已开的话,关闹铃MOV DISPFIRST,#50HMOV 50H,#0CH ;闹铃设定时显示格式00:00: -MOV 51H,#0AH ;"黑"DSW AIT: SETB EALCALL DISPLAYJNB P2.7,DSFINC ;分加1JNB P2.5,DSDEC ;分减1MOV P2,0FBHJNB P2.6,DSSFU ;进入时调整AJMP DSW AITCLOSESP: CLR 05H ;关闹铃标志CLR BELLAJMP START1DSSFU: LCALL DS20MS ;消抖JB P2.6, DSW AITLJMP DSSFUNN ;进入时调整SETMM1: LJMP SETMM ;转到时间调整程序SETMM DSFINC : LCALL DS20MS ;消抖JB P2.7, DSW AITDSW AIT12: LCALL DISPLAY ;等键释放JNB P2.7, DSW AIT12CLR EAMOV R0,#53HLCALL ADD1 ;闹铃设定分加1MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH22 ;ADDHH22: JC DSW AIT ;小于60分时返回ACALL CLR0 ;大于或等于60分时分计时单元清0AJMP DSW AITDSDEC : LCALL DS20MS ;消抖JB P2.5, DSW AITDSW AITEE: LCALL DISPLAY ;等键释放JNB P2.5, DSW AITEECLR EAMOV R0,#53H ;LCALL sub1 ;闹铃设定分减1LJMP DSW AITFUNSS: LCALL DS20MSJB P2.6,START11WAIT11: JNB P2.6,W AIT11CPL 03HJNB 03H,TIMFUNMOV DISPFIRST,#60H ;显示秒表数据单元MOV 60H,#00HMOV 61H,#00HMOV 62H,#00HMOV 63H,#00HMOV 64H,#00HMOV 65H,#00HMOV TL1,#0F0H ;10MS定时初值()MOV TH1,#0D8H ;10MS定时初值SETB TR1SETB ET1START11: LJMP START1TIMFUN: MOV DISPFIRST,#70H ;显示时钟数据单元CLR ET1CLR TR1START12: LJMP START1;以下秒表暂停\清零功能程序;按下P2.7暂停或清0,按下P2.6退出秒表回到时钟计时FUNPTT: LCALL DS20MSJB P2.7,START12WAIT22: JNB P2.7,W AIT21CLR ET1CLR TR1WAIT33: JNB P2.6,FUNSSJB P2.7,W AIT31LCALL DS20MSJB P2.7,W AIT33WAIT66: JNB P2.7,W AIT61MOV 60H,#00HMOV 61H,#00HMOV 62H,#00HMOV 63H,#00HMOV 64H,#00HMOV 65H,#00HWAIT44: JNB P2.6,FUNSSJB P2.7,W AIT41LCALL DS20MSJB P2.7,W AIT44WAIT55: JNB P2.7,W AIT51SETB ET1SETB TR1AJMP START1WAIT21: LCALL DISPLAYAJMP WAIT22WAIT31: LCALL DISPLAYAJMP WAIT33WAIT41: LCALL DISPLAYAJMP WAIT44WAIT51: LCALL DISPLAYAJMP WAIT55WAIT61: LCALL DISPLAYAJMP WAIT66 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 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,TH0MOV TH0,A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值CPL 07H ;闹铃时间隔呜叫用MOV R0,#71H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3CLR 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,ADDHHADDHH: JC OUTT0 ;小于60分时中断退出ACALL CLR0LCALL DS20MS ;正点报时SETB 08HMOV R0,#79H ;指向小时计时单元(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志CJNE A,#24H,HOURHOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0 OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78HMOV 75H,79HLCALL BAOJPOP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回;****************************************;; 闪动调时程序\秒表功能程序;;;****************************************;T1中断服务程序,用作时间调整时调整单元闪烁指示或秒表计时INTT1: PUSH ACC ;中断现场保护PUSH PSW ;JB 03H, MMFUN ;=1时秒表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 ACCRETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分MOV 73H,7AHMOV 74H,78HMOV 75H,79HAJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76HMOV 73H,77HMOV 74H,7AHMOV 75H,7AHAJMP INTT1OUT ;转中断退出MMFUN : CLR TR1MOV A,#0F7HADD A,TL1 ;低8位初值修正MOV TL1,A ;重装初值(低8位修正值)MOV A,#0D8H ;高8位初值修正ADDC A,TH1MOV TH1,A 重装初值(高8位修正值)SETB TR1 ;开启定时器T0MOV R0,#61H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)CLR CMOV A,R3JZ FSS1 ;加1后为00,C=0AJMP OUTT01 ;加1后不为00,C=1FSS1: ACALL CLR0MOV R0,#63H ;指向分计时单元(76H-77H)ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH1 ;ADDHH1: JC OUTT01 ;小于60分时中断退出LCALL CLR0MOV R0,#65H ;指向小时计时单元(78H-79H)ACALL ADD1 ;小时计时单元加1小时OUTT01: POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器RETI ;中断返回;;****************************************;; 加1子程序;;;****************************************ADD1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP 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 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回;****************************************;; 分减1子程序;;;****************************************SUB1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位JZ SUB11DEC A ;A减1操作SUB111: MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0CLR C ;清进位标志SUBB A,#0AHSUB1111: JC SUB1110MOV @R0,#09H ;大于等于0AH,为9SUB110: MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回SUB11: MOV A,#59HAJMP SUB111SUB1110: MOV A,R3 ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,AAJMP SUB110;****************************************;; 时减1子程序;;;****************************************SUBB1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位JZ SUBB11 ;00减1为23(小时)DEC A ;A减1操作SUBB111: MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0CLR C ;清进位标志SUBB A,#0AH ;时个位大于9为9SUBB1111: JC SUBB1110 ;MOV @R0,#09H ;大于等于0AH,为9SUBB110: MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;时十位数数据放入RET ;子程序返回SUBB11: MOV A,#23HAJMP SUBB111SUBB1110: MOV A,R3 ;时个位小于0A不处理ANL A,#0FH ;高四位变0MOV @R0,A ;个位移入AJMP SUBB110;****************************************;; 清零程序;;;****************************************;对计时单元复零用CLR0: CLR A ;清累加器MOV @R0,A ;清当前地址单元DEC R0 ;指向前一地址MOV @R0,A ;前一地址单元清0RET ;子程序返回;****************************************;; 时钟时间调整程序;;;****************************************;当调时按键按下时进入此程序SETMM: CLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序LCALL DS20MS ;消抖JB P2.5,CLOSEDIS ;MOV R2,#06H ;进入调时状态,赋闪烁定时初值MOV 70H,#00H ;调时时秒单元为00 秒MOV 71H,#00HSETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET2: JNB P2.5,SET1 ;P2.5口为0(键未释放),等待SETB 00H ;键释放,分调整闪烁标志置1SET4: JB P2.5,SET3 ;等待键按下LCALL DL05S ;有键按下,延时0.5秒LCALL DS20MS ;消抖JNB P2.5,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 ET0SETB TR0 ;开启T0定时器(开时钟)CLOSE: JB P2.5,CLOSE ;无按键按下,等待。