收藏 分享(赏)

音乐喷泉控制器的设计 毕业论文.doc

上传人:微传9988 文档编号:2548101 上传时间:2018-09-21 格式:DOC 页数:20 大小:435KB
下载 相关 举报
音乐喷泉控制器的设计  毕业论文.doc_第1页
第1页 / 共20页
音乐喷泉控制器的设计  毕业论文.doc_第2页
第2页 / 共20页
音乐喷泉控制器的设计  毕业论文.doc_第3页
第3页 / 共20页
音乐喷泉控制器的设计  毕业论文.doc_第4页
第4页 / 共20页
音乐喷泉控制器的设计  毕业论文.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、音乐喷泉控制器的设计目 录摘 要 1引 言 3第一章 总体设计方案 41.1 音乐喷泉控制系统整体设计 .41.2 方案比较 .41.3 系统框图 .4第二章 硬件电路的设计 62.1 电源电路 .62.2 单片机控制电路设计 .62.3 输入、出电路的设计 .8第三章 软件程序流程图 103.1 系统整体流程图 .103.2 喷池数据 .11第四章 调试过程和调试方法 134.1 硬件调试 .134.2 软件调试 .13第五章 总结与展望 14参考文献 15附 录 16第 1 页,共 19 页摘 要音乐喷泉控制器是音乐喷泉的核心部分。在音乐喷泉中,喷头的多姿造型和缤纷的水下灯光都受喷泉控制器

2、的控制。由于不同的喷泉对水泵和彩灯组数的要求各不相同,因此可以设计一种简单、通用、组数可灵活扩充的喷泉控制器。本喷泉控制器采用全数字集成电路设计,可以灵活改变水泵和彩灯的组数。本课题利用单片机作为控制核心,设计出了一种控制简单,成本较低且易于推广使用小型音乐喷泉的控制系统。系统原理:是用单片机根据音乐的强弱对电机,水泵或阀门进行控制,以便控制喷泉水柱的高低。输入为音乐成正比的电压信号,输出为对水泵转速或阀门的控制量。关键词:单片机,音乐喷泉,控制器2The musical fountain controllerAbstractThe musical fountain controller is

3、 the musical fountain heart. In the musical fountain, the nozzle varied modeling and the riotous submarine light all receive the eruptive fountain controller the control. Is various as a result of the different eruptive fountain to the water pump and the color lamp bank number request, therefore des

4、igns the eruptive fountain controller which one kind simple, general, the group number may expand nimbly to become an eruptive fountain designers topic. This eruptive fountain controller uses the entire digital circuit design, may change the water pump and the colored lantern group number nimbly.Thi

5、s topic research using single chip microcomputer as control core, devised a simple control, low costAnd easy to popularize the use of small music fountain control system. System according to the principle: is the music with single-chip computerStrength of the motor control, water pump and valve, in

6、order to control the discretion of the water fountain. Input for music intoDirect voltage signal output is on the pump rotation speed, the control quantity or valve.Key Words:microcontroller,usic fountain,controller 第 3 页,共 19 页引 言德国发明家奥图皮士特先生在 1930 年提出喷泉的相关理论,随后他在百货商店和餐馆前建造小型的喷泉。经过多年来的发展,音乐喷泉的设计变的多

7、样化,构造变得复杂化。在 1952 年的夏天,在西柏林的工业展览中,一个美国人看到了奥图皮士特先生音乐喷泉的表演,并把它带回纽约。1953 年 1 月 15 日音乐喷泉在美国首次表演,表演期间超过 150 万人观看。在音乐喷泉走向全世界的同时,各种新技术也不断地运用在音乐喷泉上,使其表演变得复杂和美丽,给人们带来无限的乐趣,提高了人们的生活质量。目前,我国的大型音乐喷泉技术已日趋成熟,但对小型音乐喷泉的研究较少。控制系统是喷泉工程的关键部分,其余部分和普通类型的喷泉基本上一致。音乐喷泉的控制系统可采用可编程序控制器 PLC 作为控制核心,也可采用工控机作控制核心。但是对于小型音乐喷泉最适合的应

8、是单片机作为控制核心。适合于一般城市小广场和普通住宅小区的小型音乐喷泉,由于其控制要求简单,使用单片机完全可以满足要求,而且因其成本低则更易于普及,是未来音乐喷泉的发展趋势。为了使控制简单可靠,适应现代社会的市场需求,各种形式的喷泉层出不穷,并逐步转向小型和营业性较强的方向发展。其音乐喷泉的控制也变得灵活多样,如单片机、PLC 、DSP 等都在音乐喷泉中有所运用,当然也具有优缺点。本课题针对旅游景点内设计了观赏性的小型“音乐喷泉” 。选用单片机作为此次音乐喷泉控制系统设计的控制核心,主要是为了实现单片放音,并控制多个电磁阀的开闭动作和水泵的动作,解决系统中信号的同步性问题。4第一章 总体设计方

9、案1.1 音乐喷泉控制系统整体设计控制系统总体包括五部分模块:1)音乐信号的采集模块; 2)电源电路模块; 3)A/D 转换电路模块; 4)单片机控制模块; 5)输入、输出电路模块。 1.2 方案比较方案一:基于硬件电路采样的前馈补偿音乐喷泉控制系统此方案优点是新型音乐喷泉控制方法的采样结果可以直接反映音乐强度,并由喷泉控制器与上位机配合工作来实现数据的采集与处理,该方法每0.1秒采样一次数据。当利用前馈补偿方式控制输出时,前馈控制时间完全可由设置的“前馈”时间确定,故可满足实际音乐喷泉前馈补偿控制的需要。可由于硬件条件的限制以及能力的要求较高,实施较困难。方案二:基于全数字集成电路音乐喷泉控

10、制器此方案设计分为音控、程控两用的音乐喷泉控制器。控制三组不同颜色的彩灯,五台不同喷泉造型的水泵。音控、程控可用开关手动切换。程控的速度可用电位器调节。音控时,输入音乐的音量直接控制彩灯,音乐音量小则彩灯打开的组数少,音量大则彩灯打开的组数多。整个电路设计简单,通用,基于工程背景,具有可行性。方案三:基于单片机的音乐喷泉控制系统采用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,能够简单而又实用的将乐曲控制喷泉的动作。而且以AT89C51为核心的嵌入式控制器,具有性价比高,体积小,易于操作等有点。因此本文采用该方案。1.3 系统框图众所周知,

11、物体振动产生声音,而振动的频率决定音调高低,因此使用单片机控制输出不同频率的信号,就可以产生不同的音调;利用单片机的计时系统可以控制各个音调的时间,即实现节拍的控制。音调和节拍按照乐谱排列就实现了乐曲演奏的功能。喷头及彩灯分别与相应输出点连接,通过程序实现每种音调都有对应的一组输出点开关状态组合,从而实现乐曲控制喷泉动作的功第 5 页,共 19 页能。图 1.1 为系统总体结构图。图 1.1 系统总体框图音乐的播放可在开启喷泉时,由外部设备如 VCD、DVD 等设备播放,也可由计算机播放。根据有无音乐信号(计算机上播放或外部输入),启停喷泉。当有音乐信号时,获取声音强度,通过模拟量卡、实时输出

12、到变频器,作用到变速电机上,使喷头喷水产生随音乐起伏的效果。单片机控制系统具有启动喷泉、灯光,捕获音乐,产生输出控制,显示当前音乐,喷泉、灯光状态,停止喷泉、灯光等功能,同时对各组喷头进行一定时间内的一定规则内的随机轮换。系统实现了乐曲演奏、乐曲选择、乐曲序号显示、喷泉水柱控制、彩灯控制等功能。物体振动产生声音,而振动的频率决定音调高低,因此使用单片机控制输出不同频率的信号,就可以产生不同的音调;利用单片机的计时系统可以控制各个音调的时间,即实现节拍的控制。音调和节拍按照乐谱排列就实现了乐曲演奏的功能。喷头及彩灯分别与相应输出点连接,通过程序实现每种音扬声器音乐转换单片机彩灯控制水泵控制 1水

13、泵控制 2伺服控制 电机组灯组泵 1组泵 2至喷嘴组 1至喷嘴组 2至喷嘴组 N6调都有对应的一组输出点开关状态组合,从而实现乐曲控制喷泉动作的功能。第二章 硬件电路的设计2.1 电源电路设计电路是一个简单的稳压电路。图 2.1 为电源电路。图 2.1 电源电路由于使用了运算放大器,利用它的对称性可以提高整个电路的共模抑制比和其他方面的性能,它的两个输入端构成整个电路的反向输入端和同向输入端。采用对称双电源可使用电路简化,在进口电子设备中,可经常看到用图示这种正负电源,对运放集成块供电的电路。其特点是:1.制作或选择电源变压器非常方便,变压器次级绕组无需带中心抽头。2.正负电源对称。3.电能的

14、利用率较高。4.结构简单。实践证明:在电源变压器功率容量足够的前提下,适当加大电容容量和变压器次级绕组线径,该电路也可用于小功率的音频功放作正负对称双电源供电。如果喷嘴的电磁控制器必须较大的电流,可以使用一个较大的电源变压器。本电路也只适用于较小的系统。2.2 单片机控制电路设计经查 INTER 公司主要单片机微处理器系列 MCS-48、MCS-51、RUPI-44、MCS-96 等,考虑到本设计的特点,需要将程序预先写入程序存储器,只有选择具有可擦除功能的程序存储器。因此,本次设计选择 MCS-51 系列的AT89C51 芯片作为为硬件核心电路。AT89C51 单片机引脚和指令系统与 51

15、系列单片机完全兼容,因而使用方便。其最大特点是内部有 4KB FlashROM,而且价格低廉。用 FlashROM 在开发过程中十分容易对程序进行修改,大大缩短系统开发周期。第 7 页,共 19 页VCC 40P0.0 39P0.1 38P0.2 37P0.3 36P0.4 35P0.5 34P0.6 33P0.7 32P2.7 28P2.6 27P2.5 26P2.4 25P2.3 24P2.2 23P2.1 22P2.0 21EA/VPP 31ALE/PROG 30PSEN 29P1.01 P1.12P1.23 P1.34P1.45 P1.56P1.67 P1.78RESET9 RXD/P

16、3.010TXD/P3.111 INT0/P3.212INT1/P3.313 T0/P3.414T1/P3.515 WR/P3.616RD/P3.717 XTAL218XTAL119 VSS20AT89C51 VCCVCCYC3C2S1C4R1 R2VCCVCC 20Q1 19Q2 18Q3 17Q4 16Q5 15Q6 14Q7 13Q8 12G 11E1 D12D23 D34D45 D56D67 D78D89 GND1074HC373VCC 20Q1 19Q2 18Q3 17Q4 16Q5 15Q6 14Q7 13Q8 12G 11E1 D12D23 D34D45 D56D67 D78D8

17、9 GND10VCC 20Q1 19Q2 18Q3 17Q4 16Q5 15Q6 14Q7 13Q8 12G 11E1 D12D23 D34D45 D56D67 D78D89 GND100#1#7#2#6#GR3C4VCC4N35R4VCCC5R5VCCVCCVCCQi图 2.2 单片机控制的电路图除了复位和晶振电路外,还有以光耦 4N35 为主的输入隔离电路、 BCD 拨码开关和用 74H373 的输出寄存器组。输出寄存器最多可以用 8 个,这对小型音乐喷泉已经是富足有余了。为了充分利用单片机已经有的资源,尽可能简化硬件电路,这里采用线选法扩展 I/O 口来扩展输出寄存器 74HC373。7

18、4hc373 为三态输出的八 D 透明锁存器,当三态允许控制端 OE 为低电平时,O0O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时, O 被锁存在已建立的数据电平。 84N35R4VCCC5R5P1.5由图 2.2 可知,由于不使用 P0 口地址,所以由 P0 口输出的低 8 位地址信号可以为任意值,由于 P2 口各引脚分别接 74HC373 的输入控制端 G,所以地址信号的高 8 位只能是 8 个 G 端仅一个为高

19、电平的那些二进制数:01H 02H 04H 08H 10H 20H 40H 80H 中的一个。也可用选通 71HC373 的 MOV P2,B 与起输出作用的 MOVP0,A 之类的指令来输出数据,则当 B 的内容为 01H/02H/04H/08H/10H/20H/40H/80H 时,则 A 的内容输出的目标寄存器也依次为 0#7#的 74HC373 之一。图 2.2 中 R3、C4 使开机复位期间各 74HC373 的(输入允许)端存在一高电平,避免 373 内部随机数的输出而引起喷池中水泵、电磁阀和彩灯的误动作。BCD 拨码开关可向单片机输入 09 中任一数码,用以改变单片机输出两组数据的

20、时间间隔。2.3 输入、出电路的设计在这里,输入电路是指能对乐曲启停、乐曲节奏和声音强弱等进行检测并将检测到的信号以电平、脉冲或者数字形式传送到单片机的电路。为了说明简单点,这里只是介绍能够反应乐曲启停的奏曲信号电路。因为有了它,音乐已经不再是背景音乐,音乐已经用来控制真个喷池的动作与否,因而达到了音乐喷泉的最基本要求。奏曲信号电路的框图如图 2.3 所示。左右两路立体声信号经过混合后送限制幅放大电路放大,这样即使是极弱的乐曲信号也能有足够强度的信号输出。整流滤波电路用以将交变信号转为单向信号。电压比较器用以将大于基准电压的单向信号变换成低电平有效的奏曲信号由之端输出。通过调整基准电压,可以使

21、电路既不受干扰的影响又灵敏度最大。奏曲信号电路的输出经 R5 送至光耦 4N35 在单片机 P1.5 引脚产生一低电平信号。如图 2.4 所示。图 2.3 奏曲信号 电路框图乐曲信号电源 012V限幅放大 整流滤波 电压比较 Z第 9 页,共 19 页LEDULN2003A R6VCC+9VBCRR7FUQiC6R8AC220VLN图 2.4 奏曲信号电路将乐曲音频信号进行缓冲放大、高中低分段分频、直流变换、数字量变换、驱动放大输出等处理,形成能够进行检测并将检到的信号以电平、脉冲或者数字形式送至单片机的电路。另外还设置模拟信号强弱调节及数字信号阀值(门槛比较电压)调节,以适应各种不同的信号,

22、方便喷水以及灯光的动作灵敏度的调节,同时设置了相应的电平及阀值显示灯(高、中、低、总信号,11 位LED 显示) ,具有良好的操作界面。输出电路是指接于 74HC373 各 Qi 端的电路。图 2.5 为使用双向可控硅BCR 的输出电路。由于 74HC373 的输出电流远远小于 BCR 所需要的触发电流,故加入外围驱动电 ULN2003A 的一个单元。其输入端所接的 LED 用于指示电路状态,使用高亮度 3 红 LED,当 Qi 为高电平 +5V 时 LED 能正常发光,实测 电流为 0.8mA 多,足 以使 2003A 输出端 饱和而吸收近30mA 的触发BCR 的电流。图 2.5 中产生触

23、发电流的+9V 电源来自 +5V 稳压电源的未稳压端,以减轻稳压块的负担。闭合图 2.2 中的开关 K,程序会向各输出寄存器输出数据 FFH,用以检测从单片机到各 BCR 之间的各输出回路是否正常。图中 RL 可以是彩灯、电磁阀的线圈,也可是用以控制水泵电机的接触器线圈。图 2.5 为使用 BCR 输出的电路。图 2.5 使用 BCR 输出的电路喷头样式如图 2.6 所示。10图 2.6 喷头外形图第三章 软件程序流程图程序采用模块化结构,所有用到的常数或数组都用 EQU 或 DATA 或 DB伪指令定义与命名,以使程序易于修改、调试和升级。3.1 系统整体流程图开始系统初始外部输出寄存器清零

24、重新设置堆栈设置 T0 工作模式开 T0 溢出中断P1.4=0检测输出通道是否正常设置喷池花样起始序号P1.5=0取出一花样数据输出延迟 0.1 秒P1.5=1延迟到N NNNYYYY第 11 页,共 19 页图 3.1 主程序框图程序 RESET 后,进入 0000H 开始的主程序,其流程如图 3.1 所示。可以看出:P1.4 上的开关 K 决定是否测试输出通道;乐曲是否演奏决定了喷池是否有动作,即 P1.5 的电平;拨码开关的设定值决定了延迟多少倍的 0.1 秒时间,即喷池动作改变的时间间隔;奏曲每停一次(大多数乐曲奏曲中间不会停) ,下次再奏曲就换一组花样数据,若用完了最后一组,以后就从

25、头再取。也就是多个乐曲一次轮流循环使用编制好的喷池花样数据。3.2 喷池数据喷池数据是用以对喷池内的水泵、电磁阀和彩灯等进行开与关控制的数据。一组可循环使用的这种数据,就决定了喷泉和彩灯的一个特定的变化形态。这组喷池数据可称为花样数据。对一个特定构造的喷池,这种花样数据可编写出很多。下面以表 3.1 为例说明花样数据的编排方法。假设希望外圈喷头每隔一定时间顺次增喷 2 个喷头,且从 2 个经 4 步顺时针增至 8 个后,再顺次以同样的方向同样的速度每次减喷 2 个喷头,即从 8 个喷头经 4 步减至 0。以后不断按上述规律循环变化。在这期间,里圈和中心喷头一直不喷。在不考虑其他控制的情况下,表

26、 3.1 喷池只需要 2 个输出寄存器,其各位控制喷头定义如下:表 3.1 喷头数据8 7 6 5 4 3 2 1X X X 13 12 11 10 9乐曲控制初始化设置当前花样数据入口地址为 DPTR去花样数据行字节数用于控制循环取数取拨码开关 BCD 数用于控制数时间间隔输出寄存器清零指向下一喷池花样序号12图 3.2 喷嘴分布图以上各位若为 1 时相应的喷头喷水,为 0 时不喷水,则外圈喷头数据应为:0000 0011B0000 1111B0011 1111B1111 1111B1111 1100B1111 0000B1100 0000B0000 0000B若该花样数据定义为 HYSJ0

27、1 则数据定义如下:HYSJ01:DB 03H,0FH ,3FH , 0FFH,0FCH,0F0H ,0C0H,00H;外圈喷头数据DB 0,0,0,0,0,0, 0,0 ;里圈和中心喷头数据每次将花样数据输出时都是顺次取一列输出的,且可循环取用。显然这样的花样数据可以编不少,还可将两个以上的数据搭配起来,组成新的更复杂一些的花样数据。第 13 页,共 19 页第四章 调试过程和调试方法微机控制系统设计完成之后,最主要的任务就是调试。本次系统调试主要对单片机程序进行调试,首先采用仿真器进行程序运行仿真,然后采用编程器程序烧录进行硬件测试。调试工作一般分为 3 块进行:硬件调试,软件调试,系统联

28、调。4.1 硬件调试电路检测过程中,发现很多低级的错误,大多数都是因为线路连接的错误和引脚没有连接正确。电路设计的不够周全,导致手动布线很乱,对电路的检查造成了极大的困难和不变。 该系统所涉及的各部分硬件电路,总体的特点是:(1)电路原理简单,所用的器件均为常用器件。 (2)由于电路连线较多,因此,应合理布线,以降低焊接难度,降低出错率,同时防止干扰。虽然存在一些问题,经过仔细检查并修改,硬件电路中不存在低级的错误,硬件电路良好。4.2 软件调试软件调试采用单片机 keil 软件,结合 Proteus 软件,可进行基于单片机的可视化软硬件仿真,可以有效的减少系统开发的资源。 在软件的调试过程中

29、,综合利用了设定断点、单步、跟踪等调试手段,使得调试工作更易进行。这样每个模块都调试成功后,编译连接程序,进行整个14程序的调试运行。4.2 系统联调。确定模块间接口的正确性、各模块间的数据流和控制流是否按照设计实现其功能、以及集成后整体功能的正确性。检测该音乐喷泉的每一部分,如电源部分,单片机部分,输入、输出部分的功能是否具备,使其在整体运行上达到设计要求。第五章 总结与展望在这次毕业设计中发现自己所学的知识实在是有限,不过能够充分利用网络优势去查阅资料。最后,设计中涉及到的电路图,由于水平有限,效率太低,只好去截相关的图。不过在整个设计过程中自己也懂得了许多东西,也培养了独立思考和设计的能

30、力,树立了对知识应用的信心,相信会对以后的学习工作和生活有着非常大的帮助,并且提高了自己的动实践操作能力,使自己充分体会到了设计过程中的喜悦。在整个设计以及硬件制作中,存在一定的缺陷,特别是工艺不够理想,没有达到预期的目标。设计中考虑问题不够全面,工艺焊接不够用心,出现一些低级的错误,但是,总的来讲,在整个实物完成的过程中,使我学会了好多在课本学不到的知识,同时,也锻炼了我独立完成任务的能力,以及解决问题的方法和对存在问题的分析能力。在整个设计过程中,我看到了自己对专业知识领会中存在的不足,还有好多知识,并没有完全的掌握,还有好多知识,我必须去学习。虽然这次这个设计根本就没做好,但是在整个设计

31、过程中,真的学到了很多在课堂上学不到的,是我在这次设计中的最大收获和财富,受益颇多。第 15 页,共 19 页参考文献1 伍湘涛. 音乐知识与名曲赏析.航空工业出版.19932 本社编. 音乐欣赏手册.上海音乐出版社.19993 高宗仁,金桥编著 .音乐鉴赏.上海交通大学出版社.20004 Engle 编程权威指南.中国电力出版社.20035 廖朵朵,张华军 .卿 angle 三维图形程序设计.星球地图出版社.20036 薛惠锋. OPENGL 图形程序开发实务.西北工业大学出版社.20057 张延灿. 喷泉工程发展及其设计问题(上). 给水排水,19988 Philips.80C51-bas

32、ed 8-Bit Microcontrollers.Electronic Engineering,Issue 1517.2003:15-189 李广弟,朱月秀,王秀山.单片机基础M.北京:北京航空航天大学出版社,2001:14-17 ,138-156.10 王幸之,钟爱琴,王雷,王闪.AT89 系列单片机原理与接口技术M.北京:北京航空航天大学出版社,2004.11 马龙工作室 .Protel 2004 完全自学手册M. 北京:人民邮电出版社,2005.12 杨将新,李华军,刘东骏.单片机程序设计及应用M.北京:电子工业出版社,2006:191-193.16附 录附录 A 电路原理图附录 B

33、PCB 图VCC 40P0.0 39P0.1 38P0.2 37P0.3 36P0.4 35P0.5 34P0.6 3P0.7 32P2.7 28P2.6 27P2.5 26P2.4 25P2.3 24P2.2 23P2.1 2P2.0 21EA/VP 31ALE/PROG 30PSEN 29P1.01 P1.12 P1.23P1.34 P1.45 P1.56P1.67 P1.78 RESET9RXD/P3.010 TXD/P3.11 INT0/P3.212INT1/P3.313 T0/P3.414 T1/P3.515WR/P3.616 RD/P3.717 XTAL218XTAL119 VS2

34、0AT89C51 VCCVCCYC3 C2S1C4R1 R2VCCVCC 20Q1 19Q2 18Q3 17Q4 16Q5 15Q6 14Q7 13Q8 12G 1E1 D12 D23D34 D45 D56D67 D78 D89GND1074HC373VCC 20Q1 19Q2 18Q3 17Q4 16Q5 15Q6 14Q7 13Q8 12G 1E1 D12 D23D34 D45 D56D67 D78 D89GND10VCC 20Q1 19Q2 18Q3 17Q4 16Q5 15Q6 14Q7 13Q8 12G 1E1 D12 D23D34 D45 D56D67 D78 D89GND100#

35、1#7#2#6#GR3C4VCC4N35R4VCCC5R5VCCVCCVCCLEDULN203A R6VCC+9VBCRR7FUQiC6 R8AC20VLNP1.5第 17 页,共 19 页附录 C 系统控制程序控制程序:ORG 0000H ;程序起始地址AJMP CSH ;主程序进入点ORG 000BH ;定时中断 T0 入口地址LJMP TIM0 ;跳至 TIMER0 中断子程序* T0、8155、P1 口初始化 *ORG 0030HCSH: MOV R0,#7FH ;内部 RAM(00H 7FH)清零CSH1: MOV R0, #00HDJNZ R0, CSH1MOV SP,#60H ;

36、移开堆栈指针 SPMOV TMOD,#01H ;设 TIMER0 在 MODE1 作 16位计数器CLR TCON.1 ;T0 禁止动作SETB IE.1 ;T0 允许中断SETB PT0 ;T0 中断优先18CLR P2.1 ;8155 复位SETB P2.1 CLR P2.1 SETB P2.0 ;8155 IO/M=1 选择使用在输入输出口MOV DPTR,#100H ;命令 /状态寄存器地址MOV A,#0FH ;设定命令/ 状态寄存器地址PA,PB,;PC 为输出MOVX DPTR, A * 扫键程序 *WAIT: NOP MOV P1,#0FH ;P1 口初始化(低四位为输入、高四

37、位输出口)JNB P1.0,JPZZ1 ;P1.0 口为 0 放第一曲JNB P1.1,JPZZ2 ;P1.1 口为 0 放第二曲JNB P1.2,XUNHUAN ;P1.2 口为 0 执行循环MOV 5CH,#00H ;P1.2 口为 1 顺序执行一次结束AJMP MAIN ;放第一首歌曲JPZZ1: MOV 5CH,#00H ;取第一首歌的简谱指针MOV 20H,P1.0 ;将 P1.0 口的值暂存于 20H 单元SETB P1.0 ;恢复 P1.0 的初值AJMP MAIN ;执行循环JPZZ2: MOV 5CH,#57H ;取第二首歌的简谱指针MOV 20H,P1.1 ;将 P1.1

38、口的值暂存于 20H 单元SETB P1.1 ;恢复 P1.1 的初值AJMP MAIN ;执行循环XUNHUAN: MOV 5CH,#00H MOV 21H,P1.2 ;将 P1.2 口的值暂存于 21H 单元SETB P1.2 ;恢复 P1.2 的初值AJMP MAIN ;执行循环第 19 页,共 19 页* 主程序 *MAIN: MOV 22H,#00H ;花形种数初值MAIN0: LCALL DCF ;调用花形子程序MSD: MOV A,5CH ;简谱码指针装入 AMOV DPTR,#TABLE ;至 TABLE(简码表)取简码MOVC A,A+DPTR MOV R5,A ;取到的简码存入 R5JZ END1 ;是否取到 00(结束码)?ANL A,#0FH ;不是,则取低四位(节拍码)MOV R6,A ;将节拍码存入 R6MOV A,R5 ;将取到的简码再装入 R5SWAP A ;高低四位交换ANL A,#0FH ;取低四位(音符码)JNZ BQYU ;取到的音符码是否为 0?CLR TR0 ;是,则不发音AJMP D1 ;跳到 D1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报