电子时钟实验报告电子时钟
数字电子钟实验报告

咸阳师范学院物理与电子工程学院课程设计报告题目:班级:姓名:学号:指导教师:成绩:完成日期:年月目录第一章概述 3第二章数字电子钟的电路原理 4 第三章电路调试与制作11第四章总结与体会12第五章附录13第一章概述数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
虽然市场上已有现成的数字集成电路芯片出售,价格便宜,使用方便,这里所制作的数字电子可以随意设置时,分的输出,是数字电子中具有体积小、耗电省、计时准确、性能稳定、维护方便等优点。
课程设计目的(1)加强对电子制作的认识,充分掌握和理解设计个部分的工作原理、设计过程、选择芯片器件、电路的焊接与调试等多项知识。
(2)把理论知识与实践相结合,充分发挥个人与团队协作能力,并在实践中锻炼。
(3)提高利用已学知识分析和解决问题的能力。
(4)提高实践动手能力。
第二章数字电子钟的电路原理数字电子钟的设计与制作主要包括:数码显示电路、计数器与校时电路、时基电路和闹铃报时电路四个部分。
1.数码显示电路译码和数码显示电路是将数字钟的计时状态直观清晰地反映出来。
显示器件选用FTTL-655SB双阴极显示屏组。
在计数电路输出信号的驱动下,显示出清晰的数字符号。
2.计数器电路LM8560是一种大规模时钟集成电路它与双阴极显示屏组可以制成数字钟钟控电路。
3.校时电路数字钟电路由于秒信号的精确性和稳定性不可能做到完全准确无误,时基电路的误差会累积;又因外部环境对电路的影响,设计产品会产生走时误差的现象。
电子闹钟焊接实验报告

电子闹钟焊接实验报告引言电子闹钟是一种以电子技术为基础,具有时间显示和闹铃功能的设备。
它通常由数字时钟、闹铃电路和显示屏等部分组成。
本次实验旨在通过焊接电子元器件,组装一个简单的电子闹钟,以提高学生们的电子技术实践能力。
实验目的1. 熟悉电子元器件的焊接方法和原理图的阅读;2. 掌握电子设备的基本焊接技术;3. 学会测试和调试电子闹钟的功能。
实验材料和设备- 电子元器件:电阻、二极管、电容、晶体管、显示屏模块等;- 焊接工具:焊接台、焊锡丝、镊子等;- 配件:电池盒、开关按钮、电源线等。
实验步骤1. 确认实验所需元器件的种类和数量,并依据原理图将它们分类摆放在实验台上。
2. 阅读原理图,理解电路的功能和连接方式。
根据原理图的要求,将电子元器件在电路板上焊接好。
3. 首先焊接固定部分元器件,如电阻和电容等。
在焊接时,注意焊锡量的掌握,不宜过多或过少。
焊接时要保持焊接头和元器件的接触良好,防止虚焊现象。
4. 焊接晶体管等较大元器件时,可先将其插入插座中,再用焊锡进行固定,这样可以方便后续替换维护。
5. 当焊接到需要焊到电路板上的元器件时,应准确找到其位置,注意方向。
焊接完成后,检查焊点是否焊牢固。
6. 完成所有元器件的焊接后,检查整个电路板的焊接质量,利用万用表进行电路板连通性测试。
7. 将电量盒焊接到电路板上,与闹钟电路连接。
8. 连接显示屏模块,检查显示功能和闹钟功能是否正常。
通过调试按钮,检查闹钟的设置和响铃是否正常。
结果与分析经过仔细的焊接和调试,我们成功组装了一台简单的电子闹钟。
通过测试,我们发现闹钟功能正常,能够准时响铃。
同时,显示屏模块能够正确显示时间。
这证明我们在焊接过程中保证了焊接质量和连接正确性。
然而,我们也遇到了一些问题。
在焊接过程中,有几个焊点出现了虚焊的情况,造成电路连通性不稳定。
我们及时发现并修复了这些问题,最终确保了电路的正常工作。
实验总结通过本次电子闹钟焊接实验,我们学习到了焊接电子元器件的基本方法和技巧,增强了对电子元器件的认识和掌握。
51单片机电子时钟课程设计报告实验报告

《单片机原理与应用》课程设计总结报告题目:单片机电子时钟(带秒表)的设计设计人员:张保江江润洲学号:********** **********班级:自动化1211指导老师:***目录1.题目与主要功能要求 (2)2.整体设计框图及整机概述 (3)3.各硬件单元电路的设计、参数分析及原理说明 (3)4.软件流程图和流程说明 (4)5.总结设计及调试的体会 (10)附录1.图一:系统电路原理图 (11)2.图二:系统电路PCB (12)3.表一:元器件清单 (13)4.时钟程序源码 (14)题目:单片机电子时钟的设计与实现课程设计的目的和意义课程设计的目的与意义在于让我们将理论与实践相结合。
培养我们综合运用电子课程中的理论知识解决实际性问题的能力。
让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。
课程设计的基本任务利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。
主要功能要求最基本要求1)使用MCS-51单片机设计一个时钟。
要求具有6位LED显示、3个按键输入。
2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。
3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。
开始计时时为000000,到235959后又变成000000。
4)使用3个键分别作为小时、分、秒的调校键。
每按一次键,对应的显示值便加1。
分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。
在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。
5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。
单片机电子时钟课程设计实验报告(1)

单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
电子时钟设计实验报告

可调节电子表摘要我们正处在一个信息的时代,事物的发展和技术的进步,让我们享受到了诸多的便利。
尤其是电子表,它在我们的生活中无处不在。
电子表是内部装配有电子元件的表,一般分液晶显示数字式和石英指针式两种。
本次程程设计在Quartus II仿真软件上实现对电子表的设计。
学习电子表的设计不仅让我们拨开了电子表的奥妙,让我们更加牢固的掌握了74160、74193这一类的计数器的使用。
运用多个74160器件,使之产生模为24、60周期的计数器,按照一定的关系量来连接,从而产生进位,产生一个能循环计数的正常电子表的功能。
再设计一个电子表的调节电路图,以方便调节电子表。
完成两部分的封装,对设计结果进行验证,通过输入数据的变化,从而得到所需要的输出。
根据需要,或正常计时,或设定分钟和小时,都能得到正确的结果。
关键词:Quartus II,电子表,计数器,74160,调节Adjustable Electronic ClockABSTRACTWe are in the age of information, the development of things and technical progress, let us enjoy the many convenience. Especially electronic watch, it's in our life is everywhere. An electronic watch is internal assembly have electronic components watch, general points LCD digital and quartz pointer type two kinds. This ChengCheng design in Quartus II simulation software to achieve the design of electronic watch. The design of the electronic learning not only let us through the secrets of the digital watches, let us more solid knowledge of 74160, 74193 this kind of use of the counter. Use DuoGe 74160 devices, causes it to have the mold of 23, 59 cycle of counter, according to certain amount to the relationship between the connection, which carry and produce a cycle count of the normal can the function of digital watches. To design a digital watch the adjustment of the circuit diagram, with convenient adjustment electronic. Complete two part of the package, the design results were verified through the change of input data, and the output of the need. According to the needs, or normal time, or set up minutes and hours, can get the right result.Key words: Quartus II, electronic watch, counter, 74160, adjust目录前言 (1)第1章组成电路的芯片介绍 (3)1.1 74160芯片 (3)1.1.1 74160芯片符号 (3)1.1.2 74160工作原理 (3)第2章可调节电子表的顶层电路 (5)2.1 可调节电子表的顶层电路与说明 (5)2.1.1 可调节电子表的顶层电路图 (5)2.1.2 电路说明 (5)第3章可调节电子表详析 (6)3.1 可调节电子表 (6)3.2 设计原理详析 (8)3.2.1 计数原理 (8)3.2.2 校时电路原理 (8)3.3 仿真波形与分析 (10)第4章LCD液晶显示器实现 (13)4.1 LCD液晶显示器 (13)4.1.1 LCD液晶显示器源程序 (13)4.1.2 LCD显示器封装 (16)第5章下载验证 (17)结论 (19)谢辞 (20)参考文献 (21)附录 (22)前言在这个越来越时间化的社会中,各式各样的电子表在我们身边频出不烦,俨然成为我们里生活里不可或缺的一部分。
电子时钟实验报告

电子时钟实验报告电子时钟实验报告_电子时钟电子时钟实验报告一、实验目的学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
二、设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1.在4位数码管上显示当前时间,显示格式为“时时分分”;2.由LED闪动做秒显示;3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。
当闹玲时间到蜂鸣器发出音乐,按停止键使可使闹玲声停止。
三、工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。
闹铃声由交流蜂鸣器产生,电路如右图,当P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
四、电路设计及描述(1) 硬件连接部分:在ZKS-03单片机综合实验仪上有四位共阳LED数码管,其标号分别为LED1~LED4。
为了节省MCU的I/O口,采用串行接口方式,它仅占用系统2个I/O口,即P1.0口和P1.1口,一个用作数据线SDA,另一个用作时钟信号线CLK,它们都通过跳线选择器JP1相连。
由于采用共阳LED数码管,它的阴极分别通过限流电阻R20~R27连接到控制KD_0~KD_Q7。
这样控制8个发光二极管,就需要8个I/O口。
但由于单片机的I/O口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。
串并转换电路其实质是一个串入并处的移位寄存器,串行数据再同步移位脉冲CLK的作用下经串行数据线SDA把数据移位到KD_0~KD_Q7端,这样仅需2根线就可以分别控制8个发光二极管的亮灭。
而P0口只能作地址/数据总线,P2口只能作地址总线高8位,P3.0、P3.1作为串行输入、输出接口,实验仪上单片机可用作I/O的口仅有:P1.0--P1.7 ,8位;P3.2、P3.3、P3.4、P3.5 ,4位。
最新数字钟实验报告

最新数字钟实验报告实验目的:本实验旨在设计并构建一个数字时钟,通过编程和电子组件的使用,实现时间的精确显示和设置。
实验过程中,我们将学习如何使用微控制器、数码管显示以及编写相应的软件代码来控制时钟的运行。
实验材料:1. 微控制器(如Arduino UNO)2. 数码管显示模块3. 电阻、电容4. 跳线5. 电源适配器6. 编程软件(如Arduino IDE)实验步骤:1. 准备实验材料,并确保所有组件完好无损。
2. 连接微控制器与数码管显示模块,通过跳线将数码管的各个引脚与微控制器对应引脚相连。
3. 在Arduino IDE中编写数字钟的程序代码,包括时间设置、显示更新和闹钟功能。
4. 将编写好的代码上传至微控制器中。
5. 连接电源,测试数字钟是否能够正常运行,包括时间的显示、设置和闹钟功能。
6. 调整代码中的参数,确保时间显示的准确性和稳定性。
7. 记录实验数据和观察结果,对出现的问题进行分析和调试。
实验结果:通过实验,我们成功构建了一个数字钟,它能够显示小时、分钟和秒。
用户可以通过特定的按钮组合来设置时间,并且设定闹钟。
在测试过程中,时钟的显示准确无误,设置功能也运作正常。
闹钟在设定的时间准时响起,满足了实验的基本要求。
实验结论:本次实验验证了通过微控制器和数码管可以成功实现数字钟的设计和功能。
实验过程中遇到的问题主要涉及代码的优化和硬件的稳定性,通过调整代码和重新检查硬件连接,问题得到了解决。
最终,我们得到了一个功能完善、运行稳定的数字钟原型。
电子钟实验报告

电子钟实验报告电子钟实验报告引言:电子钟是一种利用电子技术来实现时间显示的装置,它不仅能够准确地显示时间,还具备了一些其他功能,如闹钟、温度显示等。
在本次实验中,我们将通过搭建一个简单的电子钟来了解其基本原理和工作方式。
一、材料与方法本次实验所需材料包括:Arduino开发板、LCD液晶显示屏、实时时钟模块、电阻、电容等。
我们首先将这些材料按照电路图连接起来,然后通过编写Arduino代码来实现时间的显示和功能的控制。
二、电子钟的原理电子钟的核心部分是实时时钟模块,它通过与Arduino开发板的连接,提供准确的时间信号。
实时时钟模块内部有一个独立的时钟电路,可以独立运行,并通过I2C总线与Arduino进行通信。
当我们将时间信息发送给实时时钟模块后,它会自动更新时间,并通过Arduino控制LCD显示屏来显示时间。
三、电路连接与编程我们首先将Arduino开发板与实时时钟模块通过I2C总线连接,然后将LCD显示屏与Arduino开发板连接。
接下来,我们需要编写Arduino代码来实现时间的显示和功能的控制。
在代码中,我们需要使用实时时钟模块的库函数来获取当前时间,并将其发送给LCD显示屏进行显示。
同时,我们还可以通过编写代码来实现一些其他功能,如闹钟、温度显示等。
四、实验结果与分析经过搭建电路和编写代码后,我们成功地实现了一个简单的电子钟。
通过观察LCD显示屏,我们可以清晰地看到当前的时间,并且可以通过按键来控制闹钟的开关和设置温度显示。
这个电子钟不仅具备了时间显示的功能,还具备了一些其他实用的功能,为我们的生活带来了便利。
五、实验总结通过本次实验,我们深入了解了电子钟的原理和工作方式,并通过实际操作来搭建了一个简单的电子钟。
在实验过程中,我们不仅学会了如何连接电路和编写代码,还锻炼了自己的动手能力和解决问题的能力。
电子钟作为一种常见的电子设备,广泛应用于我们的日常生活中,通过本次实验,我们对其有了更深入的了解。
EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告-数字电子钟实验报告:数字电子钟一、实验目的本实验旨在通过使用EDA设计软件,设计并实现一个具有时、分、秒功能的数字电子钟。
通过学习使用EDA工具,掌握数字电路设计的基本步骤和技巧,培养实践能力和创新思维。
二、实验原理数字电子钟是一种以数字形式显示时间的装置,它利用了时、分、秒的计时原理。
核心部分包括一个时钟发生器,用于产生标准时间信号,以及一个计数器,用于对时间进行计数并显示。
此外,还需要一些控制逻辑来控制时、分、秒的进位和显示。
三、实验步骤1.设计准备:在开始设计之前,首先明确设计要求和功能。
考虑到实验的复杂性和可实现性,我们采用最简单的电路结构,即基于计数器和译码器的数字电子钟。
2.绘制电路图:使用EDA设计软件(如Quartus II)绘制电路图。
首先创建新项目,然后添加必要的元件(如74LS192计数器、74LS248译码器等),并根据设计要求连接元件。
3.编写程序:使用硬件描述语言(如VHDL或Verilog)编写计数器和译码器的程序。
确保程序能够实现所需的功能,并进行仿真测试。
4.编译和下载:将程序编译成可下载的配置文件,然后下载到FPGA开发板上。
5.硬件测试:连接开发板到PC,启动程序,观察数字电子钟的显示情况。
检查时间是否准确,各部分功能是否正常。
6.性能评估:对数字电子钟的性能进行评估,包括计时精度、稳定性等指标。
根据评估结果对设计进行优化。
四、实验结果与分析1.设计结果:经过上述步骤,我们成功地设计并实现了一个基于FPGA的数字电子钟。
通过EDA软件和硬件描述语言,我们实现了计数器和译码器的功能,并完成了程序的编写和下载。
2.性能分析:经过测试,我们的数字电子钟具有较高的计时精度和稳定性。
时间显示准确,各部分功能正常。
这表明我们的设计是成功的。
3.优化方向:虽然我们的数字电子钟已经具有较好的性能,但仍有一些方面可以优化。
例如,可以考虑添加更多的功能,如闹钟、温度显示等;也可以进一步优化电路结构,降低成本和提高性能。
数字电子钟课程实验报告

题目数字电子钟制作与调试姓名班级学号指导教师2010年12月28日数字电子时钟装配报告一、设计任务设计并制作一个电子时钟,显示当前时间,使用电子元气套件组装好数字电子钟,并接通电源调试,使其能正常显示数字并且能够调时,分,秒功能。
熟悉和正确使用电烙铁,能在操作过程中发现问题并且通过自己独立思考和仔细分析发现问题出现的地点并解决问题。
二、设计准备和工具1、准备好电烙铁、松香、焊锡丝、剪钳、万用表、夹子等常2、找一个安全平整的工作台,打开元件包,对着元件清单,清点元件。
3、分析电路原理图,了解工作原理,并将原理图和电路板对照,深刻印象。
4、用万用表分别测量各个远见的好坏,进一步巩固已经学到的知识三、电路设计1、电路原理图及其原理分析大屏幕数字钟套件采用6位数字(二十四小时制)显示,格式为“时时:分分:秒秒”,电路板尺寸为330MM*70MM,是以前大屏幕数字钟的改进版,解决了以前大屏幕数字钟显示数字“6”和“9”不美观的现象;解决了发光二极管引脚焊盘间距过大容易插坏LED的现象;解决了用户如果自己安装外壳时,电源和外接调时开关不方便安装的现象。
纯硬件电路,每个笔画由三个LED组成,频差为-200PPM的石英晶体定时,走时精度高。
工作电压:交流5V—9V,直流6V—10V。
四、电源接线图板外接线图:(板外接线图只提供参考,具体元件没有配备)时间设置:板上不带设置开关,调整时间需要导线分别短接对应插针。
(1). 短接“COM”和“H”插针,快速走时显示,等“小时”显示到需要的时间后,断开短接;(2.)短接“COM”和“M”插针,快速走时显示,等“分钟”显示到需要的时间后,断开短接;(3.)短接“COM”和“S”插针,快速走时显示,等“秒钟”显示到需要的时间后,断开短接;( 4. ) 短接“COM”和“T”插针,停止走五、元器件及其参数依据元器件的规格,依次把元器件装配在电路板上,我们就可以进行最后的通电调试了。
单片机 电子时钟实验报告

电子时钟设计实验报告姓名:学号:班级:指导老师:一、实验基本要求利用定时计数器,设计一个电子时钟,使用前面使用过的显示子程序。
从左到右依次显示时分秒。
有两种方法实现,一种是在中断程序中计数,产生时分秒计数,送显示缓冲区。
另一种是中断程序每一秒清除一个位变量,而主程序通过监视位变量的变化来知道每秒的时间。
进而要求:1.加入时间调整程序,使用两个或三个按钮,调节当前的时间。
类似平常使用的电子表。
可以让正在调整的位闪烁显示。
2.可以加入一个闹钟钟设置,当所定的时间到时,产生断续的蜂鸣声。
可以加入日历的功能。
二、最终实现的功能1、日历(年、月、日)显示与数值的修改2、时钟(时分秒)显示及数值的修改3、闹钟设定及数值的修改、到时响铃4、秒表计时及秒表重置三、设计核心思想程序设计中设置定时器0作为基本时钟,中断每50ms进入一次,每20次中断即1秒,秒加一,在中断服务程序中执行60秒进位、60分进位。
通过独立式键盘,进行各项数值调整、定时器开启和暂停以及重置。
各个功能在分立的子函数中实现,在主函数中进行调用,结构清晰。
四、设计亮点1、按键功能通过“按下时间的长短”丰富在按键消抖结束后,再次判断按键按下的同时,记录按下时间的长短。
短按实现数值的修改、计时暂停及启动,长按实现模式的切换和重置。
2、闹铃设置为一段音乐通过查阅网上资料,将蜂鸣器的响声富有变化,从而实现一段有旋律的音乐。
3、函数独立设计的程序中包含以下函数模块:延时、初始化、时间(日历、闹钟)显示、键盘扫描、秒表显示、定时器0中断函数(时钟)、定时器1中断(秒表)、音乐、闹钟及主函数。
4、各功能的实现采用模块化处理模式1:时钟显示;模式2:日历显示;模式3:秒表显示;模式4:闹钟显示。
五、实验中的问题总结LED数码管显示部分小结:(1)要设置段选(P2.6)和位选(P2.7)。
(2)段选和位选需按照书上讲的逻辑编写。
虽然P0口作为段选,P2口作为位选,但是程序设计中位选时要将值赋给P0口(打开位选→赋位选→关闭位选)。
电子时钟实验报告

电子时钟实验报告电子时钟实验报告引言:电子时钟是一种使用数字显示时间的现代化设备,它在我们的日常生活中起着重要的作用。
本次实验旨在通过制作一个简单的电子时钟,了解其工作原理和基本构造,并对其进行测试和改进。
一、实验材料和设备本次实验所需材料和设备包括:电子元件(电阻、电容、二极管等)、集成电路、面包板、电源、示波器、万用表等。
二、实验步骤1. 准备工作首先,我们需要准备好所需的电子元件和设备,并将它们连接在面包板上。
确保连接正确无误后,将面包板连接到电源上。
2. 时钟电路设计我们设计的电子时钟采用了数字时分秒的显示方式。
为了实现这一功能,我们使用了一个集成电路来控制时钟的计时和显示功能。
通过连接电阻和电容,我们可以调整时钟的频率和精度。
3. 时钟电路测试在完成时钟电路的设计后,我们需要进行测试以确保其正常工作。
首先,我们使用示波器来观察时钟信号的波形,并检查其频率和稳定性。
然后,我们使用万用表来测量电压和电流,确保电路中没有异常。
4. 时钟显示改进为了提高时钟的显示效果,我们可以对电子时钟进行改进。
例如,我们可以增加背光功能,使时钟在光线较暗的环境下也能清晰可见。
此外,我们还可以增加闹钟功能,使时钟能够发出声音提醒我们。
5. 结果分析通过实验,我们成功制作了一个简单的电子时钟,并对其进行了测试和改进。
我们发现,该时钟具有较高的准确性和稳定性,能够准确显示时间。
同时,通过添加背光和闹钟功能,我们提高了时钟的实用性和便利性。
6. 实验总结本次实验使我们更加深入地了解了电子时钟的工作原理和构造。
通过实践,我们不仅学会了如何制作一个简单的电子时钟,还了解了如何测试和改进它。
这对我们理解电子时钟的应用和发展具有重要意义。
结论:通过本次实验,我们成功制作了一个简单的电子时钟,并对其进行了测试和改进。
我们深入了解了电子时钟的工作原理和构造,并发现其具有较高的准确性和稳定性。
通过实践,我们不仅学会了如何制作一个电子时钟,还了解了如何测试和改进它。
数字电子钟实验报告

数字电子钟实验报告数字电子钟实验报告武汉职业技术学院实验报告科目__《电子技术基础》________实验名称__数字电子钟实训课程设计________________应用09301_班__4_实验本人四组本人成绩:作本人_魏鹏_同作本人_______本人日期_201*_年_5_月_26_日本人指导老师:实训目的:1 运用所学数字电路的基础知识和基础知识的巩固及加强对电路图的分析及理解能力2 培养定的自学独立分析问题和解决今后工作中的实际问题的基对本能力3 培养实践动手能力,掌握简单数字系统的设计和制作方法二实训内容:依据简单数字系统设计和制作数字电子钟三实训要求:1 充分理解电路原理图2 电路板的识别及参数选择3 注意制作过程中的安全重制事项4四元器件选择:五原理框图及成品图:六实训步骤:1 实训准备。
学习数字电子钟的原理图及设计原理了解所需元器件及其参数和数字电子钟的调试方法。
2 实训操作。
发放电路板及元器件,发放电子电路半导体器件以焊完个发个的原则,以防大家的错焊漏焊。
3 选择和测试元器件,用“万用表”测试元器件质量的坏。
4 装配元件。
把元器件按接线图正确地焊接在印制电路板上。
5 调试产品的技术指标。
按电路原理测试方法各点的工作电压,以判断其工作是否正常。
6 若组装出的产品有损坏,依据努力学习知识独立思考找出问题的根源,并排除产品设计的故障。
7 对成品的进步检测,饱满度检测内容包括焊点的饱满度光泽度及产品的可操作性等。
七实训感想:通过这次该次对数字钟的设计与制作,让我们了解了数字钟的原理和设计理念。
要制作个电子产品定要严格按照电路苛刻原理图设计,而且最后的成品维日尼察区与想象的完全样,因为在实际焊接中展现出各种各样的症结问题,所以要细心焊接这样做出来的成品才比较美观。
设计过程中,在次又次的失败面前,我们没有退缩,而是勇敢的去纵然,积极的去解决,充分运用所学知识和他人善用的鼓励,最终取得了成功。
单片机汇编程序51电子时钟.doc

单片机汇编程序 51电子时钟电子钟设计实验报告一)实验目的:1、进一步掌握定时器的使用和编程方法。
2、进一步掌握中断处理程序的编程方法。
3、进一步掌握数码显示电路的驱动方法。
4、进一步掌握键盘电路的驱动方法。
5、进一步掌握软件数据处理的方法。
二)内容要求:1、利用CPU的定时器和数码显示电路,设计一个电子时钟。
格式如下:XX XX XX 由左向右分别为:时、分、秒。
2、电子时钟有秒表功能。
3、并能用键盘调整时钟时间。
4、电子时钟能整点报时、整点对时功能。
5、能设定电子时钟的闹铃。
三)主要元件:电阻4.7K 10个 2K 1个四位共阳数码管1个二位共阳数码管1个按钮开关4个万用板(中板)1个 9012PNP 7个排线排阵若干电线一捆蜂鸣器1个最小系统一个四)系统说明:按P1.0键,如果按下的时间小于1秒进入省电模式(数码管不显示,开T0计时器),如果按下的时间大于1秒则进入时间调整.。
在时间调整状态:再按P1.0,如果按下时间大于0.5秒转调小时状态,按下时间小于0.5秒加1分钟操作。
在小时调整状态再按P1.0键,如果按下时间大于0.5秒退出时间调整,如果按下时间小于0.5秒加1小时操作。
按P1.1键,进入闹铃调分状态,按P1.2分加1,按P1.0分减1。
若再按P1.3,则进入调整状态,按P1.2时加1,按P1.0分时。
按P1.1键,闹铃有效,显示式样变为00:00:—0;再按P1.1键,闹铃无效,显示式样变为00:00:—。
按P1.3键,调整闹钟时间结束。
按P1.2键,进入秒表计时功能,按P1.2键暂停或清零,按P1.1键退出秒表回到时钟状态。
而且本系统还有整点报时功能,以及按键伴有声音提示。
五)程序流程图:开始 TO中断初始化保护现场进入功能调用显示定时初值校正程序子程序N Y键按下, 1S到,Y N加1S处理整点到NY恢复现场,中断返回按时间鸣叫次数主程序流程图 T0中断计时程序流程图T1中断保护现场T1中断服务程序流程图秒表/闪烁,时钟调时闪烁加10MS处理闪烁处理恢复现场,中断返回六)电路图七)程序清单:中断入口程序 ;; DISPFIRST EQU 30H BELL EQU P1.4CONBS EQU 2FHOUTPX EQU P2 ;P2位选OUTPY EQU P0 ;P0段选INP0 BIT P1.0INP1 BIT P1.1INP2 BIT P1.2ORG 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 08HAJMP START;; 主程序 ;;START:MOV R0,#00H ;清70H-7AH共11个内存单元MOV R7,#80H ;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)MOV DISPFIRST ,#70HSTART1: LCALL DISPLAY ;调用显示子程序JNB INP0,SETMM1 ;P1.0口为0时转时间调整程序JNB INP1,FUNSS ; 秒表功能,P1.1按键调时时作减1加能JNB INP2,FUNPT ;STOP,PUSE,CLRJNB P1.3,TSFUNSJMP START1 ;P1.0口为1时跳回START1SETMM1: LJMP SETMM ;转到时间调整程序SETMM FUNSS: LCALL DS20MSJB INP1,START1WAIT11: JNB INP1,WAIT11CPL 03HMOV DISPFIRST,#00H :显示秒表数据单元MOV 70H,#00HMOV 71H,#00HMOV 76H,#00HMOV 77H,#00HMOV 78H,#00HMOV 79H,#00HAJMP START1FUNPT: LCALL DS20MSJB INP2,START1WAIT22: JNB INP2,WAIT21CLR ET0CLR TR0WAIT33: JB INP2,WAIT31 LCALL DS20MSJB INP2,WAIT33WAIT66: JNB INP2,WAIT61 MOV R0,#70H ;清70H-79H共10 个内存单元MOV R7,#0AH ;CLEARP: MOV @R0,#00H ;INC R0 ;DJNZ R7,CLEARP ;WAIT44: JB INP2,WAIT41 LCALL DS20MSJB INP2,WAIT44WAIT55: JNB INP2,WAIT51 SETB ET0SETB TR0AJMP START1WAIT21: LCALL DISPLAY AJMP WAIT22WAIT31: LCALL DISPLAY AJMP WAIT33WAIT41: LCALL DISPLAYAJMP WAIT44WAIT51: LCALL DISPLAYAJMP WAIT55WAIT61: LCALL DISPLAYAJMP WAIT66 TSFUN:LCALL DS20MSWAIT113:JNB P1.3,WAIT113JB 05H,CLOSESPMOV DISPFIRST,#50HMOV 50H,#0CHMOV 51H,#0AHDSWAIT:SETB EALCALL DISPLAYJNB P1.2,DSFINCJNB P1.0,DSDECJNB P1.3,DSSFU AJMP DSWAITCLOSESP:CLR 05HCLR BELLAJMP START1 DSSFU:LCALL DS20MS JB P1.3,DSWAIT LJMP DSSFUNN DSFINC:LCALL DS20MS JB P1.2,DSWAIT DSWAIT12:LCALL DISPLAY JNB P1.2,DSWAIT12 CLR EAMOV R0,#53H LCALL ADD1MOV A,R3CLR CCJNE A,#60H,ADDHH22ADDHH22:JC DSWAITACALL CLR0AJMP DSWAITDSDEC:LCALL DS20MSLCALL DISPLAYDSWAITEE:LCALL DISPLAYJNB P1.0,DSWAITEECLR EAMOV R0,#53HLCALL SUB1LJMP DSWAIT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1秒计时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET0 ;关T0中断允许CLR TR0 ;关闭定时器T0JB 03H,FSSMOV 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秒时对秒计时单元清0 MOV 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,#79H ;指向小时计时单元(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志JB 03H,OUTT0 ;秒表时最大数为99CJNE A,#24H,HOUR ;HOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78H ;MOV 75H,79H ;LCALL BAOJPOP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回 ;秒表计时程序(10MS加1),低2位为0.1、0.01秒,中间2位为秒,最高位为分。
数字时钟实验报告

数字时钟实验报告数字时钟实验报告引言:数字时钟是一种常见的时间显示设备,它以数字的形式直观地展示时间,广泛应用于家庭、学校、办公场所等各个领域。
本次实验旨在通过制作一个简单的数字时钟,了解数字时钟的工作原理和构造,并通过实践掌握相关的电子元件和电路知识。
一、实验材料和仪器:1. 电子元件:7段LED数码管、集成电路555计时器、电阻、电容等。
2. 仪器:数字万用表、示波器、电源等。
二、实验步骤:1. 电路连接:首先,将7段LED数码管按照电路图连接到555计时器的输出引脚上。
然后,根据电路图连接电阻和电容,形成555计时器的工作电路。
最后,将电源连接到电路上,确保电路供电正常。
2. 电路调试:打开电源后,使用数字万用表检测电路各个节点的电压和电流,确保电路连接正确,并且电压、电流符合设计要求。
然后,使用示波器观察555计时器输出的方波信号,并调节电阻和电容的数值,使得方波信号的频率和占空比符合数字时钟的要求。
3. 数字时钟显示:当电路调试完成后,数字时钟即可正常工作。
通过改变555计时器的频率,可以实现数字时钟的时间显示刷新频率调节。
通过观察7段LED数码管的亮灭情况,可以准确读取当前的时间。
三、实验结果分析:通过实验,我们成功制作了一个简单的数字时钟。
通过调节电路中的元件数值,我们可以改变数字时钟的刷新频率和显示方式。
实验中,我们还发现了以下几个问题和现象:1. 数码管亮度不均匀:在实验过程中,我们发现数码管的亮度不均匀,有些段显示较亮,而有些段显示较暗。
这是由于数码管内部的发光二极管的特性不完全一致,导致亮度差异。
为了解决这个问题,可以采用亮度均衡电路或者更换亮度较为一致的数码管。
2. 时钟误差:在实验中,我们发现数字时钟的时间显示与实际时间存在一定的误差。
这是由于555计时器的精度有限,以及电容和电阻的误差累积导致的。
为了提高数字时钟的精度,可以选择更高精度的计时器和优质的电子元件。
3. 电路稳定性:在实验过程中,我们发现电路的稳定性对数字时钟的正常工作十分重要。
电子时钟实验报告

电子时钟实验报告一,实验目的1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
2. 设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟二,实验要求A.基本要求:1:可以正常准确的显示时间.2:可以通过键盘输入来对时间进行调整.3:能够以两种时钟表示方式显示时间.B.扩展部分:三,实验基本原理利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当加到20时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
四,实验设计分析针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。
运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。
首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。
LED点阵电子时钟制作实验报告

LED点阵电子时钟制作实验报告一、设计目的在日常生活中,大家见到的都是数码管制作的电子钟,LED点阵时钟则不多见。
尽管点阵时钟有它自己的缺点,如硬件利用不充分,价格较高,但是点阵时钟的字体可以方便地改变,只要改变单片机中的程序,就可以任意改变显示出来的字体,亲切的字体常常会给人耳目一新的感觉,不象普通LED数码管的字体那么呆板,这可能是LED点阵时钟最主要的特点了。
二、方案1、LED点阵电子时钟的结构、功能:1)24小时计时。
2)4位时间显示,使用四块Φ3mm 8×8LED点阵。
3)时钟的发生采用了目前较流行的DS1302实时时钟芯片,时钟精确度较高,掉电后能维持一个月保持时间不掉。
4)采用单片机A T89S52,便于硬件扩展。
89S52采用24MHz晶体,工作频率高,显示数字不闪烁!5)采用变压器供电,便于时钟的摆放。
变压器供电电压是9V的,经PCB主板上的7805稳压后输出稳定的5V电压,损耗较小。
6)电子按钮时间调节。
7)双面PCB设计,电路小巧精悍。
8)有红色和绿色LED可选择(注:只能是单色屏)。
9)点阵屏采用接插的方式插在PCB上(可选),默认的点阵屏是焊在主板上的。
10)单元电路都有滤波电路,整体电路工作稳定。
2、LED点阵电子时钟的主要元件Φ3mm 8×8LED点阵四块、A T89S52单片机一片、DS1302实时时钟芯片一片、LM7805稳压芯片一片、24MHz晶振一个、供电电压是9V变压器一个、调节按钮开关四个,其余电阻、电容、二极管、三极管等若干。
3、LED点阵电子时钟的主要元件性能比较1)关于DS1302时钟芯片:采用DS1302实时时钟芯片的时钟,其程序设计及时间准确度,与单片机直接产生时间的时钟,效果不可同日而语。
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM 的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子时钟实验报告一、实验目的学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
二、设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟,要求:1.在4 位数码管上显示当前时间,显示格式为“时时分分”;2. 由LED闪动做秒显示;3.利用按键可对时间及闹玲进行设置,并可显示闹玲时间。
当闹玲时间到蜂鸣器发出音乐,按停止键使可使闹玲声停止。
三、工作原理及设计思路利用单片机定时器完成计时功能,定时器0计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200 次时,则表示1s 到了,秒变量加1,同理再判断是否1min钟到了,再判断是否ih到了。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED显示。
闹铃声由交流蜂鸣器产生,电路如右图,当P1.7 输出不同频率的方波,蜂鸣器便会发出不同的声音。
四、电路设计及描述(1)硬件连接部分:在ZKS-03 单片机综合实验仪上有四位共阳LED 数码管,其标号分别为LED1~LED4为了节省MCC的I/O 口,采用串行接口方式,它仅占用系统2个I/O口,即P1.0 口和P1.1 口,一个用作数据线SDA另一个用作时钟信号线CLK它们都通过跳线选择器JP1 相连。
由于采用共阳LED数码管,它的阴极分别通过限流电阻R20〜R27连接到控制KD_O〜KD_Q7这样控制8个发光二极管,就需要8个I/O 口。
但由于单片机的I/O 口资源是有限的,因此常采用实验电路所示的串并转换电路来扩充系统资源。
串并转换电路其实质是一个串入并处的移位寄存器,串行数据再同步移位脉冲CLK的作用下经串行数据线SDA把数据移位到KD_O~KD_Q端,这样仅需2 根线就可以分别控制8个发光二极管的亮灭。
而P0 口只能作地址/数据总线,P2 口只能作地址总线高8位,P3.0、P3.1作为串行输入、输出接口,实验仪上单片机可用作I/O 的口仅有:P1.0--P1.7 ,8 位;P3.2、P3.3、P3.4、P3.5 ,4位。
其中:P1.0用作数据线SDA P1.1用作时钟信号CLK所以P1.0和P1.1应该接对应跳线的A位,即跳线的中间和下面相连。
P1.3、P1.4、P1.5和P1.6 是四个数码管的位扫描线,其中P1.6对应数码管W1,显示小时高位;P1.5对应数码管W2显示小时低位;P1.4对应数码管W3显示分钟高位;P1.3对应数码管W4显示分钟低位。
P1.7连接蜂鸣器电路,输出不同频率的方波,使其发出不同的声音。
P1.2 用来控制秒的闪烁显示。
故P1.2 也应该接对应跳线的A位。
其显示电路如下图所示:P3.2、P3.3、P3.4、P3.5分别连接单刀双掷幵关S1、S2、S3、S4,从而输入高低电平。
将S2S1 定义为功能模式选择开关;S3 定义为分钟数调整开关;S4 定义为小时数调整开关。
当S2 S1=00时,显示当前时间,不进行任何操作。
当S2 S1=01时,显示当前时间,同时可进行时钟调整,若S3=1,分钟数持续加1,若S4=1,小时数持续加1。
当S2 S1 = 10时,显示闹钟时间,同时可进行闹钟调整,若S3=1,分钟数持续加1, 若S4=1,小时数持续加1。
当S2 S1 = 11时,显示当前时间,同时关闭闹钟。
7段显示器的字形与共阳极时编码的对应关系如下表:(2)音节设置原理:由不同频率的方波产生,音节与频率的关系如表1所示。
要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用计时器计时此半周期时间,每当计时到后就将输出方波的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。
在ZKS-03实验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP1将单片机的P1.7与蜂鸣器的驱动电路相连。
这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
另外,音乐的节拍是由延时实现的,如果1拍为0.4 秒, 1/4拍是0.1秒。
只要设定延时时间,就可求得节拍的时间。
延时作为基本延时时间,节拍值只能是它的整数倍,每个音节相应的定时器初值 X 可按下法计算:(1/2)*(1/f)=(12/fose)*(2 16-x) 即 x=2 16-(fose/24f)其中f: 音调频率,当晶振fose=11.0592MHz 时,音节“ 1”相应的定时器初值为x, 则可得x=63777D=F921H 其它的可同样求得。
在单片机上控制一个音符唱多长可采用循环延时的方法来实现。
将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。
另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H 来表示。
(3)实验流程图:开始设置端口,初值,程序初始化,开计数器中断,启动计数调用时间显示,闹铃判断子程序,扫描按键TO溢岀闹铃时间到?闹钟模块: 时钟走时中断服务程序按键闹铃中断服务程序各按键子程序闹铃中断闹铃开关前时间是否相等响音乐比较闹铃时间与当停止?中断返回计数模块:定时器0中断Y秒指示灯灭N秒指示灯亮秒+1N _____________秒清0分清0_____ II ____小时清0▼中断返回五、源程序代码及注释注:首先将单片机用到的主要寄存器做下说明(如下)P1.2作秒的闪烁控制位;P1.7作响铃控制电平;P3.2 、P3.3作模式选择键S2、S1;R0为计数5ms的次数;R1为秒数;R2为分钟数;R3为时钟数;R4在显示程序中作为向LED传递数据时的左移次数标志位;R4在音乐闹铃程序中读取TABLE中的数据;R5作为节拍长度;40H 作显示的分;41H 作显示的时;42H 作闹钟的分;43H 作闹钟的时;63H 64H存放延时程序DELAY的延时数;60H、61H 作定时器T1 的初值。
・ ******************************主程序J*****************************************51BIT P3.2 52BIT P3.3 53BIT P3.4 54BIT P3.5 SDA BIT P1.0 CLK BIT P1.1 ORG 0000HAJMP MAINORG 000BH AJMP TIMERORG 001BH;定义模式选择键S2、S1;定义时调整键S4分调整键S3;T0的中断服务程序的入口地址;跳转到时钟走时中断服务程序;T1 的中断服务程序的入口地址AJMP ALARM_OPEN ;跳转到闹钟响铃中断服务程序ORG 0030HMAIN: MOV 40H,#00 ;显示的分MOV 41H,#00 ;显示的时MOV 42H,#58 ;闹钟的分MOV 43H,#23 ;闹钟的时MOV R0,#00H ;寄存器清零(RO为计数5ms的次数,R1为秒数,MOV R1,#00H ;R2为分钟数,R3为时钟数)MOV R2,#00HMOV R3,#00HMOV TMOD,#11H ;设置T0,T1 处于工作方式1MOVTH0,#0EEH;设置定时器的初值MOVTL0,#00HSETB EA; 允许总中断SETB ET0; 允许T0,T1 中断SETBET1SETB TR0; 启动T0LOOP: LCALL DISPLAY1 ;调用显示程序LCALLALARM ; 调用闹铃程序LCALLMODE ; 调用模式判断程序AJMP LOOP*****************************DISPLAY1:MOV DPTR,#TAB1MOV A,41HMOV B,#10DIV ABLCALL DISP1CLR P1.6 ;LED1数码管显示数码,即小时的高位LCALL DELAYSETBP1.6JB P1.2,TD ;控制LED2数码管的小数点"dp"闪烁AJMP TD1TD: MOV A,BAJMP TD2TD1: MOV A,BADD A,#10TD2: LCALL DISP1;LED2数码管显示数码,即小时的低位CLR P1.5LCALL DELAYSETB P1.5MOV A,40HMOV B,#10;R4记作左循环的次数;A 带进位左循环移位; 上升沿触发数据接收SETB CLK DJNZ R4,DUP1 RET・ ************************************J*****************************DISPLAY2:LCALLDISP1CLR P1.4 ;LED3数码管显示数码,即分钟的高位 LCALL DELAYSETB P1.4MOV A,BLCALLDISP1CLR P1.3 ;LED4数码管显示数码,即分钟的低位 LCALL DELAYSETBP1.3RETDIV AB ;LED 串并转换口从P1.0接收DISP1: MOVC A,@A+DPTRMOV R4,#08HDUP1: RLC AMOV SDA,CCLR CLK 闹钟显示部分MOV DPTR,#TAB1MOV A,43HMOV B,#10DIV ABLCALL DISP2CLR P1.6 ;LED1数码管显示数码,即小时的高位LCALL DELAY SETB P1.6 MOV A,B LCALL DISP2CLR P1.5 ;LED2数码管显示数码,即小时的低位LCALL DELAY SETB P1.5 MOV A,42H MOV B,#10 DIV AB LCALL DISP2CLR P1.4 ;LED3数码管显示数码,即分钟的高位LCALL DELAYSETB P1.4MOV A,B LCALL DISP2LCALL DELAY SETB P1.3 RETDUP2: RLCA;A 带进位左循环移位MOV SDA,CCLRCLK; 上升沿触发数据接收SETB CLKDJNZ R4,DUP2RET・******************************** J判断闹钟 *************************ALARM:MOVA,40HCJNE A,#00H,MUSIC ; 整点闹铃LJMPB2MUSIC: MOVA,43HCJNE A,41H,B1MOVA,42HCJNE A,40H,B1; 音乐闹铃;R4记作左循环的次数MOV R4,#08H 时间是否到来DISP2: MOVC A,@A+DPTR ;LED 串并转换口从P1.0接收SETB P1.7MOV 70H,#00H NEXT: MOV A,70HMOV DPTR,#TABLE ;从TABLE中读取数据-—声响时间MOVC A,@A+DPTRMOV R4,A ;将TABLE中读取的数据存放在R4JZ END0ANL A,#0FHMOV R5,A;R5作为节拍长度MOV A,R4SWAP AANL A,#0FHJNZ SINGCLR TR1JMP D1SING: DEC AMOV 62H,ARL AMOV DPTR,#TABLE1 ;从TABLE1中读取数据—声调MOVC A,@A+DPTRMOV TH1,A ;设定TH1 值MOV 61H,AMOV A,62HRL AINC AMOVC A,@A+DPTRMOV TL1,A ;设定TL1 值MOV 60H,AMOV TH1,61HMOV TL1,60HSETB TR1D1: ACALL DELAY0 ;声音延时INC 70HLCALL MODEJMP NEXTEND0: CLR TR1JMP MUSICDELAY0:MOV R7,#2 ;R5 的值就是声响持续时间D2: MOV R6,#214D3: MOV R4,#245DJNZ R4,$DJNZ R6,D3DJNZ R7,D2DJNZ R5,DELAY0RETB1: CLR TR1RETB2: MOV 61H,#0FEHMOV 60H,#033HMOV TH1,61HMOV TL1,60HSETB TR1・ ********************************J************************ ALARM_OPEN:PUSH ACCPUSH PSWMOV TH1,61HMOV TL1,60HCPL P1.7POP PSWPOP ACCRETI・ ********************************J************************* ;方波频率设为1KHz 闹钟响铃中断服务程序时钟走时中断服务程序;重新对TO 赋值,设置中断时间为5ms; 计数 5ms 的次数加 1 ; 不够 2OO 次,跳转到 BACK;够200次,P1.2翻转控制LED 闪动一下 ;计数5ms 的次数清0,秒数加1;不够 60 秒,跳转到 BACK ;够 60 秒,秒数清 0,分钟加 1;够 60 分钟,跳转到 BACK;够 60 分钟,分钟数清 0,小时数加 1;够 24 小时,跳转到 BACK ;够 24 小时,小时数清 0按键判断部分; 软件消抖后再判断LCALL DELAYMOV TL0,#78H MOV 40H,R2 MOV 41H,R3 INCR0CJNE R0,#200,BACK CPL P1.2 MOV R0,#00H INCR1CJNE R1,#60,BACK MOV R1,#00H INCR2CJNE R2,#60,BACK MOV R2,#00H INCR3CJNE R3,#24,BACK MOVR3,#00HBACK: RETI*****************************MODE: MOV A,P3TIMER: MOV TH0,#0ECH・ ***********************************CJNE A,P3,MODEANL A,#0CHCJNE A,#00H,LOP1AJMP T_BACKLOP1: CJNE A,#04H,LOP2AJMP T_CHANGE LOP2: CJNE A,#08H,LOP3AJMP A_CHANGE LOP3: AJMP A_CLOSE ; ............. 时钟调整................;对S2、S1 的值判断;模式为00,开T1 中断;模式为01,进行时间调整;模式为10,进行闹铃调整; 模式为11,关闭闹钟T_CHANGE:LCALL DISPLAY1LCALL DELAY1T_HOUR:JNB S3,T_HOURT_MIN: MOVR5,40HINC R5CJNE R5,#60,LOP4MOVR5,#00H LOP4: MOV 40H,R5MOV R2,40H ;S3为0判断S4;S3为1,分钟数加1AJMP MODEJNB S4,MODE ;S4 为0,跳转到MODEMOV R5,41HINC R5CJNE R5,#24,LOP5MOV R5,#00HLOP5: MOV 41H,R5MOV R3,41HAJMP MODE; .............. 闹铃调整..................A_CHANGE:LCALL DISPLAY2LCALL DELAY2JNB S3,A_HOUR ;S3 为0,判断S4 A_MIN: MOV R5,42HINC R5 ;S3为1,分钟数加1CJNE R5,#60,LOP6MOV R5,#00HLOP6: MOV 42H,R5AJMP MODEA_HOUR:JNB S4,M0DE ;S4为0,跳转到MODE MOV R5,43HCJNE R5,#24,LOP7MOV R5,#00HLOP7: MOV 43H,R5AJMP MODE; ............. 返回......................T_BACK:SETB ET1 ;开T1 中断RETA_CLOSE:CLR ET1 ;关T1 中断RET・ ************************************延时程序J********************************DELAY:MOV 63H,#5HD5: MOV 64H,#0FFHDJNZ 64H,$DJNZ 63H,D5RET・延时程序1 ************************************DELAY1:MOV R7,#50HD6: LCALL DISPLAY1DJNZ R7,D6RET・ ************************************ 延时程序********************************DELAY2:MOV R7,#50HD7: LCALL DISPLAY2 DJNZR7,D7 RET・******************************** 数码管显示的字形表***************************TAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H; 数字0~9,不带小数点"dp"DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;数字0~9,带小数点"dp"・ ********************************** 音乐的节拍表*******************************TABLE:DB 82H,01H,81H,94H,84H,0B4H,0A4H,04HDB 82H,01H,81H,94H,84H,0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB 82H,01H,81H,94H,84H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB 00H・ *************************** 由音乐音符设置的T1 计数值**************************TABLE1D: W 64260,64440,64524,64580,64684,64777,64820,64898 ;音符计数值DW 64968,65030,65058,65110,65157,65178,65217END六、实验过程:启动Keil,新建一个工程,然后选择芯片(Philips―― P80/P87C52X2。