




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机数字音乐闹钟设计 第 1 页 共 27 页 常州工学院 (成人教育) 毕毕 业业 设设 计(论文)计(论文) 题题 目目 单片机数字音乐闹钟设计单片机数字音乐闹钟设计 副标题副标题 性性 质:质: 毕业设计毕业设计 毕业论文毕业论文 学生姓名学生姓名 年年 级级 G G 自动化自动化 5080150801 教教 学学 点点 无锡技师学院无锡技师学院 专专 业业 工业电气自动化工业电气自动化 指导教师指导教师 评定成绩评定成绩 优优 良良 中中 及格及格 不及格不及格 目录 摘要 单片机数字音乐闹钟设计 第 2 页 共 27 页 第一章 概述 .1 1 第二章 系统总体方案及硬件设计.2 2.1 总体设计 .2 2.3 系统时钟电路设计 .2 2.3 系统复位电路的设计 .2 2.4 闹钟指示电路设计 .2 2.5 电子闹钟的显示电路设计 .3 第三章 软件设计.4 3.1 概述 .4 3.2 主模块的设计 .4 3.3 基本显示模块设计 .5 3.4 时间设定模块设计 .5 3.5 闹铃功能的实现 .6 第四章 PROTEUS 软件仿真 .8 总结.9 致谢.10 参考文献.11 附录:源程序代码.12 常州工学院成人(继续)教育学院常州工学院成人(继续)教育学院 毕业设计(论文)任务书毕业设计(论文)任务书 系: 电气系 专业: 工业电气自动化 班级: G 自动化 50801 学生姓名胡德军指导教师沈志君职称 课题名称单片机数字音乐闹钟设计 单片机数字音乐闹钟设计 第 3 页 共 27 页 课 题 工 作 内 容 本设计是以AT89C51 芯片为核心,辅以必要的外围电路,设计了一个结构简单的 数字音乐闹钟。在硬件方面,除了CPU 外,使用六个七段LED 数码管来进行显示,LED 采用的是动态扫描显示,通过LED 能够较为准确地显示时、分、秒。四个简单的按键 实现对时间的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示、 调时和定时闹钟的功能。 指 标 目 标 要 求 以 AT89C51 单片机为核心,设计一个定时闹铃,完成七段 LED 显示、音乐播放、 按键调整的程序设计 (1)能够显示当前时间和闹铃时间 (2)闹铃到达预设时间能够播放音乐 (3)通过按键能够调整、校正时间 进 程 安 排 第一周 选题、调研和资料收集 第二周 确定课题方案,进行课题设计 第三周至第四周 进行软件系统的设计和仿真 第五周 完成撰写论文,检查、修改并打印论文 第六周 答辩 主 要 参 与 文 献 1、潘永雄.新编单片机原理与应用. 西安电子科技大学出版社,2002 年 2、沈庆阳、郭庭吉.单片机实践与应用.清华大学出版社,2002 年 3、何立民.单片机应用技术选编,北京航空航天大学出版社,1993 年 4、赵晓安.MCS-51 单片机原理及应用.天津大学出版社,2001 年 5、赵晓安.MCS-51 单片机原理及应用.天津大学出版社,2001 年 地 点 无锡技师 学院 起止 日期 2011,.11.28 2012.1.7 系主任: 指导教师: 年 月 日 年 月 日 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应 用很广、发展很快。而51 单片机是各单片机中最为典型和最有代表性的一种。 本设计是以AT89C51 芯片为核心,辅以必要的外围电路,设计了一个结构简单的数字音 乐闹钟,它由5V 直流电源供电。在硬件方面,除了CPU 外,使用六个七段LED 数码管来进 行显示,LED 采用的是动态扫描显示,通过LED 能够较为准确地显示时、分、秒。四个简单 的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示、 调时和定时闹钟的功能。 单片机数字音乐闹钟设计 第 4 页 共 27 页 选用单片机最小系统应用程序,添加比较程序、时间调整程序及音乐程序。通过时间比 较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。测试程序的可行性并用 Proteus 进行仿真。 关键字:单片机 LED 闹钟 常州工学院成人常州工学院成人(继续继续)教育学院教育学院 毕业设计(论文)指导记录毕业设计(论文)指导记录 (20 /20 学年学年 第第 学期)学期) 专业 工业电气自动化 班级 G 自动化 50801 一、课题情况 学生姓名课题名称 胡德军单片机数字音乐闹钟设计 二、指导记录 内容与要求指导记录 前 期 课题落实情况、学生对毕 业设计的内容,要求及方 法步骤是否了解、有否工 作计划、指导时间与方式 是否落实。 日期 中 期 毕业设计的进度情况、素 材的来源与选择、设计过 程中遇到那些困难与问题、 是否有特殊情况。 日期 后 期 按任务书要求学生完成毕 业设计情况、毕业设计资 料是否齐全、符合要求, 对毕业设计内容审阅情况。 日期 指导教师: 年 月 日 单片机数字音乐闹钟设计 第 5 页 共 27 页 指导教师应按时分阶段填写指导记录,学生全部完成毕业设计后,随毕业设计成绩评定表一起交电 气工程系。 第 1 章 概述 本设计数字音乐闹钟的设计,由单片机 AT89C51 芯片和 LED 数码管为核心,辅以必要的 电路,构成的一个单片机数字音乐闹钟。 定时闹钟设计可采用数字电路实现,也可以采用单片机来完成。定时闹钟是用数字集成 电路构成的,用数码管显示“时” , “分” , “秒”的现代计时装置。单片机具有集成度高、功 能强、通用性好、特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特 的优点,所以单片机现在广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动 化产品等领域。所以在该设计中采用单片机 AT89C51 来完成定时闹钟的设计。它是低功耗、 高性能的 CMOS 型 8 位单片机。片内带有 4KB 的 Flash 存储器,且允许在系统内改写或用编程 器编程。另外, AT89C51 的指令系统和引脚与 8051 完全兼容,片内有 128B 的 RAM、32 条 I/O 口线、2 个 16 位定时计数器、5 个中断源、一个全双工串行口等。AT89C51 单片机结合 七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃设置时间,若闹铃时 间到则播放音乐。按 K4 键退出音乐播放并返回时间显示界面。否则音乐一直播放。 设计内容包括了秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路 等几部分的设计。采用四个开关来控制定时闹钟的工作状态,分别为:K1、设置显示时间和 闹钟的小时;K2、设置显示时间的小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟; K4、设置完成退出。 设计准备中根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹 钟的程序,依据程序利用 Proteus 软件进行了仿真试验,对出现的问题进行分析和反复修改 源程序,最终得到正确并符合要求的结果。 单片机数字音乐闹钟设计 第 6 页 共 27 页 第 2 章 系统总体方案及硬件设计 2.1 总体设计 电子闹钟应包括秒信号发生器、时间显示电路、按键电路、供电电源以及闹铃指示电路 等几部分。 按键功能说明:K1、设置显示时间和闹钟的小时;K2、设置显示时间的小时以及设置闹 钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。 电子闹钟的系统框图如下所示: 图 1 电子闹钟的主电路指的是图中虚线框内部分,主要涉及到 CPU 电路和按键按钮电路。 主机的设计具体地说有:1)系统时钟电路设计;2)系统复位电路设计;3)按键与按钮电 路设计;4)闹铃声指示电路设计。 2.2 系统时钟电路设计 对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但 由于原理图中的 C1、C2 电容起着系统时钟频率微调和稳定的作用,因此,在本闹钟系统的 实际应用中一定要注意正确选择参数(3010 PF) ,并保证对称性(尽可能匹配) ,选用正 牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能低。实验表明,这 2 个电 容元件对闹钟的走时误差有较大关系。 2.3 系统复位电路的设计 智能系统一般应有手动或上电复位电路。复位电路的实现通常有两种方式:)RC 复 位电路;)专用 监控电路。前者实现简单,成本低,但复位可靠性相对较低;后者成 本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监 视的场合,大多采用这种方式。 本次毕业设计采用了上电按钮电平复位电路。 2.4 闹钟指示电路设计 AT89C51 复位、时钟等电 路 按钮电路 6 位数码管显示电路 闹铃声指示电路 电源系统 单片机数字音乐闹钟设计 第 7 页 共 27 页 闹铃指示可以有声或光两种形式。本系统采用声音指示。关键元件是蜂鸣器。蜂鸣器有 无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源 电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。市场上的有源蜂鸣 器分为 3、5、6等系列,以适应不同的应用需要。闹钟电路是用比较器来比较计时系 统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号, 再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。 2.5 电子闹钟的显示电路设计 本次课程设计采用了 6 位数码管显示电路。在 6 位 LED 显示时,为了简化电路,降低成本,采 用动态显示的方式, 6 个 LED 显示器共用一个 8 位的 I/O, 6 位 LED 数码管的位选线分别由 相应的 P2. 0P2. 5 控制,而将其相应的段选线并联在一起,由一个 8 位的 I/O 口控制,即 P0 口。译码显示电路将“时” 、 “分” 、 “秒”计数器的输出状态靠七段显示译码器译码,通 过 6 位 LED 七段显示器显示出来。到达定时电路时根据计时系统的输出状态产生一脉冲信号, 然后去触发一音频发生器实现闹铃。校时电路时用来对“时” 、 “分” 、 “秒”显示数字进行校 对调整的。 单片机数字音乐闹钟设计 第 8 页 共 27 页 第 3 章 软件设计 3.1 概述 软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。基于软 件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后 必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是, 利用单片机内部的定时器溢出中断来实现。例如,设定某定时器每 100ms 中断 1 次,则 10 次的周期为 1s。本系统中所使用的晶振频率为 12MHZ。 3.2 主模块的设计 主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种 方式, “自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的多 少和性能的好坏。本系统的主模块的程序框图如下图 2 所示: 图 2 3.3 基本显示模块设计 基本显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高 系统初始化 定时初始化 中断初始化 串口初始化 显示待机指示符 设定闹铃时间 判设置闹铃时间否? 显示刷新 启动走时 有关变量初始化 刷新显示 判时或分变化否? 秒指示 判秒到否? 闹铃 判是否到闹铃时间? 延时 Y Y Y Y 单片机数字音乐闹钟设计 第 9 页 共 27 页 精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石 英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电 路计时时,译码代替机械式传动,用 LED 显示器代替显示器代替指针显示进而显示时间,减 小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的 灵活性好。 3.4 时间设定模块设计 时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉及 4 个键完 成了 6 位时间参数的设定。软件法去抖动的实质是软件延时,即检测到某一键状态变化后延 时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动, 不予理睬。去抖中的延时时间一般参考资料多描述为 10ms 左右,实际应用中,应大于 20ms,否则,会导致按一次作多次处理,影响程序正常执行。 “一键多态”即多功能键的实 现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能。 其流程图如下图 3 所示: 图 4 3.5 闹铃功能的实现 闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间 设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃 判别与闹铃处理的关键在于判别何时要进行闹铃。当时十位、时个位、分十位、分个位中任 一位发生改变(进位)时,就必须进行闹铃判别。译码显示电路将“时” 、 “分” 、 “秒”计数 设置键吗? 设置模块初始化 将在编参数送显示缓冲区 闪烁标志为真? 将当前位的显示代码置暗代码 调基本显示模块刷新显示 设置键吗? 当前编辑位下移(下一位) 当前编辑的是分各位?结束设定 键吗? 根据当前位的性质分别进行 处理(含上下限判断) 单片机数字音乐闹钟设计 第 10 页 共 27 页 器的输出送到七段显示译码驱动器译码驱动,通过六个七段 LED 显示器显示出来。闹铃电路 根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动 蜂鸣器发声实现报时。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数 器来对“时” 、 “分” 、 “秒”显示数字进行校对调整。 其流程图如下所示: 图 5.1 图 5.2 考虑到实用性,在该电子钟的设计中修改定时或调整时间时采用了闪烁,在编程上,首先 进行了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定 单元用来存储计数的秒,分,时。 时十位、个位,分十位、个位改变了 设置闹铃标志 是否设置了闹铃 清除闹铃标志 判当前时间是设定时间 中断返回 中断返回 闹铃判别处理 单片机数字音乐闹钟设计 第 11 页 共 27 页 在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与位选相互结合的 方法来控制调时或定时中的闪烁。时,分,秒显示则是用了软件译码(查表)的方式,再用了一 段固定的程序段进行进制转化。初始化之后,用中断方式对其计数,计数的同时采用了定时器 比较的方法,比较当前计数时间与定时时间是否相等,若相等则将闹铃标志位置数,闹钟响。 单片机数字音乐闹钟设计 第 12 页 共 27 页 第四章 Proteus 软件仿真 本次课程设计所采用的程序调试软件为 VM 集成调试软件,所采用的仿真软件 Proteus6 Professional 软件。 本次试验的效果图如下所示: 性能及误差分析 该电子钟有四个按键: K1, K2、K3 和 K4 键。K1、设置显示时间和闹钟的小时;K2、设 置显示时间的小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。 经测试该电子钟在软件的编程过程中所产生的误差比较小。另外在中断的过程中,只会在第 一次计时时产生时间的偏移,而它所产生累计误差很小,可以忽略。 仿真部分采用 Proteus6 Professional 软件,此软件功能强大且操作较为简单,可以很 容易的实现各种系统的仿真。 单片机数字音乐闹钟设计 第 13 页 共 27 页 总结 通过本次毕业设计较系统地掌握有关单片机控制的设计思想和设计方法,主要对 AT89C51 的结构、功能、内部资源等了解并对其进行测试和加以应用的知识得到学习。由于 是在我们短学期实习之后才来始写的,我们实习做的是电子钟,所以对时钟有了一定的掌握。 我在原来的功能上增加了音乐闹钟的功能。 。 在本设计中尽量做到了硬件电路简单稳定,充分发挥软件编程的优点,减小因元器件精 度不够引起的误差。 由于时间有限和本身知识水平的发挥,我们认为本系统还有需要改进和提高的地方,例 如选用更高精度的元器件,硬件电路更加精确稳定,软件测量算法进一步的改进与完善等。 单片机数字音乐闹钟设计 第 14 页 共 27 页 致谢 虽然这次毕业设计的时间不是很长,但毕业设计却是自己独立思考完成的,首先我对任 务按时间进行了分工,每天按时完成任务,再然,课后的创新思考,也成了我近期的参考事 项,最后,经过不断的实习演练,才能确保顺利完成优质的毕业设计。因为是自己的单独设 计,刚开始时,心里总有些紧张与茫然,不知如何入手,但我们的指导老师具有高度的责任 感与敬业精神,在他们的指导下,我才能顺利的完成这项工作,他们在指导我的同时也让我 深深的感受到了生活中的激情与处事方式,我深深的感谢他们对我的栽培。 通过这次毕业设计,使我对所学的理论知识有了实践的演练,操作能力得到了很大的提 高。 我认为理论知识毕竟是书本上的,是抽象的,而我们的生活是需要实际操作的,只有通 过实际的操作演练与理论相结合,才能使我们真正的学到更多我们想象不到的知识,而在这 三年的学习生活中我们就是缺少了理论和实践的紧密结合,而本次毕业设计则恰恰像一场及 时雨,让我们通过亲身模拟学会如何把理论知识应用于实践。给了我充分的锻炼机会。获益 非浅! 感谢学校和老师对我们的栽培! 单片机数字音乐闹钟设计 第 15 页 共 27 页 参考文献 1、潘永雄.新编单片机原理与应用. 西安电子科技大学出版社,2002 年 2、张友德,赵志英,涂时亮.单片机微型机原理应用与实验. 复旦大学出版社,2000 年 3、周航慈、朱兆优、李跃忠.智能仪器原理与设计. 北京航空航天大学出版社,2005 年 4、江秀汉.可编程序控制器原理及应用(第二版).西安电子科技大学出版社,2003 年 5、沈庆阳、郭庭吉.单片机实践与应用.清华大学出版社,2002 年 6、窦振中.单片机外围器件实用手册存储器分册.北京航空航天大学出版社,1998 年 7、关德新,冯文全.单片机外围器件实用手册电源器件分册.北京航空航天大学出版社, 1998 年 8、何立民.单片机应用技术选编,北京航空航天大学出版社,1993 年 9、李建忠.单片机原理及运用. 西安电子科技大学出版社,2001 年 10、吴金戎、沈庆阳.8051 单片机实践与应用.清华大学出版社 ,2001 年 11、赵晓安.MCS-51 单片机原理及应用.天津大学出版社,2001 年 12、冯建华、赵亮.单片机应用系统设计与产品开发. 人民邮电出版社, 2004 年 13、何立民.MCS51 系列单片机应用系统设计.北京航空航天大学出版社, 1999 年 14、李荣正、陈学军.PIC 单片机实验教程. 北京航空航天大学出版社,2006 年 15、张义和、陈敌北.例说 8051.人民邮电出版社,2006 年 单片机数字音乐闹钟设计 第 16 页 共 27 页 附录 源程序代码 K1 EQU P1.0 ;在程序开始前定义变量 K2 EQU P1.1 K3 EQU P1.2 K4 EQU P1.3 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ORG 001BH LJMP TIME1 ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;时间 BIN SECOND MOV 21H,#00H ; BIN MINUTE MOV 22H,#00H ; BIN HOUR MOV 23H,#01H ;闹铃 BIN MINUTE MOV 24H,#01H ; BIN HOUR MOV 25H,#00H ;定义一个标志位 MOV 30H,#00H ;时间 BCD SECOND MOV 31H,#00H ; MOV 32H,#00H ; BCD MINUTE MOV 33H,#00H ; MOV 34H,#00H ; BCD HOUR MOV 35H,#00H ; MOV 36H,#01H ;闹铃 BCD MINUTE MOV 37H,#00H ; MOV 38H,#01H ; BCD HOUR MOV 39H,#00H ; MOV TMOD,#11H ;16 位计数器 T0,方式 1 MOV TH0,#03CH ;赋初值 MOV TL0,#0B0H MOV IE,#10000111B ;开中断 T0,EA=1 SETB ET1 SETB ET0 SETB TR0;T0 启动计数 MOV R2,#14H ;计数器 单片机数字音乐闹钟设计 第 17 页 共 27 页 MOV P2,#0FFH LOOP:LCALL TIMEPRO ; 调用现在时间与闹铃时间比较程序 LCALL DISPLAY1 ; 调用现在时间显示子程序 JB K1,M1 ; 判断按键是否按下 LCALL XIAOZHEN1 ; 调用消抖程序 MOV C,25H.0 JC A1 A1:CLR 25H.0 LCALL SETTIME ; 调用设置现在时间子程序 LJMP LOOP M1:JB K2,M2 LCALL XIAOZHEN2 MOV C,25H.0 JC A2 A2:CLR 25H.0 LCALL SETATIME ; 调用设置闹钟的程序 LJMP LOOP M2:JB K4,M3 A3:LCALL XIAOZHEN3 MOV C,25H.0 JC A4 A4:CLR 25H.0 M3:LJMP LOOP SETTIME: L0 LCALL DISPLAY1 JB K2,L1 LCALL XIAOZHEN4 MOV C,25H.0 JC A5 A5:CLR 25H.0 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB K3,L2 单片机数字音乐闹钟设计 第 18 页 共 27 页 LCALL XIAOZHEN5 MOV C,25H.0 JC A6 A6:CLR 25H.0 INC 21H MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB K4,L0 LCALL XIAOZHEN3 MOV C,25H.0 JC AX AX:CLR 25H.0 RET SETATIME: LCALL DISPLAY2 ;调用闹钟设置,闹铃响时的显示程序 N0:LCALL DISPLAY2 JB K3,N1 LCALL XIAOZHEN6 MOV C,25H.0 JC A7 A7:CLR 25H.0 INC 24H MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H 单片机数字音乐闹钟设计 第 19 页 共 27 页 MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB K1,N2 LCALL XIAOZHEN7 MOV C,25H.0 JC A8 A8:CLR 25H.0 INC 23H MOV A,23H CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB K4,N0 LCALL XIAOZHEN3 MOV C,25H.0 JC A9 A9:CLR 25H.0 RET TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK SETB 25H.0 单片机数字音乐闹钟设计 第 20 页 共 27 页 MOV C,25H.0 JC XX XX:LJMP START BK:RET START:JNB K4,S2 MAIN1: MOV 40H,#00H ;设简谱码指针初始值 NEXT: MOV A,40H ;简谱码指针暂存累加器 A MOV DPTR,#TABLE ;设简谱码 MOVC A,A+DPTR CJNE A,#00H,PLAY ;取到的简谱码不是结束码,传 PLAY 取节拍码 LJMP STOP ;是结束码,退出 PLAY: MOV R1,A ;R1 暂存简谱码 ANL A,#0FH ;取节拍码 MOV R2,A MOV A,R1 ANL A,#0F0H ;取音符码 CJNE A,#00H,MUSIC ;音符码不为 0,调发音子程序 CLR TR1 ;音符码为 0,不发音 LJMP DEL MUSIC:SWAP A DEC A MOV 52H,A ADD A,52H MOV R3,A MOV DPTR,#TABLE1 ;取相应计数值 MOVC A,A+DPTR MOV TH1,A ;暂存高位字节 MOV 51H,A MOV A,R3 INC A MOVC A,A+DPTR ;取相应计数值的低位字节 MOV TL1,A ;暂存低位字节 MOV 50H,A SETB TR1 ;启动定时器 DEL: LCALL DELAY INC 40H ;指向下一个简谱码 LJMP NEXT STOP: CLR TR1 ;停止计时器 单片机数字音乐闹钟设计 第 21 页 共 27 页 LJMP MAIN1 TIME1:PUSH ACC ;现场保护 PUSH PSW CPL P3.7 ;P3.7 反相输出,演奏音乐 MOV TL1,50H ;重设计数值 MOV TH1,51H POP PSW POP ACC RETI DELAY:MOV R7,#02H ;4/4 曲调,演示 125ms 子程序 DELA1:MOV R6,#125 DELA2:MOV R5,#248 DJNZ R5,$ DJNZ R6,DELA2 DJNZ R7,DELA1 DJNZ R2,DELAY RET S2:LJMP LOOP TABLE1:DW 64524,64580,64684,64777 ;简码值 DW 64820,64898,64968,65030,65058 DW 64400,64260 TABLE:DB 42H,62H,72H,41H,61H,41H,31H,22H,0B2H ;歌曲三个和尚 DB 62H,61H,61H,71H,61H,41H,64H DB 0B2H,0B2H,62H,61H,61H,71H,61H,41H,64H DB 0B2H,0B2H,62H,61H,61H,71H,61H,41H,64H DB 42H,62H,72H,41H,61H,41H,31H,22H,0B2H DB 22H,31H,41H,31H,21H,0A2H,0B4H DB 22H,31H,41H,31H,21H,0A2H,0B4H DB 22H,31H,41H,31H,21H,0A2H,0B4H DB 0A2H,21H,32H,42H,62H,61H,41H,62H,71H DB 42H,41H,61H,42H,32H,22H,31H,21H,0A2H DB 42H,41H,61H,42H,32H,22H,31H,21H,0A2H DB 42H,41H,61H,42H,32H,22H,31H,21H,0A2H DB 62H,61H,42H,62H,71H,61H,72H,62H,71H DB 62H,61H,71H,32H,42H,64H DB 00H XIAOZHEN1:LCALL DISPLAY1 JB K1,XIAOZHEN1 单片机数字音乐闹钟设计 第 22 页 共 27 页 MOV C,K1 JC XIAOZHEN1 LCALL DELAY5 MOV C,K1 JC XIAOZHEN1 STOP1:MOV C,K1 JNC STOP1 LCALL DELAY5 MOV C,K1 JNC STOP1 SETB 25H.0 RET XIAOZHEN2:LCALL DISPLAY2 JB K2,XIAOZHEN2 MOV C,K2 JC XIAOZHEN2 LCALL DELAY5 MOV C,K2 JC XIAOZHEN2 STOP2:MOV C,K2 JNC STOP2 LCALL DELAY5 MOV C,K2 JNC STOP2 SETB 25H.0 RET XIAOZHEN3:LCALL DISPLAY1 JB K4,XIAOZHEN3 MOV C,K4 JC XIAOZHEN3 LCALL DELAY5 MOV C,K4 JC XIAOZHEN3 STOP3:MOV C,K4 JNC STOP3 LCALL DELAY5 MOV C,K4 JNC STOP3 单片机数字音乐闹钟设计 第 23 页 共 27 页 SETB 25H.0 RET XIAOZHEN4:LCALL DISPLAY1 JB K2,XIAOZHEN4 MOV C,K2 JC XIAOZHEN4 LCALL DELAY5 MOV C,K2 JC XIAOZHEN4 STOP4:MOV C,K2 JNC STOP4 LCALL DELAY5 MOV C,K2 JNC STOP4 SETB 25H.0 RET XIAOZHEN5:LCALL DISPLAY1 JB K3,XIAOZHEN5 MOV C,K3 JC XIAOZHEN5 LCALL DELAY5 MOV C,K3 JC XIAOZHEN5 STOP5:MOV C,K3 JNC STOP5 LCALL DELAY5 MOV C,K3 JNC STOP5 SETB 25H.0 RET XIAOZHEN6:LCALL DISPLAY2 JB K3,XIAOZHEN6 MOV C,K3 JC XIAOZHEN6 LCALL DELAY5 MOV C,K3 JC XIAOZHEN6 STOP6:MOV C,K3 单片机数字音乐闹钟设计 第 24 页 共 27 页 JNC STOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 同济大学浙江学院《口腔颌面外科学实验一》2023-2024学年第一学期期末试卷
- 广东省阳江市高中名校2024-2025学年高中高三第二次教学质量检测试题英语试题试卷含解析
- 泉州华光职业学院《工程光学及实验》2023-2024学年第一学期期末试卷
- 晋中职业技术学院《高级汉语写作》2023-2024学年第二学期期末试卷
- 2025年校外托管合同模板
- 湖南省长沙市2025年初三5月中考模拟考试(一)化学试题含解析
- 甘肃省兰州市七里河区重点名校2024-2025学年初三教学质量检测试题(一)英语试题理试题含答案
- 湖南省祁东育英实验学校2025届高三5月质检物理试题含解析
- 内蒙古赤峰市2025届高三(实验班)第三次质检物理试题含解析
- 聘请律师合同尽职调查(2025年版)
- 2024年晋城市城区城市建设投资经营有限公司招聘考试真题
- 社工证笔试题库及答案
- 高考写作专项突破之核心概念阐释要诀 课件
- 2025年全国质量月活动总结参考(2篇)
- 口腔四手操作培训
- 2025年月度工作日历含农历节假日电子表格版
- 第37章 真菌学概论课件
- 总裁助理岗位职责
- 2024年封顶仪式发言稿模版(3篇)
- 癌症治疗协议书范例
- 《中华人民共和国机动车驾驶人科目一考试题库》
评论
0/150
提交评论