数字音乐盒设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字音乐盒设计
单片机课程设计报告
数字音乐盒设计
摘要
本设计是基于51系列单片机,蜂鸣器,显示数码管LED的数字音乐盒设计,通过利用I/O一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏各种乐曲(本设计为三首,若有必要,可以增加),通过LCD可以显示不同的信息,并且可以通过功能键来选择乐曲,暂停,播放,前进,后退等功能。
音乐盒的电路设计过程在硬件与软件方面进行同步。
其中,硬件方面选择内部存储资源丰富的AT89C52 单片机,时钟采用12MHz晶体振荡电路。
软件方面从分析电路各个功能子模块的功能、流程图设计,再到程序的编写设计均进行了综合的考虑。
编程语言从程序总体设计以及高效性和硬件要求方面考虑,采用汇编语言进行编写。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面复习与准备。
在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,如何调试等,没有一定的基础就不可能很好的实现。
具体实现功能:
1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)
2(采用LCD显示信息
3(开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)
4(可通过功能键选择乐曲,暂停,播放。
目录
1概述 (3)
1.1 单片机总体功能简介 (4)
1.2 AT89CS2芯片功能和硬件 (5)
1.3 功能键介绍..................................................................... 6 2系统总体方案及硬件设计 (7)
2.1系统设计要求 (7)
2.2总体设计方案 (7)
2.3系统硬件设计..................................................................... 7 3软件设计 (8)
3.1程序设计流程图 (8)
3.2计数器初始化 (10)
3.3定时器初始化.................................................................. 10 4 Proteus软件仿真 (12)
4.1 WAVE软件的使用 (12)
4.2 Proteus仿真软件的介绍 (12)
4.3 Proteus软件功能仿真...................................................... 13 5课程设计体会.................................................................. 15 参考文献 (16)
- 2 -
附1源程序代码............................................................... 17 附2系统原理图 (27)
1 概述
目前,各种传感器、变送器、控制仪表已普遍采用单片机应用系统。
它集测量、处理、控制功能于一单片机是单片微型机的简称,故又称为微控制器
MCU(Micro Control Unit)。
通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。
因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
1.1单片机总体功能简介
单片机是在工业测控需要背景下而产生的,在一个应用系统中。
按照测控系统的特点和要求,单片机的应用可分为单机应用和多机应用两大类。
我们这次要完成的单片机课程设计就是它的单机应用,下面在介绍一下单片机在单机应用领域内的主要内容。
(1)智能产品
单片机与传统机械产品相结合,使传统机械产品结构简化,控制智能化,购成新一代机电一体化产品。
目前,利用单片机构成的智能产品已广泛应用于家用电器、办公设备、数控机床、纺织机械、工业设备等行业。
- 3 -
(2)智能仪表
目前,各种传感器、变送器、控制仪表已普遍采用单片机应用系统。
它集测量、处理、控制功能于一体,具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音等功能。
单片机构成的智能仪表,能使仪表具有数字化、智能化、多功能化、综合化、柔性化等优点,赋予测量仪表以崭新的面貌,使传统的仪器、仪表发生根本性的变革,它代表了仪器仪表的发展趋势。
(3)测控技术
用单片机构成的各种工业控制系统中的数据采集系统具有工作稳定可靠、抗干扰能力强的优点,如炉温恒温控制系统、电镀生产自动控制系统等。
(4)智能接口
在计算机系统,特别是较大型的工业测控系统中,除通用外部设备外,还由许多外部通信、采集、多路分配管理、驱动控制等接口。
这些外部设备与接口如果完全由主机进行管理,势必会造成主机负担过重,运行速度降低,接口的管理水平也不可能提高。
如果用单片机进行接口的控制与管理,单片机与主机可并行加工处理,可以大量降低接口的通信密度,极大的提高了接口控制管理水平。
在一些通用计算机外部设备上,已实现了单片机的键盘管理、打印机控制、绘图仪控制、硬盘驱动控制等。
1.2 AT89CS2芯片功能和硬件连接
本系统采用的就是51系列的AT89C52单片机进行的计算器设计。
由于51系列的上下兼容性,51核的内部功能大体一致。
下图为AT89C52单片机的管脚图。
- 4 -
图一 AT89C52引脚图
VCC:正电源端
GND:单片机的接地端
XTAL1/XTAL2:片内振荡电路输入,输出端,两端跨接晶体或陶瓷谐振器,与单片机内部反相器构成稳定的自激振荡器。
发出的脉冲直接送入片内定时控制部件RESET:复位端
EA,VPP:寻址外部ROM控制端/编程电源输入端。
ALE, PROG: 地址锁存允许/编程脉冲输入端。
PSEN:寻址外部程序存储器时,选通外部EPROM的端口(OE)。
P0.0~P0.7、
P10~P1.7、P2.0~P27:准双向I,O口
P3.0~P3.7:具有特定的第二功能(准双向I,O口)
1.3 功能键盘介绍
本次设计采用3个功能键控制其动作,如下图所示:
- 5 -
图二音乐盒功能键
上一曲键可以使其迅速返回至上一首乐曲;
下一曲键可以使其立即前进至下一首乐曲;
开始/暂停键主要实现开始播放或者暂停播放的功能。
2系统总体方案及硬件设计
2.1 系统设计要求
音乐盒可实现功能:
1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)
2(采用LCD显示信息
3(开机时有英文欢迎提示字符,播放时显示歌曲序号或名称)
- 6 -
4(可通过功能键选择乐曲,暂停,播放。
2.2 总体设计方案
由于计算器需要比较多的输入输出口,所以选择使用内部存储资源比较多的AT89C52单片机,8位LED动态显示。
扬声器可以用一个准I,O口,采用AT89C52作为运算和控制单元完全满足系统的需求。
2.3 系统硬件设计
方波电路:51核片内由一个反相放大器构成振荡器,本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。
时钟发生器对振荡脉冲二分频。
电容采用22pF电容。
如下图所示。
显示电路:由一个LCD显示。
系统整体图如下:
图三系统整体图
3 软件设计
3.1 程序设计流程图
本设计的程序流程如下:
先从主程序开始,接着初始化变量及LCD接口,然后初始化方波发生器、晶振管,使LCD显示信息,就进入了开机状态,等待动作——选择按键,包括播放键,暂停键,停止键,当然也可以选择返回;加入选择的是播放键,LCD上就会- 7 -
现实歌曲编号,与此同时演奏相应的乐曲,此时,你可以按上一曲或下一曲键,
使其演奏上一个或者先一个乐曲。
其流程图如下:
主程序开始
初始化变量及LCD接口
初始化方波发生器晶振管 - 8 -
N
Y
图四系统流程图
3.2 定时器及音频接口初始设置
OUT BIT P2.0 ;定义音频输出端口,p2.0
N EQU 3 ;歌曲总数
OUT_NUM EQU P1 ;数码管显视当前所放歌曲曲数
ORG 0000H
AJMP MAIN
ORG 0003H
- 9 -
AJMP LAST_SONG ;外部中断0用于接上一曲歌按键
ORG 000BH
AJMP F_T0 ;定时器0用于定时,作音符发生器用
ORG 0013H
Q4: AJMP NEXT_SONG ;外部中断1接下一曲歌按键
ORG 001BH
AJMP START_PAUSE ;定时器1用计数,这里用作中断,接开始/ 暂停键,初值为0ffH,方式2
ORG 0030H
3.3 计数器的初始设置
MOV TMOD, #61H 计数器0工作方式1,计数器1工作方式2
MOV TH1,#0FFH 给计数器1置初值0FFH,又由于是工作方式2
MOV TL1,#0FFH ;计数器计数为1,相当于一外部中断
SETB ET1 允许计数器1中断
SETB ET0 允许计数器具0中断
CLR PT0 ;计数器0为低优先级
SETB PT1 ;计数器1为高优先级
SETB IT0 ;外部中断0为跳沿触发
SETB PX0 ;高优先级
SETB IT1 ;外部中断1为跳沿触发
SETB PX1 ;高优先级
SETB EX1 ;允许外部中断1中断
SETB EX0 ;允许外部中断定0中断
SETB EA ;开中断总开关
SETB TR1 ;定时器1开始工作,作中断用
SETB OUT
- 10 -
4 Proteus软件仿真
电路图的设计及程序设计是否合理,可通过proteus软件进行仿真;若不合理就需要修改,直至符合要求。
要是有Proteus仿真,就必须先要会使用
WAVE6000。
4.1 WAVE6000软件的使用
使用WAVE软件的目的是取得源程序的编译文件,其具体操作为:选择【文件|新建功能】,弹出NONAME1源程序窗口,在此输入源程序,然后保存为后缀
- 11 -
为.asm的文件。
接着建立新的项目,选择【文件|新建项目】,加入模块文件、保存文件,保存项目。
接着进行编译,生出编译文件——后缀为.HEX的文件。
4.2 Proteus软件介绍
Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
该软件的特点是:
(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统
2的仿真、RS,232动态仿真、I C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(3)目前支持的单片机类型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
(4)支持大量的存储器和外围芯片。
Proteus ISIS的工作界面是一种标准的Windows界面,如下图所示包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
运行Proteus程序后,进入软件的主界面。
通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线。
- 12 -
图五 Proteus界面
4.3 Proteus功能仿真
下面贴出来几张仿真图,由于本次设计是数字音乐盒,而声音没有仿真图,所以仿真图主要是LCD显示歌曲编号的。
图六 LCD显示仿真图
左图为播放第一首乐曲是显示的乐曲编号,中间图为第二首编号,右图为第三首LCD上显示的乐曲编号。
- 13 -
图七音乐盒总体仿真图
- 14 -
5 课程设计体会
本学期学习单片机的时间只有8周时间,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次自己独立完成课程设计,很有成就感。
在设计过程中我遇到了很多问题,有知识方面的,但也有个人不良习惯方面的,例如在WAVE上编译源程序时,出现好几处错误,经仔细检查才知道并不是程序错误,而是自己输入不规范或者输入错误造成的,这就提醒我们在设计过程中一定要细心认真的完成每一个步骤每一个环节,才能避免不必要的四失误。
另外,我发现只有在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,宿舍的同学都在认真做设计,大家一起努力,相互帮助,相互促进。
在设计出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,这在课设中十分重要。
- 15 -
参考文献
[1]《单片机原理及应用技术》余发山主编,中国矿业大学出版社 2003.12
[2]《MC-51单片机应用技术》张毅刚等编,哈尔滨工业大学出版社 2006.1 [3]《电子制作》杂志单片机智能音乐盒的设计 2008.3 [4]《51系列单片机设计实例》楼然苗等编,北京航空航天大学出版社2006.2 [5]《单片机C51程序设计教程与试验》祈伟等编,北京航空航天大学出版社,2006.1 [6]《单片机学习指导》李朝青主编,北京航空航天大学出版社 2005.10
- 16 -
附 1 源程序代码
OUT BIT P2.0 ;定义音频输出端口,p2.0
N EQU 3 ;歌曲总数
OUT_NUM EQU P1 ;数码管显视当前所放歌曲曲数
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP LAST_SONG ;外部中断0用于接上一曲歌按键
ORG 000BH
AJMP F_T0 ;定时器0用于定时,作音符发生器用
ORG 0013H
q4: AJMP NEXT_SONG ;外部中断1接下一曲歌按键
ORG 001BH
AJMP START_PAUSE ;定时器1用计数,这里用作中断,初值为0ffH,方式2 ORG 0030H
MAIN: MOV SP,#60H
MOV DPTR,#TABLE ;DPRT指向每首歌曲的入口地址的地址
MOV R0,#30H ;R0中存入数据30H,这里在以30H开始的单元
存放每首歌曲的入口地址,其中30H,31H存放
;歌曲的节拍入口地址,32H,33H存放歌曲音符入
口地址,每首歌占用四个存储存单元。
MOV R5,#00H ;R5中存放表TABLE中正在执行操作的序号
MOV R6,#1 ;R6存放正在设置入口信息的歌曲数 SET_TAB: MOV A,R5 ;设置每首歌曲的入口信息,存放在以30H开始的存储单元中。
MOVC A,@A+DPTR
MOV @R0,A
INC R5
INC R0
MOV A,R5
MOVC A,@A+DPTR
MOV @R0,A
INC R5
INC R0
MOV A,R5
MOVC A,@A+DPTR
MOV @R0,A
INC R0
- 17 -
INC R5
MOV A,R5
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC R5
INC R6 ;设置完一首歌曲后,歌曲数加一
CJNE R6,#N+1,SET_TAB ;是否设置完,没有便继续,否则进行下面的操作;*********************************** 对中断,计数器的相关参数进行设置
MOV TMOD, #61H ;计数器0工作方式1,计数器1工作方式2
MOV TH1,#0FFH ;给计数器1置初值0FFH,又由于是工作方式2,所以
MOV TL1,#0FFH ;计数器计数为1,相当于一外部中断。
SETB ET1 ;允许计数器1中断
SETB ET0 ;允许计数器具0中断
CLR PT0 ;计数器0为低优先级
SETB PT1 ;计数器1为高优先级
SETB IT0 ;外部中断0为跳沿触发
SETB PX0 ;高优先级
SETB IT1 ;外部中断1为跳沿触发
SETB PX1 ;高优先级
SETB EX1 ;允许外部中断1中断
SETB EX0 ;允许外部中断定0中断
SETB EA ;开中断总开关
SETB TR1 ;定时器1开始工作,作中断用
SETB OUT ;音频输出端口初始化
;*********************************** ;设置结束
CLR F0 ;设置F0=0,用来作暂停/播放的标置位用
MOV 22H,#01H ;22H单元中存放正在播放的歌曲编号
MOV DPTR,#OUT_TAB ;将正在播放的歌曲编号送数码管显视
MOV A,22H
MOVC A,@A+DPTR
MOV OUT_NUM,A
MOV R7,#00H ;R7中存放歌曲总信息的入口地址 START0:MOV R4,#00H ;R4存放当前正在播放歌曲的第几个节拍数
- 18 -
MOV R0,#30H ;30H开始的单元中存放歌曲的入口信息
MOV A,R7 ;将歌曲的节拍表的入口地址送到DPTR
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR ;取出第一节拍数,其实第一个节拍不是歌曲的第一个节拍,而是表示几分音符 ;**************************************************** MOV 26H,A ;将取出的音符数+节拍数保存在职26H单元中 NEXT: MOV
R0,#30H ;开始取出歌曲的第一个数据
MOV A,R7
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR ;放在A中
;**************************************************** JZ END0 ;若为0,则表示为休止符,不唱,本次音符不唱,MOV R1,A ;不为0,取出节拍数
ANL A,#0FH
MOV R2,A
MOV A,R1
SWAP A
ANL A,#0FH
JNZ SING ;音符不为0,唱
CLR TR0 ;为0,不唱,关频率发生器
SJMP SING1 SING: DEC A ;开始唱,进行相应的数据处理
MOV R3,A
- 19 -
RL A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOVC A,@A+DPTR
MOV 21H,A
MOV TH0,A
MOV A,R3
RL A
INC A
MOVC A,@A+DPTR
MOV 20H,A
MOV TL0,A
SETB TR0 ;开唱 SING1:LCALL DELAY ;每个音符唱多久JB F0,FOR ;是否暂停,
AJMP NEXT ;没有暂停,继续 FOR: CLR TR0 ;暂停,不唱JB F0,$ ;等待播放
AJMP NEXT ;开始播放 END0: CLR TR0 ;不唱
MOV A,22H ;唱完处理
CJNE A,#N,WW ;是不是全部歌曲都唱完
MOV 22H,#01H ;全部唱完,则从第一首开始再唱
MOV R7,#00H
MOV OUT_NUM,#06H ;数码管显视第一首歌曲编号
AJMP WWW
WW: MOV A,R7 ;没有全部唱完,唱下一首,歌曲的入口信息调整
ADD A,#4
MOV R7,A
INC 22H
CLR EA
PUSH DPH
PUSH DPL
MOV A,22H
MOV DPTR,#OUT_TAB
MOVC A,@A+DPTR
- 20 -
MOV OUT_NUM,A ;数码管显视相应的歌曲编号
POP DPL
POP DPH
WWW: SETB EA
AJMP START0 ;开始下一首的演唱 F_T0: MOV TH0,21H ;定时器0置初值MOV TL0,20H
CPL OUT ;频率产生
RETI
NEXT_SONG: PUSH ACC ;下一曲中断程序处理,保护现场
PUSH DPH
PUSH DPL
CLR EA ;关中断
MOV A,22H
CJNE A,#N,Q ;是最后一首吗,
MOV R7,#00H ;是最后一首,则R7指向第一首,演唱第一首
MOV 22H,#01H
AJMP BACK Q: INC 22H ;不是最后一首,唱下一首,R7内容加4,歌曲数加1 MOV A,R7
ADD A,#4
MOV R7,A
BACK: MOV R4,#00H ;数码管显视相应的歌曲编号
MOV A,22H
MOV DPTR,#OUT_TAB
MOVC A,@A+DPTR
MOV OUT_NUM,A
;********************************************
MOV B,R0 ;对下首要演唱的歌曲的几分拍进行调整,同时对R0中的内容进行保护
MOV R4,#00H
MOV R0,#30H
MOV A,R7
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
- 21 -
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR
MOV 26H,A ;结果存入26H单元中
DEC R4
MOV R0,B ;恢复R0中的内
容 ;********************************************
POP DPL ;恢复现场
POP DPH
POP ACC
SETB EA
RETI ;中断返回 LAST_SONG: PUSH ACC ;上一曲中断程序处理开始,保护现场PUSH DPH
PUSH DPL
CLR EA ;关中断
MOV A,22H ;曲目数送A
CJNE A,#1,QQ ;是否是第一首
MOV 22H,#N ;是第一首歌曲
MOV B,#4 ;将R7指向最后一首歌曲
MOV A,#N-1
MUL AB
MOV R7,A
AJMP BACK2 ;处理结束
QQ: DEC 22H
MOV A,R7 ;R7减4
SUBB A,#4
MOV R7,A
BACK2:MOV R4,#00H
MOV A,22H
MOV DPTR,#OUT_TAB
MOVC A,@A+DPTR
MOV OUT_NUM,A ;数码管显视相应歌曲的编
号 ;******************************************** MOV B,R0 ;对下首要演唱的歌曲的几分拍进行调整,同时对- 22 -
R0中的内容进行保护
MOV R4,#00H
MOV R0,#30H
MOV A,R7
ADD A,R0
MOV R0,A
MOV DPH,@R0
INC R0
MOV DPL,@R0
INC R0
MOV A,R4
INC R4
MOVC A,@A+DPTR
MOV 26H,A ;结果存入26H单元中
DEC R4
MOV R0,B ;R0中的内容恢
复 ;********************************************
POP DPL ;恢复现场
POP DPH
POP ACC
SETB EA
RETI ;中断返回
START_PAUSE:CPL F0 ;开始/暂停中断处理程序,将标置位取反
JB F0,RETURN ;为1返回
SETB TR0 ;为0则播放 RETURN: RETI ;中断返回 DELAY: MOV 27H,26H ;音符
演奏时间控制 D2: MOV 28H,#125
D3: MOV 29H,#248
DJNZ 29H,$
DJNZ 28H,D3
DJNZ 27H,D2
DJNZ R2,DELAY
RET
OUT_TAB: DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H ;
共阴数码管显视用
;OUT_TAB: DB
- 23 -
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8 EH,0FFH ;共阳
TABLE: DW SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3
TABLE1:DW 64580,64684,64777,64820,64898,64968,65030
DW 63628,63835,64021,64103,64260,64400,64524
SONG1: DB 04H ;1=C 2/4 军港之夜
DB
32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H, 32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H
DB
0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,3 2H,52H,54H,32H,34H,31H,21H,12H,24H,24H
DB
34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D 2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H
DB
22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H, 52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H
DB
32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H, 51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H
DB
32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB 32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB 0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,3 2H,52H,54H,32H,34H,31H,21H,12H,24H,24H
DB
34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D 2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H
DB
22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H, 52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H
DB
32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H, 51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H
DB
32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB 32H,52H,52H,32H,32H,21H,31H,24H,74H,0D2H,0C2H,14H,14H,14H,14H DB 00H - 24 -
TABLE2:DW 63835,64021,64103,64260,64400,64524,64580,64684,64777 DW 64820,64898,64968,65030,65058,65110,65157,65178
SONG2: DB 02H ;1=C 4/4 死了都要爱
DB 04H,94H
DB
0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H DB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H
DB 04H,0C2H,0C2H,0D4H,0C2H,0D2H,0D8H,0D4H,0D2H,92H
DB
0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H DB 0A4H,0A2H,0B2H,0B4H,0C4H,0E8H,0D8H
DB 0C8H,0C8H,08H,08H,78H,28H,38H,34H,24H
DB
24H,64H,64H,24H,64H,72H,72H,78H,58H,54H,44H,38H,34H,14H,34H,84H,74H, 74H,62H,62H,0D8H,78H,28H,38H,34H,24H
DB
24H,64H,64H,24H,64H,72H,72H,72H,94H,92H,94H,0A4H,58H,58H,54H,44H ;#音不准
DB 58H,58H,58H,58H,0A8H,0A8H,0A4H,0B4H,0A4H,84H,0A4H,94H,98H,98H,08H DB
84H,82H,82H,82H,82H,94H,0A2H,94H,92H,82H,74H,72H,74H,72H,72H,72H,72H ,92H,91H,91H,94H,54H,74H,94H
;;*************************************************
DB
0A8H,0A4H,0A2H,0B2H,0C4H,0B4H,0A4H,0A4H,0A4H,92H,92H,98H,82H,72H,78H ,04H,0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H
DB 04H,0C4H,0D4H,0C4H,0C8H,04H,94H
DB
0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02 DB
0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8 H,0D4H,0D2H,92H
DB
0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02 DB
0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8 H,0D4H,0D2H,92H
;*************
DB 0A4H,0A2H,0B2H,0B3H,0C4H,0E8H,0D8H
DB 0C8H,0C8H,0C8H,08H
DB 00H
TABLE3: DW
64898,64968,65030,65086,65135,65158,65199,64260,64400,64524,64580,64 684,64777,64862
- 25 -
SONG3: DB 03H ;G=2/4 中华人民共和国国歌
DB
04H,04H,0C2H,14H,12H,12H,12H,11H,11H,0C2H,0D1H,0E1H,14H,14H,02H,32H, 12H,21H,31H,52H,51H,51H,54H
DB
32H,31H,31H,12H,11H,31H,52H,51H,31H,24H,24H,24H,64H,54H,24H,34H,52H, 34H,52H,32H,21H,31H,12H,11H,21H,34H,04H
DB
52H,51H,0D1H,12H,12H,32H,31H,31H,52H,51H,51H,22H,22H,22H,0D2H,0D1H,0 D1H,24H,22H,0C2H,14H,12H,12H,34H,32H,32H,54H,54H,54H,54H DB
12H,11H,31H,52H,51H,51H,64H,54H,32H,31H,11H,52H,52H,52H,32H,02H,12H, 02H,0C4H,14H
DB
0A2H,0A1H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H,0C4H,14H,0C4H,14H,14H ,04H DB 04H,04H,04H,04H
DB 00H
END;
- 26 -
附 2 系统原理图
- 27 -。