音乐中断 在定0专业综合利用定时器的中断方式控制歌曲的播放
单片机控制定时器播放设计

单片机控制定时器播放设计简介本文档介绍了使用单片机控制定时器实现音乐播放的设计方法。
通过定时器的计时功能,可以精确控制音乐的播放时长和节奏,实现各种音乐效果。
设计步骤步骤一:选择合适的单片机及开发环境在开始设计之前,需要确定使用的单片机型号和相应的开发环境。
常见的单片机型号包括STC89C52、AT89C52等,开发环境常用的有Keil、IAR等。
根据自己的需求和熟悉程度选择合适的单片机和开发环境。
步骤二:连接音乐模块将音乐模块与单片机连接,通常使用串口通信进行控制。
连接时需要将音乐模块的TX引脚连接到单片机的RX引脚,同时接地,以实现数据的传输。
步骤三:编写音乐播放代码使用开发环境编写音乐播放的代码。
代码中需要使用定时器的计时功能来控制音乐的播放时长和节奏。
首先需要初始化定时器,设置合适的计时周期和中断触发方式。
在定时器中断函数中实现音乐播放的控制逻辑,根据需要发送相应的控制命令给音乐模块。
以下是一个简单的示例代码:#include <reg52.h>// 定时器中断函数void Timer0_ISR() interrupt 1{// 控制音乐播放// ...}// 主函数void main(){// 初始化定时器// ...// 设置定时器中断使能// ...// 主循环while (1){// ...}}步骤四:编译、烧录和调试将编写好的代码进行编译,生成可执行文件。
然后使用相应的烧录工具,将可执行文件烧录到单片机中。
完成烧录后,连接相应的硬件,通过调试工具进行调试。
通过调试可以验证代码的正确性和音乐播放效果。
优化设计在实际设计中,还可以对音乐播放模块进行优化设计,以提升音乐播放的效果和性能。
使用中断优化音乐播放可以使用外部中断来检测按键事件,当按下某个按键时,触发相应的中断处理函数。
通过中断函数来控制音乐的播放,实现更加灵活的交互方式。
使用编码器实现音乐控制可以使用旋转编码器来实现音乐的控制,例如调整音量、切换曲目等。
毕业设计(论文)-基于单片机控制的音乐播放器[管理资料]
![毕业设计(论文)-基于单片机控制的音乐播放器[管理资料]](https://img.taocdn.com/s3/m/c2ce389c58fafab068dc02c7.png)
单片机音乐播放器设计报告学生:XXX 指导教师:XXX内容摘要:单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
根据要求设计一款音乐播放器,能实现音乐播放的简单功能,同时为了美化,添加了韵律闪烁彩灯,设计时采用Keil软件编程,用protues软件仿真,核心器件采用灵活性高且价格低廉的AT89C51芯片。
设计完成后系统可播放自编歌曲,同时发光二极管随着歌曲韵律闪烁。
关键词:单片机 AT89C51 音乐播放英文标题Abstract: SCM has small, strong function, low cost, application, advantages and intelligent control and automatic control of the core is the microcontroller. According to the requirements of a music player, design of music broadcast can realize simple function, and to beautify, added rhythm flashing lights, design is used when Keil C software programming, with protues software simulation, the core device adopts high flexibility and the price is cheap AT89C51 chip. The design is completed system can play Wrote songs, and leds with songs rhythm flicker.Keywords:SCM Temperature AT89C51 Music broadcast前言:微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。
无线传感网络技术题库

《无线传感网络技术》复习资料一、选择题1、I/O 端口的输出电压为(B ) A. 3V B. 3.3V C. 5V D. 12V2、ZigBee 网络中存在设备类型不包括(B )。
A.协调器 B.无线网卡C.终端设备D.路由器3、实验板上LED1和LED2与CC2530的连接如下图所示,LED1和LED2的负极端分别通过一个限流电阻连接到地(低电平),它们的正极端分别连接到CC2530的(A )端口。
A. P1_0 与 P1_1 B. P1_1 与 1_2 C. P1_0 与4、basicRfCfg_t 数据结构中的PanId 成员是(C )。
A.发送模块地址 B.接收模块地址 C.网络ID D.通信信道5、引起中断的原因或是发出中断申请的来源叫做中断源。
CC2530共有(D )个中断源。
A.5 B. 12 C. 16 D. 186、basicRfCfg_t 数据结构中的channel 成员是(D )。
A.发送模块地址B.接收模块地址C.网络IDD.通信信道 7、在 basicRf 无线发送数据时,“basicRfConfig.myAddr :SWITCH_ADDR;” 的作用是(A )。
A.配置本机地址B.配置发送地址C.配置发送数据D.配置接收数据8、无线传感器网络的基本要素不包括(C )。
A .传感器B .感知对象C .无线APD .观察者9、二进制数110011011对应的十六进制数可表示为( C ). A. 192H B. C90H C. 19BH D. CA0H10、定时器1是一个()定时器,可在时钟()递增或者递减计数。
C A . 8位,上升沿B . 8位,上升沿或下降沿C . 16位,上升沿或下降沿D . 16位,下降沿11、basicRfCfg_t 数据结构中的panld 成员是(C )。
A .发送模块地址B .接收模块地址C .网络IDD .通信信道12、十进制数126 其对应的十六进制可表示为( D ).LEp 8M Ml LEDP1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7A. 8 FB. 8 EC. F ED. 7 E 13、basicRfCfg_t数据结构中的channel成员是(D )。
单片机音乐播放器(两只老虎)

;sing a song//T0定时中断控制音符,T1定时中断控制节拍,基准定时50msTH1_DA TA EQU 03CHTL1_DA TA EQU 0B0HYINFU EQU 30HJIEPAI EQU 31HBUZZER BIT P1.0ORG 0000HAJMP STARTORG 000BHAJMP INT_T0 ;控制音符(音调)ORG 001BHAJMP INT_T1 ;控制节拍(音符持续时间)ORG 0100HSTART:MOV SP, #60HMOV TMOD, #11H //定时器T0/T1都是方式1MOV R2, #0 ;取歌曲音符和节拍的偏移量MOV A, R2MOV DPTR, #TABLE_SONGMOVC A, @A+DPTR ;取歌曲音符MOV YINFU, AMOV DPTR, #TABLE_TH0MOVC A, @A+DPTR ;取音符对应定时器T0的初始值MOV TH0, AMOV A, YINFUMOV DPTR, #TABLE_TL0MOVC A, @A+DPTRMOV TL0, AMOV A, R2MOV DPTR, #TABLE_LENGTHMOVC A, @A+DPTR ;取该音符对应的节拍MOV JIEPAI, AMOV TH1, #TH1_DA TA ;节拍基准定时50ms(12MHz晶振)MOV TL1, #TL1_DA TASETB PT1 ;设置节拍中断为高优先级中断SETB ET0SETB ET1SETB EASETB TR0SETB TR1SJMP $;--------------------------------------------------------;控制音符的定时中断,依据R2的值决定取歌曲中哪个音符;读到音符为0代表歌曲结束,则关中断,停止定时器。
否则继续;根据读到的音符查表选择对应的定时器初始值;---------------------------------------------------------INT_T0:PUSH ACCPUSH PSWCPL BUZZER //改变蜂鸣器状态MOV A, R2MOV DPTR, #TABLE_SONGMOVC A, @A+DPTRMOV YINFU, AJNZ SING //判断是否到歌曲结束CLR TR0CLR TR1CLR EASJMP EXITSING:MOV A, YINFUMOV DPTR, #TABLE_TH0MOVC A, @A+DPTRMOV TH0, AMOV A, YINFUMOV DPTR, #TABLE_TL0MOVC A, @A+DPTRMOV TL0, AEXIT:POP PSWPOP ACCRETI;-------------------------------------------------------------------------;控制节拍的定时中断,每个音符节拍时间到,调整R2指向下一音符INT_T1:PUSH ACCMOV TH1, #TH1_DA TA ;节拍基准定时50ms(12MHz晶振)MOV TL1, #TL1_DA TADJNZ JIEPAI, EXIT_T1INC R2MOV A, R2MOV DPTR, #TABLE_LENGTHMOVC A, @A+DPTRMOV JIEPAI, AEXIT_T1:POP ACCRETITABLE_TH0:DB 0FCH, 0FCH, 0FCH, 0FDH, 0FDH, 0FDH ,0FDHDB 0FEH, 0FEH, 0FEH, 0FEH, 0FEH, 0FEHDB 0FEH, 0FFHTABLE_TL0:DB 00H, 44H, 0ACH, 09H, 34H, 82H, 0C8HDB 06H, 22H, 56H, 85H, 9AH, 0C1HDB 0E3H, 03HTABLE_SONG:DB 1,2,3,1,1,2,3,1,3,4,5,5,3,4,5,5DB 5,6,5,4,3,2,5,6,5,4,3,2,1,5,1,1DB 1,5,1,1,0TABLE_LENGTH:DB 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10DB 5,5,5,5,10,10,5,5,5,5,10,10,10,10,10,10DB 10,10,10,10,10,10END。
基于51单片机音乐盒课程设计

课程名称:微机原理课程设计题目:基于51单片机的音乐盒设计随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。
本设计是一个基于STC89C52RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。
使用两个按键控制音乐盒,一个按键用来控制歌曲的播放、暂停以及换曲,另一个用来控制数码管上歌曲次序的变化,本音乐盒共有三首歌曲。
播放歌曲时,相应歌曲对应相应数码管上歌曲次序的显示。
本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试。
随后依照仿真布局在Altium Designer软件中绘制PCB单面板,检查无误后制成实物单面覆铜板。
关键字:STC89C52RC KEIL PROTEUS PCB一、设计任务与要求 .............................................................................................. - 4 -1.1 设计任务....................................................................................................................... - 4 -1.2 设计要求....................................................................................................................... - 4 -1.3 发挥部分....................................................................................................................... - 4 -二、方案总体设计 .................................................................................................. - 5 -2.1 方案列举....................................................................................................................... - 5 -2.2 方案论证....................................................................................................................... - 5 -2.3 总体设计原理............................................................................................................... - 5 -三、硬件设计 .......................................................................................................... - 6 -3.1 STC89C52RC芯片 ....................................................................................................... - 6 -3.2 晶振电路....................................................................................................................... - 7 -3.3 开关按键电路............................................................................................................... - 8 -3.4 P0口上拉电阻 .............................................................................................................. - 8 -3.5 复位电路....................................................................................................................... - 9 -3.6 蜂鸣器电路................................................................................................................. - 10 -3.7 电源电路..................................................................................................................... - 11 -3.8 一位共阴数码管......................................................................................................... - 12 -四、软件设计 ........................................................................................................ - 14 -4.1 软件设计程序流程图................................................................................................. - 14 -4.2 软件头文件定义以及字符类型定义......................................................................... - 15 -4.3 音频、音调程序设计................................................................................................. - 15 -4.4 按键与蜂鸣器接口端程序设计................................................................................. - 16 -4.5 外部中断程序设计..................................................................................................... - 16 -4.6 定时程序设计............................................................................................................. - 17 -4.7 延时程序编写............................................................................................................. - 18 -4.8 主程序的编写............................................................................................................. - 18 -五、系统仿真与调试 ............................................................................................ - 20 -5.1 仿真平台..................................................................................................................... - 20 -5.2 仿真调试..................................................................................................................... - 20 -5.3 测试总结..................................................................................................................... - 21 -六、PCB单面板制作 ........................................................................................... - 22 -6.1 绘制平台..................................................................................................................... - 22 -6.2 原理图的绘制............................................................................................................. - 22 -6.3 PCB单面板的绘制 ..................................................................................................... - 22 -七、设计总结与心得体会 .................................................................................... - 24 -7.1 设计总结..................................................................................................................... - 24 -7.2 心得体会..................................................................................................................... - 24 -八、参考文献 ........................................................................................................ - 25 -附录一:源程序 .................................................................................................... - 26 -一、设计任务与要求1.1 设计任务制作一个简易音乐盒,要求利用若干开关按键控制音乐播放并利用一位数码管显示相关消息。
基于单片机的音乐播放器设计毕业论文

图书分类号:密级:毕业设计(论文) 基于单片机的MP3播放器设计学生汤明学院名称信电工程学院专业名称电子信息工程指导教师豹2012年5月10日摘要因为单片机编写的MP3播放器具有执行效率高、频率输出稳定、易于修改、高可靠性、高性价比、低电压、低功耗等,使单片机近几年得到迅猛发展和大围推广,广泛应用于工业控制系统、数据采集系统、智能化仪器仪表、及通讯设备、日常消费类产品、玩具等[1]。
利用单片机设计的MP3播放器具有硬件电路简单,软件运行可靠等特点。
本文介绍了一种以 AT89S52 单片机为控制核心的MP3。
该设计采用2*16个点阵液晶模块LCD1602作为显示界面,蜂鸣器作为发声元件,并利用定时器进行中断控制。
本文分析了基于单片机的MP3播放器的工作原理,详细介绍了MP3播放器的功能及其硬件设计和软件设计的方法,给出了基于MCS-51单片机的MP3播放器的具体实现方案并重点讲述了其硬件实现与软件编写,实现了单片机MP3播放器对音乐的演奏。
关键词:MP3播放器;AT89S52;LCD1602目录摘要 (I)1绪论 (1)2设计综述 (2)2.1单片机工作原理 (2)2.1.1 单片机概述 (2)2.1.2 单片机的应用领域及发展趋势 (2)2.2 单片机产生音调的方法 (3)2.3 KEIL开发系统 (4)2.4 PROTEUS的操作 (8)3硬件设计 (9)3.1总体方案设计 (9)3.2 单片机最小系统电路 (9)3.2.1 AT89S52芯片性能介绍 (9)3.2.2 电源电路 (13)3.2.3 时钟振荡电路 (13)3.3 键盘扫描模块 (14)3.4 显示模块 (15)3.5 播放模块 (16)4 系统软件设计 (18)4.1编程原理及流程图 (18)5 调试与仿真结果 (22)5.1 软件调试 (22)5.1.1 测试LED显示模块 (22)5.1.2 测试键盘控制模块 (23)5.1.3 测试P3.0口输出 (23)5.2 调试中遇到的问题及解决 (24)5.3 仿真结果 (25)结束语 (26)致 (27)参考文献 (28)附录 (28)附录1 源程序 (29)1绪论几千年来,各种乐器的发声无一不是依靠琴弦、簧片、哨片引起管柱振动而作为声源的。
单片机课程设计 音乐发生器

目录摘要 (1)绪论 (2)1.1研究的目的和意义 (2)1.2国内外研究的现状及发展趋势 (2)1.2.1国内外研究的现状 (2)1.3音乐发生器的扩展 (3)第1章设计方案 (4)1.1 设计方案论证 (4)1.1.1利用AT89C51、74LS373锁存器和27512外部扩展组成的音乐播放器 (4)第2章硬件设计 (5)2.1 电路组成及工作原理 (5)2.1.1 电路组成 (5)2.1.2 电路工作原理 (6)2.2 AT89C51的简介 (6)2.2.1 AT89C51功能概述 (6)2.2.2 AT89C51的管脚图 (7)2.2.3 AT89C5 单片机的引脚介绍 (7)2.2.4 晶振电路 (8)2.3 扬声器电路 (8)2.4 显示电路 (8)2.5 更换歌曲电路 (9)2.6 复位电路 (9)2.7 程序存储器外部扩展电路 (9)第3章软件系统设计 (10)3.1 软件流程设计 (10)第4章系统调试 (11)4.1 常用调试工具 (12)4.1.1 Keil C 软件 (12)4.1.2 PROTEUS软件 (13)4.2 系统调试及性能分析 (13)心得体会 (15)参考文献 (16)附录 (17)附录1 音乐发生器电路原理图 (17)附录2 元件明细表 (18)附录3 源程序代码 (19)摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
当今,利用单片机控制音乐播放多不胜举,音乐芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛。
它有功能多﹑价格优﹑外围电路简单的特点,很受音乐爱好者及音乐芯片制造商的青昧。
本文中,用单片机芯片及少数外围电路控制音乐播放。
单片机音乐发生器-毕业设计说明书(论文)

毕业设计说明书(论文)目录摘要 (1)第1章绪论 (2)第2章音乐基础知识 (3)2.1 音乐基础 (3)2.2 音频脉冲和音乐节拍的实现 (3)2.2。
1 音频脉冲的产生 (3)2。
2。
2 音乐节拍的产生 (5)第3章系统方案设计 (6)3.1设计任务 (6)3。
2 设计目的 (6)3.3 设计过程 (6)3。
4 设计思想 (6)3。
4.1 方案设计与选择 (7)第4章硬件电路设计 (9)4.1 电路组成及工作原理 (9)4.1。
2 工作原理 (9)4.2 AT89C52单片机介绍 (9)4。
4 发声驱动电路 (12)4。
5 显示电路 (12)4.6 控制电路 (13)第5章软件设计 (14)5.1程序设计 (14)5。
2 程序流程图 (14)第6章系统调试 (15)6.1 常用调试工具 (15)6。
1。
1 Proteu仿真软件介绍 (15)6.1.2 Keil编译环境介绍 (15)6。
2 系统调试方法 (15)结论 (17)致谢 (18)参考文献 (19)附录 (20)附录1 程序清单 (20)附录2 单片机音乐发生器电路原理图 (33)毕业设计说明书(论文)摘要在电子技术日月更新、不断换代,计算机程序设计语言应用广泛,特别是单片机技术日趋发达的情况下,为了培养并增强设计自主性和动手能力强的人才,了解单片机强大的设计功能,我们进行了此次设计.为了实现一首音乐的播放,选择了用单片机来实现音乐的播放,因为它有很多优点,如:外部结构简单、实现起来比较方便等。
对于单片机产生音乐,关键是控制频率的输出。
我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音。
音乐中,有7个基本音符:do﹑re ﹑mi﹑fa﹑so﹑la﹑si,七个不同的音符对应着不同的频率。
只要我们对照音符输出相对应的频率,就可以产生美妙的音乐了。
在此次设计中主要采用单片机AT89C52和一个SOUNDER(喇叭)来实现音乐的播放,在单片机AT89C52的18号和19号引脚(外接晶振端子,分别是片内反相放大器输入端、片内反相放大器输出端)上外接振荡电路,以此来提供时钟频率(时钟频率为12MHz);而P3口中的P2.0端口作为音频输出口;并同时利用P3口中P3.2、P3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中北大学信息商务学院课程设计说明书学生姓名:牛登峰学号:1305034140 学院:信息与通信工程学院专业:电子信息工程题目:专业综合实践之单片机部分:利用定时器的中断方式控制歌曲的播放指导教师:王浩全杨鹏职称: 教授助教2016 年 12 月01日中北大学信息商务学院课程设计任务书2016/2017学年第1学期学院:中北大学信息商务学院专业:电子信息工程学生姓名:牛登峰学号:1305034140课程设计题目:专业综合实践之单片机部分:利用定时器的中断方式控制歌曲的播放起迄日期:11月28日~12月09日课程设计地点:系实验室指导教师:王浩全杨鹏下达任务书日期:2016 年 11 月28日课程设计任务书课程设计任务书设计说明书应包括以下主要内容:qu dong ying yue mo kuai Yang sheng qi xia(1)封面:课程设计题目、班级、姓名、指导教师、时间(2)设计任务书(3)目录(4)设计方案简介(5)设计条件及主要参数表(6)设计主要参数计算(7)设计结果(8)设计评述,设计者对本设计的评述及通过设计的收获体会(9)参考文献课设题目:利用定时器的中断方式控制歌曲的播放班级13050341学号1305034140姓名牛登峰指导老师:王浩全,杨鹏时间:2016 .12. 11目录1实验设计 (8)2设计方案及原理 (9)3硬件设计 (10)4程序设计 (11)5系统调试 (14)6实验心得 (14)7中断介绍 (17)8参考文献 (17)1.1 设计目的此次制作的音乐播放器,只需将音乐编码导入C语言程序,经过KEIL软件运行生成HEX文件,经BDM下载器导入单片机中即可。
可以同时生成多首歌曲的音乐编码,再次我选择了两首歌的音乐编码。
学生自己动手就可以制作属于自己的个性化的音乐播放器,通过自己动手将所学的单片机知识应用到实践中。
1.2 设计要求设计一个基于AT89C51的音乐播放器,利用软件编程和相应的硬件电路实现不同歌曲的播放,先利用KEIL软件编程,再用PROTEUS仿真实现,生成可执行的HEX 文件,最后焊接实物电路。
1.3 设计方法采用AT89C51单片机、蜂鸣器,晶体振荡器,晶体管2N2905,复位开关为主要硬件。
PROTEUS仿真软件设计和C语言编程方法实现播放器的模拟,用AT89C51实现音乐编码的处理,用晶体管2N2905对电路中电流放大,进而驱动蜂鸣器播放音乐。
2 设计方案及原理按照系统设计要求,将系统分为主控模块,电源电路复位电路、晶振电路、功率放大电路,蜂鸣器发声电路等模块。
系统框图如图1所示。
图1 系统组成框图AT89C51简介AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机外形及引脚排列如图2所示。
图2 AT89C51单片机引脚图3硬件设计3.1晶振电路晶振电路,对于单片机系统而言是必须的,因为单片机内部是由各种各样的数字逻辑器件构成,而这些器件又必须按时间顺序完成。
所以在管脚的XTAL1和XTAL2引脚外接石英晶体和俩个谐振电容,电容采用2个30pf电容,采用12M的石英晶体。
这样就可以构成单片机的基本时钟电路,时钟频率为12M。
如图2所示图2晶振电路3.2 复位电路复位电路是对单片机进行初始化操作,使单片机处于一个确定的初始状态。
而要AT89S51复位得在RESET引脚上加5V的高电平信号就可以了。
复位电路参数为30U的电解电容和1kΩ的电阻。
如图3为单片机的复位电路。
图3复位电路3.3功率放大电路功率放大电路对工作电流进行放大,因为单片机电路本身的电流不足以带动蜂鸣器发生,加一个三极管放大器2N2905可以带动蜂鸣器发生。
图4功率放大电路图5 最终程序图4实验程序设计//用定时器T0的中断实现"樱花草"的播放#include<reg51.h> //包含51单片机寄存器定义的头文件sbit sound=P1^0; //将sound位定义为P3.7unsigned int C; //储存定时器的定时常数//以下是C调低音的音频宏定义#define l_dao 262 //将“l_dao”宏定义为低音“1”的频率2#define l_re 286 //将“l_re”宏定义为低音“2”的频率2#define l_mi 311 //将“l_mi”宏定义为低音“3”的频率3#define l_fa 349 //将“l_fa”宏定义为低音“4”的频率3#define l_sao 392 //将“l_sao”宏定义为低音“5”的频率3#define l_la 440 //将“l_a”宏定义为低音“6”的频率4#define l_xi 494 //将“l_xi”宏定义为低音“7”的频率4//以下是C调中音的音频宏定义#define dao 523 //将“dao”宏定义为中音“1”的频率5#define re 587 //将“re”宏定义为中音“2”的频率5#define mi 659 //将“mi”宏定义为中音“3”的频率65#define fa 698 //将“fa”宏定义为中音“4”的频率698Hz#define sao 784 //将“sao”宏定义为中音“5”的频率7#define la 880 //将“la”宏定义为中音“6”的频率88#define xi 987 //将“xi”宏定义为中音“7”的频率523H//以下是C调高音的音频宏定义#define h_dao 1046 //将“h_dao”宏定义为高音“1”的频率1046Hz #define h_re 1174 //将“h_re”宏定义为高音“2”的频率1174Hz #define h_mi 1318 //将“h_mi”宏定义为高音“3”的频率1318Hz #define h_fa 1396 //将“h_fa”宏定义为高音“4”的频率1396Hz#define h_sao 1567 //将“h_sao”宏定义为高音“5”的频率1567Hz #define h_la 1760 //将“h_la”宏定义为高音“6”的频率1760Hz#define h_xi 1975 //将“h_xi”宏定义为高音“7”的频率1975Hz/*******************************************函数功能:1个延时单位,延时200ms******************************************/void delay(){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:主函数******************************************/void main(void){unsigned char i,j;//以下是《渴望》片头曲的一段简谱unsigned int code f[]={mi,re,dao,l_sao,dao,mi,re,mi,re, //每行对应一小节音符dao,l_mi,l_la,dao,l_xi,dao,xi,la,l_la,l_xi,l_la,l_sao,l_sao,dao,dao,fa,mi,re,dao,mi,re,mi,re, //接下来重复前三节dao,l_sao,dao,mi,re,mi,re,dao,l_mi,l_la,dao,l_xi,dao,xi,la,l_la,l_xi,l_la,l_sao,l_sao,dao,dao,fa,mi,re,dao,mi,re,mi,dao,re,dao,l_xi,l_la,l_sao,dao,mi,fa,mi,re,mi,dao,dao,re,dao,l_xi,l_la,sao,dao,mi,fa,mi,re,la,sao,mi,sao,sao,mi,re,re,sao,sao,mi,sao,sao,mi,re,dao,dao,re,mi,mi,sao,mi,re,re,sao,mi,dao,re,mi,sao,re,re,la,sao,mi,sao,sao,mi,re,re,sao,sao,mi,sao,sao,mi,re,dao,dao,re,mi,mi,sao,mi,re,re,sao,mi,dao,re,mi,sao,re,re,mi,dao,dao,mi,re,mi,dao,mi,re,dao,mi,re,mi,dao,dao,mi,re,mi,sao,mi,re,dao,mi,re,0xff}; //以0xff作为音符的结束标志//以下是简谱中每个音符的节拍//"4"对应4个延时单位,"2"对应2个延时单位,"1"对应1个延时单位unsigned char code JP[ ]={ 3,1,2,2,2,2,4,3,1,2,2,2,2,4,2,1,1,4,2,1,1,6,1,1,2,2,2,1,1,4,3,1, //:接下来重复前三节2,2,2,2,4,3,1,2,2,2,2,4,2,1,1,4,2,1,1,6,1,1,2,2,2,1,1,6,2,6,2,2,1,1,2,2,2,1,1,6,2,6,1,1,6,1,1,2,2,2,1,1,4,3,1,2,2,2,1,1,4,3,1,2,2,2,1,1,4,2,1,1,4,2,1,1,4,3,1,2,2,2,2,2,4,3,1, //:表示重复前三节2,2,2,1,1,4,3,1,2,2,2,1,1,4,2,1,1,4,2,1,1,4,3,1,2,2,2,1,1,6,2,16,2,2,2,2,2,2,4,2,2,2,2,8,2,2,2,2,6,1,1,12,3,1,};EA=1; //开总中断ET0=1; //定时器T0中断允许TMOD=0x00; // 使用定时器T0的模式1(13位计数器)while(1) //无限循环{i=0; //从第1个音符f[0]开始播放while(f[i]!=0xff) //只要没有读到结束标志就继续播放{C=460830/f[i];TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法TR0=1; //启动定时器T0for(j=0;j<JP[i];j++) //控制节拍数delay(); //延时1个节拍单位TR0=0; //关闭定时器T0i++; //播放下一个音符}while(1);}}/***********************************************************函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频的方波************************************************************/void Time0(void ) interrupt 1 using 1{sound=!sound; //将P3.7引脚输出电平取反,形成方波TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法}5中断介绍EA:中断总控制 1 开启0关闭ET0 :定时器0溢出中断 1开启0关闭要点:中断号计算5系统仿真及调试软件调试,先编写显示程序并进行硬件的正确性检验,然后分别进行主程序,音乐播放程序和定时程序的编译和调试;硬件调试,仔细检查电路有没有漏接或是错接的地方,再接一个电压表检查供给蜂鸣器的电压是否合适,调节电阻的阻值以调节工作电路的阻值。