音乐中断 在定0专业综合利用定时器的中断方式控制歌曲的播放
单片机控制定时器播放设计
单片机控制定时器播放设计简介本文档介绍了使用单片机控制定时器实现音乐播放的设计方法。
通过定时器的计时功能,可以精确控制音乐的播放时长和节奏,实现各种音乐效果。
设计步骤步骤一:选择合适的单片机及开发环境在开始设计之前,需要确定使用的单片机型号和相应的开发环境。
常见的单片机型号包括STC89C52、AT89C52等,开发环境常用的有Keil、IAR等。
根据自己的需求和熟悉程度选择合适的单片机和开发环境。
步骤二:连接音乐模块将音乐模块与单片机连接,通常使用串口通信进行控制。
连接时需要将音乐模块的TX引脚连接到单片机的RX引脚,同时接地,以实现数据的传输。
步骤三:编写音乐播放代码使用开发环境编写音乐播放的代码。
代码中需要使用定时器的计时功能来控制音乐的播放时长和节奏。
首先需要初始化定时器,设置合适的计时周期和中断触发方式。
在定时器中断函数中实现音乐播放的控制逻辑,根据需要发送相应的控制命令给音乐模块。
以下是一个简单的示例代码:#include <reg52.h>// 定时器中断函数void Timer0_ISR() interrupt 1{// 控制音乐播放// ...}// 主函数void main(){// 初始化定时器// ...// 设置定时器中断使能// ...// 主循环while (1){// ...}}步骤四:编译、烧录和调试将编写好的代码进行编译,生成可执行文件。
然后使用相应的烧录工具,将可执行文件烧录到单片机中。
完成烧录后,连接相应的硬件,通过调试工具进行调试。
通过调试可以验证代码的正确性和音乐播放效果。
优化设计在实际设计中,还可以对音乐播放模块进行优化设计,以提升音乐播放的效果和性能。
使用中断优化音乐播放可以使用外部中断来检测按键事件,当按下某个按键时,触发相应的中断处理函数。
通过中断函数来控制音乐的播放,实现更加灵活的交互方式。
使用编码器实现音乐控制可以使用旋转编码器来实现音乐的控制,例如调整音量、切换曲目等。
毕业设计(论文)-基于单片机控制的音乐播放器[管理资料]
单片机音乐播放器设计报告学生: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。
单片机课程设计-基于单片机的数字音乐盒设计
湖南铁路科技职业技术学院单片机课程设计题目:基于单片机的数字音乐盒设计专业:机电一体化系部:机械工程系姓名:班级:309-2班湖南铁路科技职业技术学院单片机课程设计说明书基于单片机的数字音乐盒设计任务书一、任务设计一款基于AT89C51单片机的数字音乐盒。
二、设计要求(1)利用单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
(2)共有10首音乐,每首乐曲都由相应的按键控制,并有开关键、暂停键、上一曲及下一曲控制键;(3)利用LCD液晶显示歌曲的序号、播放时间,开机时显示英文欢迎提示字符。
湖南铁路科技职业技术学院单片机课程设计说明书目录任务书 (1)目录 (2)1 概述 (5)1.1单片机数字音乐盒有关介绍 (5)1.2LED显示屏控制技术状况 (9)1.3本设计任务 (10)2总体方案论证与设计 (12)2.1单片机的选取 (12)2.2LED显示方式 (13)2.3LED驱动模块 (13)2.4系统总体结构框图 (14)3 系统硬件设计 (15)3.1AT89C51芯片功能和硬件连接 (15)3.2LED显示器 (18)3.3键盘 (19)3.4系统复位电路的设计 (20)3.5时钟电路模块 (20)3.6输出显示电路 (21)3.7音频输出部分 (21)3.8整体硬件电路 (23)4系统软件设计 (25)4.1主模块的设计 (25)4.2外部中断源系统设计 (26)4.3基本显示模块设计 (27)4.4系统初始化程序 (28)湖南铁路科技职业技术学院单片机课程设计说明书4.5音调、节拍以及编码的确定方法 (28)4.6程序流程图 (33)4.7文档顶端程序清单 (35)5 调试结果 (46)5.1系统总电路图 (46)5.2运行结果及分析 (46)总结 (48)参考文献 (49)湖南铁路科技职业技术学院单片机课程设计说明书1 概述传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。
微机原理与接口技术_第7章8253
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表
基于AT89C52单片机的音乐播放器(含电路图)
山东英才学院毕业设计(论文)题目:基于51单片机的儿童早教故事机的设计学生姓名孙东帅学院机械工程及其自动化学院专业电气工程及其自动化学号************指导教师高嵩年月日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。
除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。
论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密□,在_____年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)论文作者签名:日期:年月日导师签名:日期:年月日目录摘要 (I)Abstract ...................................................................................................................................................... I I 1 绪论. (1)1.1我国儿童早教机发展现状及发展趋势 (1)1.2国外现状 (2)1.3 儿童早教故事机的发展趋势 (2)1.4课题研究的目的和意义 (2)2 方案比较 (3)2.1 主控单元的选择 (3)2.2 液晶显示模块的选择 (3)2.3 语音模块的选择 (4)3 系统硬件设计 (6)3.1 总体方案设计 (6)3.2 主控单元模块 (6)3.3 液晶显示屏 (7)3.4 80C52单片机的的封装和引脚 (8)3.5 红外遥控器 (9)3.6 独立键盘 (9)3.7 电源 (9)3.8 语音模块 (10)4 软件设计 (12)4.1 音乐播放主控流程图 (12)4.2 音乐播放子程序流程图 (14)4.3 LCD1602显示子程序流程图 (15)4.4 语音模块工作流程图 (15)5 实物操作 (17)5.1.开机未播放音乐下的状态 (17)5.2工作状态下的单片机状态 (17)5.3 按键功能测试 (18)5.4 红外遥控器功能测试 (19)结论 (20)参考文献 (21)致谢 (22)附录A (23)附录B (36)基于51单片机的儿童早教故事机的设计摘要:当今社会,父母对孩子的早期教育相当重视,如何更完善、更系统的把知识教授给孩子,儿童早教故事机就是一个很好的选择。
单片机C语言程序设计:按键控制定时器选播多段音乐
单片机C语言程序设计:按键控制定时器选播多段音乐/* 名称:按键控制定时器选播多段音乐说明:本例内置3 段音乐,K1 可启动停止音乐播放,K2 用于选择音乐段。
*/#includereg51.h#includeintrins.h#define uchar unsigned char#define uint unsigned intsbit K1=P1; //播放和停止键sbit SPK=P3;//蜂鸣器uchar Song_Index=0,Tone_Index=0; //当前音乐段索引,音符索引//数码管段码表uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//标准音符频率对应的延时表uchar code HI_LIST[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248}; uchar code LO_LIST[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3};//三段音乐的音符uchar code Song[][50]={{1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1},{3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,53,3,2,1,1,-1},{3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1} };//三段音乐的节拍uchar code Len[][50]={{1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1},{1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1},{1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1} };//外部中断0void EX0_INT() interrupt 0{TR0=0;播放结束或者播放中途切换歌曲时停止播放Song_Index=(Song_Index+1)%3;跳到下一首的开头Tone_Index=0;P2=DSY_CODE[Song_Index]; //数码管显示当前音乐段号}//定时器0 中断函数void T0_INT() interrupt 1{TL0=LO_LIST[Song[Song_Index][Tone_Index]];TH0=HI_LIST[Song[Song_Index][Tone_Index]];SPK=~SPK;}//延时void DelayMS(uint ms){uchar t;while(ms--) for(t=0;t120;t++);}tips:感谢大家的阅读,本文由我司收集整编。
音乐播放器 课程设计
专业课程设计报告题目:音乐播放器所在学院专业班级学生姓名学生学号指导教师提交日期2012年10月22日电气工程学院专业课程设计评阅表学生姓名学生学号同组队员专业班级题目名称一、学生自我总结二、指导教师评定目录一、设计目的 (1)二、设计要求和设计指标 (1)三、设计内容 (1)3.1仿真软件Proteus简介 (1)3.2编程软件Keil uVision4 9.0介绍 (1)3.3 AT89C51单片机简介 (1)3.3.1 主要特性 (2)3.3.2管脚说明 (2)3.3.3振荡器特性 (4)3.3.4芯片擦除 (4)3.4电路设计 (4)3.5播放原理 (5)3.6程序设计 (7)3.6仿真结果与分析 (9)四、本设计改进建议 (9)五、总结 (9)六、主要参考文献 (10)一、设计目的课程设计是通信工程专业的一门软硬件相结合实践的专业基础课,旨在提高学生的单片机应用、软件编程及小型工程项目开发能力。
本设计将进一步加强学生对单片机硬件的理解,增强对汇编或C语言的灵活运用。
要求学生能结合单片机、模拟电路、数字电路、汇编或C语言,实现基本的应用系统,学会Proteus和Keil使用,为以后从事相关行业打下实践基础。
二、设计要求和设计指标设计一个简单音乐播放器,程序运行时播放生日快乐歌,不使用定时器中断,所有频率完全用延时实现。
三、设计内容3.1仿真软件Proteus简介Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,它支持单片机且元件库齐全,使用方便,是不可多得的专业单片机软件仿真系统。
目前可支持的单片机类型有68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片[7]。
3.2编程软件Keil uVision4 9.0介绍用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX 可执行文件写入单片机内。
单片机应用技术模拟试卷20
单片机应用技术(C语言版)模拟试卷 20 (考核方式:笔试闭卷,考试时间:120分钟,满分:100分)总得分________ 统分人签名_________ 核分人签名__________一、单选题(每小题2分,共20分)【得分:】1. Intel 8051是位的单片机。
A、32B、16C、8D、642. 8051的程序计数器PC为16位计数器,其寻址范围是。
A、8KBB、16KBC、32KBD、64KB3. 8位程序状态字PSW的作用是。
A、保存程序运行过程中的各种状态信息B、保存要执行的指令地址C、保存堆栈指针的内容D、保存返回指令的地址4. 用户无法对特殊功能寄存器进行读写,它是不可寻址的。
A、PSWB、PCC、ACCD、p05. unsigned char类型为单字节数据,可以表达的数值范围是。
A、-127~+127B、0~255C、-127~+128D、0~2566. 51单片机的定时器T1用作定时方式时是。
A、由内部时钟频率定时,一个时钟周期加1B、由内部时钟频率定时,一个机器周期加1C、由外部计数脉冲计数,一个时钟周期加1D、由外部计数脉冲计数,一个机器周期加17. 对于有返回值的用户自定义函数,在函数体中需用语句返回函数值。
A .continueB .breakC .ifD .return8. 按键开关的结构通常是机械弹性元件,在按下或断开时会产生接触抖动,为消除这种抖动,可以采用的方法有 。
A 、软件去抖动B 、硬件去抖动C 、软、硬件两种方法D 、单稳态电路去抖方法9. 51单片机的串行口是 。
A .全双工B .半双工C .单工D .都不是10. 采用动态显示方式连接多位的LED 数码管,下列说法正确的是 。
A 、将各位数码管的位选线并联B 、将各位数码管相同的字段线并联,用一个8位I/O 口控制C 、将各位数码管的公共端直接接在+5VD 、将各位数码管的位选线接在GND二、填空题(每空1分,共20分) 【得分: 】1. 单片机的CPU 包括 (1) 和 (2) 两个部分。
实验4:定时与中断系统实验
实验四:定时与中断系统实验一、实训目的1.利用单片机的定时与中断方式,实现对信号灯的复杂控制。
2.通过定时器程序调试,学会定时器方式1的使用。
3.通过中断程序调试,熟悉中断的基本概念。
二、实验仪器、材料1.微型计算机(PⅣ以上)2.编程、汇编与模拟平台软件Keil uVision33.电子技术专业仿真软件protues运行平台4.单片机实训开发电路板三、实验内容和步骤1.定时器查询方式1)要求:信号灯循环显示,时间间隔为1秒。
2)方法:用定时器方式1编制1秒的延时程序,实现信号灯的控制。
系统采用12M晶振,采用定时器T1方式1定时50ms,用R3做50ms计数单元,其源程序可设计如下:ORG 0000HCONT:MOV R2,#07HMOV A,#0FEHNEXT:MOV P2,AACALL DELAYRL ADJNZ R2,NEXTMOV R2,#07HNEXT1:MOV P2,ARR AACALL DELAYDJNZ R2,NEXT1SJMP CONTDELAY:MOV R3,#14H ;置50ms计数循环初值MOV TMOD,#10H ;设定时器1为方式1MOV TH1,#3CH ;置定时器初值MOV TL1,#0B0HSETB TR1 ;启动T1LP1:JBC TF1,LP2 ;查询计数溢出SJMP LP1 ;未到50ms继续计数LP2:MOV TH1,#3CH ;重新置定时器初值MOV TL1,#0B0HDJNZ R3,LP1 ;未到1s继续循环RET ;返回主程序END2.定时器中断方式1)要求:信号灯循环显示,时间间隔为1秒。
2)方法:用定时器中断方式编制1秒的延时程序,实现信号灯的控制。
采用定时器T1中断定时50ms,用R3做50ms计数单元,在此基础上再用08H位作1s 计数溢出标志,主程序从0100H开始,中断服务程序名为CONT。
可设计源程序如下:ORG 0000H ;程序入口AJMP 0100H ;指向主程序ORG 001BH ;定时器T1中断入口AJMP CONT ;指向中断服务程序ORG 0100HMAIN:MOV TMOD,#10H ;置T1为工作方式1MOV TH1,#3CH ;置50ms定时初值MOV TL1,#0B0HSETB EA ;CPU开中断SETB ET1 ;定时器T1开中断SETB TR1 ;启动T1CLR 08H ;清1s计满标志位MOV R3,#14H ;置50ms循环初值DISP:MOV R2,#07HMOV A,#0FEHNEXT:MOV P2,AJNB 08H,$ ;查询1s时间到否CLR 08H ;清标志位RL ADJNZ R2,NEXTMOV R2,#07HNEXT1:MOV P2,AJNB 08H,$CLR 08HRR ADJNZ R2,NEXT1SJMP DISPCONT:MOV TH1,#3CH ;重置50ms定时初值MOV TL1,#0B0HDJNZ R3,EXIT ;判1s定时到否MOV R3,#14H ;重置50ms循环初值SETB 08H ;标志位置1EXIT:RETIEND四、实训总结与分析1.定时器查询方式和前面的实验相比,硬件电路一致,效果一样,但二者软件的编制方法不同。
(完整版)单片机期末复习题和参考答案
单片机原理与接口技术复习题复习一选择题1. 有如下程序段:MOV R0,#30HSETB CCLR AADDC A,#00HMOV ﹫R0,A 执行结果是( )。
A. (30H )=0 0HB. (30H )=0 1HC. (00H )=0 0HD. (00H )=0 1H2. 在CPU 内部,反映程序运行状态或运算结果特征的寄存器是( )。
A. PCB. PSWC. AD. SP3. 各中断源发出的中断请求信号,都会标记在( )寄存器。
A. TMOD/SCONB. TCON/PCONC. IE/TCOND. TCON/SCON4. 帧格式为1 个起始位,8 个数据位,1 个停止位的异步串行通信方式是( )。
A. 方式0B. 方式1C. 方式2D. 方式35. 在数据传送过程中,数据由串行变为并行可通过( )实现。
A. 数据寄存器B. 移位寄存器C. 锁存器D. A/D 转换器6. 执行返回指令,退出中断服务子程序,则返回地址来自( )。
A. ROMB. 程序计数器C. 堆栈区D. CPU寄存器7. 中断查询,查询的是( ).A. 中断请求信号B. 中断标志C. 外中断方式控制位D. 中断允许控制位8. MCS -51 单片机扩展I/O 口与外部数据存储器( )。
A. 分别独立编址B. 统一编址C. 变址编址D. 动态变址9. 访问外部数据存储器时,不起作用的信号是( )中。
A. RDB. WRC. PSEND.ALE10. 外部中断1的中断入口地址为( )。
A. 0003HB. 000BHC. 0013HD. 001BH11. 下列指令中正确的是( )。
A. MOV P2.1 ,AB. JBC TF0 ,L1C. MOVX B ,@DPTRD. MOV A ,@R312. 串行口的移位寄存器方式为( )。
A. 方式0B. 方式1C. 方式2D. 方式313. 在家用电器中使用单片机应属于计算机的( )。
音乐中断 在定0专业综合利用定时器的中断方式控制歌曲的播放
中北大学信息商务学院课程设计说明书学生姓名:牛登峰学号: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 文件,最后焊接实物电路。
单片机按键控制定时器选播多段音乐
郑州科技学院单片机课程设计题目按键控制定时器选播多段音乐学生姓名张三专业班级15级物联网一班学号201566666院(系)信息工程学院指导教师王完成时间2017年6月8日一、背景介绍如今,电子技术获得了飞速的发展,现代电子产品几乎渗透了社会的各个领域。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步想着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU、内存、并行总线。
还有和硬件作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是很低的。
利用单片机实现音乐播放有很多要点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。
通过音乐播放器的设计方案,掌握C语言的编写方法。
并熟练的运用80C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律,按下单键可以演奏预先设置的歌曲旋律,最重要的是自己还可以通过程序设计输入自己喜欢的歌曲来演奏,本设计采用简易音阶编码直觉式输入法方便设计音乐旋律。
本文将围绕基于单片机按键控制定时器选播多段音乐,介绍一些关于单片机的基础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理)、定时器的设定,以及仿真软件(Keil、Proteus)的使用方法。
二、设计方案1、方案设计对于C51单片机,它抗干扰性较强,且集成度高、功能强、指令丰富等,可以应用的地方较数字电路更多一些,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表及通讯设备。
而且单片机已经深入到工业生产的各个环节以及人民生活的各个层次。
- 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系统仿真及调试软件调试,先编写显示程序并进行硬件的正确性检验,然后分别进行主程序,音乐播放程序和定时程序的编译和调试;硬件调试,仔细检查电路有没有漏接或是错接的地方,再接一个电压表检查供给蜂鸣器的电压是否合适,调节电阻的阻值以调节工作电路的阻值。