音乐倒数计数器ds
AT89C51单片机设计的音乐倒数计数器解析

塔里木大学《单片机原理与外围电路》课程论文基于单片机设计的音乐倒数计数器姓名:古再丽努尔·阿卜来提学号: **********班级:通信工程16-1摘要:单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。
近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
单片机由CPU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。
本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。
用4个按键操作来设置当前想要倒计数的时间。
做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。
应用Proteus的ISIS软件和Keil uVision3来实现该计数器的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词:AT89C51,计数器,键盘控制,LCD显示,protues,Keil 。
目录1绪论 (4)1.1课题背景及研究意义 (4)1.2国内外现状 (4)1.3课题的设计目的 (4)1.4课题的主要工作 (4)2系统概述 (5)2.1方案论证 (5)2.2系统设计原理 (5)3系统硬件设计 (5)3.1主控电路设计 (5)3.2LCD液晶显示器接口电路设计 (6)4系统软件设计 (6)4.1主程序设计 (6)4.2硬件调试 (8)4.3仿真结果 (16)结论 (16)参考文献 (17)系统整体电路.............................................................................................错误!未定义书签。
音乐倒数计时器——单片机课程设计报告

仿 真 原 理 图
实 际 电 路 图
倒计时过程:
LED倒计时指示灯:
main.c(主要逻辑) : #define DEBUG 基 本 设 计 代 码
#include <mcs51/8051.h> __code char LEDDigit[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x40 };
#ifdef LED8_REVERSE LED8_B = ~(1<<LED8_REVERSE-i); #else LED8_B = ~(1<<i); #endif #ifdef LED8_B_EN LED8_B_EN = 1; LED8_B_EN = 0; #endif delay(1); } } struct { unsigned char TH, } __code keyc[] = { {0, 0}, {64580/256, 64580 {64684/256, 64684 {64777/256, 64777 {64820/256, 64820 {64898/256, 64898 {64968/256, 64968 {65030/256, 65030 };
TL;
% % % % % % %
256}, 256}, 256}, 256}, 256}, 256}, 256}
struct { char delay; char key; } __code mus[] = { // 通电提示音 {0, -1}, {0, 0}, {4, 1}, {4, 5}, // 时间到音乐 {0, -1}, {0, 0}, #include "mus_littlestar.h" // 结束 {0, -1}, }; char mus_nidx; char shining;
音乐倒数计数器

音乐倒数计数器学院:计算机与控制工程学院专业班级:自动化 082学号: __________________学生姓名:引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人带来的方便也是不可置否的,人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。
做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。
1 项目概述和要求1.1 设计要求利用数字AT89C51单片机实现倒数计数器的功能,设定时间后在LED数码管上显示相应的时间。
其功能和性能指标如下:⑴字符型LCD(16×2)显示器,显示格式为“TIME 分分:秒秒”。
⑵用4个按键操作来设置当前想要倒计数的时间。
⑶一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。
⑷程序执行后工作指示灯LCD闪动,表示程序开始执行,按下操作键K1~K4动作如下:● K1---可调整倒计数的时间1~60分钟。
● K2---设置倒计数的时间为5分钟,显示“0500”。
● K3---设置倒计数的时间为10分钟,显示“1000”。
● K4--设置倒计数的时间为20分钟,显示“2000”⑸复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。
此时,若:●按K2键---增加倒计数的时间1分钟。
●按K2键---减少倒计数的时间1分钟。
●按K4键---设置完成。
1.2 设计方案音乐倒数计数器所倒数的时间由数字显示,控制器使用单片机AT89C51。
本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出时间,按下键就开始计时,并将时间显示在LCD1602显示器上。
摘要及翻译

摘要随着科学技术的发展,单片机技术在产品的人机交互设计中扮演着越来越重要的角色。
本文对基于单片机的ZH-502时间同步系统显示模块进行了研究。
ZH-502是武汉中原华电公司自主研发的时间同步系统,主要应用于电力系统。
本文采用MSP430单片机作为核心器件,设计完成ZH-502时间同步系统的显示显示模块。
首先查阅了大量资料,深入了解和掌握了MSP430单片机的内部结构和应用方法。
结合常见电路的用法,给出了整个显示模块的设计思路和整体框图;接着重点学习了LM6060CBY液晶模块、EPC-755A编码器和X5043看门狗定时器的原理和控制方法,设计完成了整个电路的原理图和PCB。
硬件电路完成之后,使用C语言作为软件语言来控制整个显示块。
本文还介绍了基于MSP430的C语言开发环境,自主完成了程序代码部分,并编译、下载,整个系统的预设功能:显示功能菜单;实时显示由卫星发送的时间;通过按键在菜单中改变时间同步系统输出的波特率,均已调试成功。
关键词: MSP430 LM6060CBY液晶 EPC-755A编码器 C语言AbstractWith the development of science and technology, single-chip technology in the products of human-computer interaction design play an increasingly important role. In this paper, based on single-chip ZH-502 display module time synchronization system is studied. ZH-502 Wuhan, Central China Huadian Corporation is the independent research and development of time synchronization system, mainly used in power systems.In this paper, single-chip microcomputer as the core of MSP430 devices, the design of the completion of ZH-502 time synchronization system display module. First of all, a great deal of information available, in-depth understanding and knowledge of the MSP430 MCU and application of the internal structure. Combination of common usage of the circuit, given the entire display module and the overall design of the diagram; LM6060CBY then focussed on the study of the LCD module, EPC-755A and X5043 encoder watchdog timer control theory and design to complete the entire circuit schematic and the PCB. Hardware circuit is complete, use the C language as a language to control the software shows the whole block.This article also describes the MSP430-based C language development environment, self-completed part of program code and compile, download, the entire system default function: display menu; real-time display of time by satellite; through the button in the menu to change the time synchronous system output of the baud rate, have been successful debugging.Key words: MSP430 LM6060CBY LCD EPC-755A encoder C language单片机即单片微型计算机(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。
【VIP专享】4万元HIEND解码器LINNAKURATEDS评测

【VIP专享】4万元HIEND解码器LINNAKURATEDS评测4万元HIEND解码器LINN AKURATE DS评测LINN是全球音质最优秀的HIEND音响品牌之一,成立于1972年,其众多产品已成为音响界的传奇经典,比如黑胶唱盘Sondek LP12、CD机CD12等等。
今年年初,LINN发布公告称,停止其CD 机产品线的生产,专注于PC解码器及LP黑胶唱盘。
LINN的解码器称为DS系列,目前共有4个产品:SNEAKY DS(历奇)、MAJIK DS (魔力)、AKURATE DS(精确)和KLIMAX DS(极点),售价分别为13000、28800、43000和97500。
目前LINN的DS是全球最顶级、也是销量最好的解码器系列。
LINN DS采用网线接口,跟普通解码器的USB/火线/光纤或同轴都不一样,采用网线接口最大的优点是完全保证了音频数据传输的精确性,让电脑只是作为音乐文件数据源,从电脑硬盘到DS解码器之间是几乎完全无损的数据传输过程,并且完全绕开了电脑操作系统本身对音频的控制,普通USB接口的解码器仍然会受到操作系统音量控制的制约,并且不同的软件输出方式也有音质的差异,USB解码器使用KS通道一般会有更好的效果,而光纤/同轴等连接方法则有更大的信息损耗。
LINN DS可以做到整个系统只有一个音量控制前级,软件本身的音量控制也可以关闭,操作系统对音频输出完全没有干扰,也没有爆音等现象,可以说是目前音质最优秀的连接方式。
其连接原理是电脑-路由器-DS解码器,之间通过网线连接。
路由器自动给电脑和DS分配网络地址,电脑通过LINN的DS软件控制DS 解码器,WAV等格式的音乐文件储存在电脑中,通过LINN播放软件很方便地传输到DS解码器播放。
DS支持WAV/FLAC/APE/MP3等几乎所有音乐格式文件。
这是是最简单的连接方法,而如果加入NAS网络存储器,把音乐文件储存在NAS 里,则可以用智能手机直接控制NAS里的音乐文件播放。
音乐倒数计数器课程设计

音乐倒数计数器课程设计一、课程目标知识目标:1. 学生能够理解音乐倒数计数器的基本概念,掌握其运用方法;2. 学生能够分辨音乐中的节奏和时值,运用倒数计数器进行准确计数;3. 学生能够了解音乐倒数计数器在乐曲中的作用,提高音乐欣赏能力。
技能目标:1. 学生能够熟练运用音乐倒数计数器进行节奏练习;2. 学生能够通过倒数计数器提高自己的音乐听力和节奏感;3. 学生能够将音乐倒数计数器应用于实际演奏和演唱中,提升音乐表现力。
情感态度价值观目标:1. 学生培养对音乐学习的兴趣,提高学习积极性;2. 学生通过音乐倒数计数器的学习,增强团队协作意识和集体荣誉感;3. 学生在学习过程中,培养耐心、细致、专注的品质,树立正确的价值观。
课程性质:本课程为音乐技能训练课,旨在通过音乐倒数计数器的学习,提高学生的音乐素养和节奏感。
学生特点:学生处于小学高年级阶段,对音乐有一定的认知基础,好奇心强,喜欢探索新鲜事物。
教学要求:教师需关注学生的个体差异,采用生动有趣的教学方法,激发学生的学习兴趣,培养其音乐技能和审美能力。
在教学过程中,注重引导学生将所学知识应用于实践,提高学生的音乐综合素质。
通过本课程的学习,使学生达到上述课程目标,为后续音乐学习打下坚实基础。
二、教学内容1. 音乐倒数计数器的基本概念与运用:- 引导学生了解音乐倒数计数器的定义及功能;- 通过实例演示,让学生掌握倒数计数器在音乐中的应用。
2. 节奏与时值的认识:- 梳理音乐中常见的节奏和时值;- 结合倒数计数器,让学生练习识别和划分不同节奏和时值。
3. 音乐倒数计数器在乐曲中的应用:- 分析教材中的经典乐曲,指出倒数计数器在乐曲中的关键作用;- 引导学生运用倒数计数器进行乐曲练习,提高演奏技巧。
4. 节奏练习与音乐表现:- 设计不同难度的节奏练习,让学生分组进行倒数计数器练习;- 鼓励学生在实际演奏和演唱中运用倒数计数器,提升音乐表现力。
5. 教学内容的安排与进度:- 第一周:了解音乐倒数计数器基本概念,认识节奏与时值;- 第二周:分析乐曲中倒数计数器的应用,进行节奏练习;- 第三周:分组练习,实际运用倒数计数器进行演奏和演唱;- 第四周:总结与展示,检验学生掌握情况,提高学生音乐素养。
音乐倒数计数器ds

黄河科技学院课程设计报告书题目: 音乐倒数计数器课程:单片机课程设计专业:数控技术班级:学号:学生:指导教师:何春霞2013年01 月 6 日摘要本设计是基于AT89C52单片机的音乐倒数计数器,根据单片机技术原理,通过硬件电路设计与软件设计,制作出的音乐倒数计数器能稳定运行,并能正常播放音乐。
该设计硬件部分主要包括按键电路、复位电路、LCD显示电路以及蜂鸣器组成,其中K1键作为第二功能键加入外部中断0,用以切换时间选择模式。
计数值为零时,通过定时器T1调节音频,是蜂鸣器发出不同的音调。
本设计利用Keil uVision4作为编程软件进行源程序设计及调试,同时使用PROTEUS7.7进行硬件电路的搭建仿真。
关键字:单片机音乐计数器proteus 蜂鸣器目录1 任务提出与方案论证 (7)1.1 采用555定时器 (7)1.2 采用单片机控制............. . (7)2 总体设计 (8)2.1 系统硬件设计 (8)2.2 系统软件设计 (8)3 详细设计及仿真 (9)3.1硬件电路详细设计 (9)3.2软件详细设计 (12)3.3 系统仿真 (14)4 总结 (16)参考文献 (17)附录 (18)1 任务提出与方案论证21世纪电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,而作为创新的倒数计数器更是在普通家庭中广泛应用。
1.1采用555定时器555定时器是一种模拟和数字功能相结合的中规模集成器件。
555定时器的功能主要由两个电压比较器决定。
两个电压比较器的输出电压控制RS触发器和放电管的状态。
在电源与地之间加上电压,当5脚悬空时,则电压比较器A1的反相输入端的电压为2VCC/3,A2的同相输入端的电压为VCC/3.若触发输入端TR的电压小于VCC/3,则比较器A2的输出为1,可使RS触发器置1,使输出端OUT=1.如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC/3,则A1的输出为1,A2的输出为0,可将RS触发器置0,使输出为0电平。
15秒数显声响倒计时器

陕西理工学院课程设计报告课程:电子技术综合课程设计题目:数显、声响倒计时电路设计院系:班级:学号:姓名:指导老师:组别:任务书一、制作数显声响倒计时电路二、任务及要求:设计并制作一个数显、声响式倒计时电路。
要求如下:1、电路具有10~99秒可预置定时功能。
2、有两个数码管显示计时时间,用一只LED指示计时开始与结束。
按预置/开始按钮,数码管显示定时时间,LED不亮;再按预置/开始按钮,LED亮,倒计时开始。
3、倒计时结束时,计数器停止计数,LED不亮。
4、电路具有开机预置数功能。
5、电路具有最后三秒报时功能,要求响半秒、停半秒,共三次。
用压控陶瓷蜂鸣器作为电声元件。
6、自制本电路所用的直流电源和一秒信号源。
二、参考资料:1.《数字电子技术实验指导书》实验一,实验三,实验四,实验六以及实验七的相关内容。
2.《模字电子技术基础》课本3.《数字电子技术基础》课本4.上百度网站查阅相关芯片的工作情况,引脚图和功能表。
1.相关设计方案及抉择 (4)1.1方案一 (4)1.2方案二 (5)2.理论设计--单元电路与总电路设计6 2.1 5V电压源电路设计 (6)2.2 1s信号源设计: (7)2.3 计数器电路设计: (9)2.3.174ls190管脚图及功能简介92.3.2 电路连接概述 (10)2.4 显示电路 (11)2.5报警电路 (13)2.6 控制电路 (14)3.仿真调试 (15)3.1 软件介绍 (15)3.2 调试过程 (15)3.2.1 倒计时及停止电路调试.. 15 4.实验中出现的问题及解决方法.. 16 5.小结 (18)6.附录 (19)6.1 总体电路图 (19)6.2 元器件清单 (19)6.3 器件管脚图 (20)1.相关设计方案及抉择1.1方案一如图1.1信号由555定时器产生频率为1HZ ,占空比1/2的信号,由190构成 15进制计数器,由JK 触发器控制190和发光二极管的工作状态,由三态门控制停止电路和声控电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黄河科技学院课程设计报告书题目: 音乐倒数计数器课程:单片机课程设计专业:数控技术班级:学号:学生姓名:指导教师:何春霞2013年 01 月 6 日摘要本设计是基于AT89C52单片机的音乐倒数计数器,根据单片机技术原理,通过硬件电路设计与软件设计,制作出的音乐倒数计数器能稳定运行,并能正常播放音乐。
该设计硬件部分主要包括按键电路、复位电路、LCD显示电路以及蜂鸣器组成,其中K1键作为第二功能键加入外部中断0,用以切换时间选择模式。
计数值为零时,通过定时器T1调节音频,是蜂鸣器发出不同的音调。
本设计利用Keil uVision4作为编程软件进行源程序设计及调试,同时使用PROTEUS7.7进行硬件电路的搭建仿真。
关键字:单片机音乐计数器 proteus 蜂鸣器目录1 任务提出与方案论证 (7)1.1 采用555定时器 (7)1.2 采用单片机控制 (7)2 总体设计 (8)2.1 系统硬件设计 (8)2.2 系统软件设计 (8)3 详细设计及仿真 (9)3.1硬件电路详细设计 (9)3.2软件详细设计 (12)3.3 系统仿真 (14)4 总结 (16)参考文献 (17)附录 (18)1 任务提出与方案论证21世纪电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,而作为创新的倒数计数器更是在普通家庭中广泛应用。
1.1采用555定时器555定时器是一种模拟和数字功能相结合的中规模集成器件。
555定时器的功能主要由两个电压比较器决定。
两个电压比较器的输出电压控制RS触发器和放电管的状态。
在电源与地之间加上电压,当5脚悬空时,则电压比较器A1的反相输入端的电压为2VCC/3,A2的同相输入端的电压为VCC/3.若触发输入端TR的电压小于VCC/3,则比较器A2的输出为1,可使RS触发器置1,使输出端OUT=1.如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC/3,则A1的输出为1,A2的输出为0,可将RS触发器置0,使输出为0电平。
本方案由于555定时器回差太小、且不能调整、功能上有所欠缺等缺点不宜选择。
1.2采用单片机控制单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。
它在硬件结构、指令系统、I/O端口、功率消耗及可靠性等方面均有其独特之处,其最显著的特点之一就是具有非常有效的控制功能。
而LED显示器具有体积小、重量轻、工作电压低、功耗极低、稳定可靠、成本低、控制驱动方便、接口简单易用、模块化结构紧凑等特点,同时外接的继电器可以完成对大电流的控制,功能更加全面。
这个方案价格便宜,编程简单,专用性强,功能可随着单片机的选择而调整,比较适合本设计综上所述,方案1.2有很大的优势,可以利用单片机和LCD显示器来实现定时倒数,通过蜂鸣器来发出音乐。
2 总体设计2.1 系统硬件设计以AT89C52单片机作为主控制器,外加按键电路、复位电路、LCD显示电路和蜂鸣器构成。
其系统框图如下:2.2 系统软件设计本设计将各个功能部分分别封装为函数,故在主函数只需进行相关的初始化即可。
在主函数的大循环中设置播放音乐的标志位FLAG_M,在while(1)不断检测FLAG_M是否为真,若为真,表示定时时间已到,播放预先设置的音乐-----千年之恋。
其主函数框图如下:3 详细设计及仿真在本设计中利用了单片机的两个外部中断,以及定时器T0/T1,使得电路在运行的过程中更加灵敏及稳定。
软件的设计上将各功能封装成函数,便于调用和调试。
最后用proteus7.7搭建电路仿真,系统能正常运行。
3.1硬件电路详细设计3.1.1 AT89C52单片机AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
如图1所示:图13.1.2LCD1602液晶显示电路设计与原理工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源。
VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
Proteus7.7中的1602液晶只有14个引脚,少了背光电源的两根引脚,完全兼容。
本设计中,液晶的数据口与单片机的P0口相连。
如图2所示:图23.1.3 复位电路当MCS -5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
上电复位要求接通电源后,自动实现复位操作。
当单片机已在运行当中时,按下复位键后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
如图3所示:图33.1.4 按键电路题目中要求通过按键来设置定时的时间,并且能为1~60间的任意时间,根据要求以K1作为第二功能选择位,来更改时间设置的模式。
不按K1时,按下K2、K3、K4分别为定时5分钟,10分钟,20分钟;按下K1后,初始为30分钟(为方便上下调节选择30为初始值),然后再按K2为加1分钟,按K3为减1分钟,按K4为设置完成。
为了系统能更加灵敏的工作,加按键均加入了中断若有按键按下,系统能立即反应,并执行相应中断服务子程序。
K1连接外部中断0,K2,K3,K4通过一个三输入与门连接至外部中断1,并分别连接PI.0,PI.1,PI.2口,供中断服务子程序查询。
如图4所示:图43.1.5 蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
蜂鸣器在电路中用字母“H”或“HA”表示。
单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
本设计选择利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
利用I/O 定时翻转电平来产生驱动波形的方式必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。
比如为2500Hz 的蜂鸣器的驱动,可以知道周期为400μs,这样只需要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就可以产生一个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管放大就可以驱动这个蜂鸣器了。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
如图5所示:图53.2 软件详细设计在本程序中设置了两个标志位FLAG_M,FLAG,分别作为音乐播放标志位和时间设置模式选择标志位。
若FLAG=1,再由外部触发检测K2~K4的状态,if(K2==0) { TIME_M++; LCD_display(TIME_M,0); }if(K3==0) {TIME_M--;LCD_display(TIME_M,0);}if(K4==0) {FLAG=0;LCD_display(TIME_M,0);} TIME_M为所定时的时间若FLAG=0,if(K2==0){temp=5;LCD_display(5,0);}if(K3==0){temp=10;LCD_display(10,0);}if(K4==0){temp=20;LCD_display(20,0);}TIME_M=temp;本程序设计关键以及难点在于实现音乐的播放,以下详细解释用程序实现播放音乐的过程。
3.2.1 音调、节拍以及编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。
因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。
3.2.2音调的确定不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。
把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。
两个音之间的距离有两个“半音”,就叫“全音”。
在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。
通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b号的叫变化音。
﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。
例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。
1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
2)利用AT89C51的内部定时器使其工作在计数器模式1下,改变计数值TH1及TL1以产生不同频率的方法。
此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。
3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。