《基于AT89C51单片机的音乐喷泉控制系统设计说明.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的音乐喷泉控制系统设计说明.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 .摘 要随着人们生活水平的提高和建立绿色城市的向往,音乐喷泉以其独特的魅力和特殊的功能,愈来愈成为休闲娱乐产业中的一项重要产品,音乐喷泉的兴建也越来越多。根据目前音乐喷泉的发展现状,介绍了一个以AT89C51单片机为核心的小型音乐喷泉控制系统。给出了一个简洁的单片机控制电路,分析了输出地址,描述了不同类型的输出电路和输入电路;介绍了从特定构造的喷池中获得决定喷池动作的喷池数据的原理;给出了主程序框图和看门狗子程序。采用程序控制来控制花型。音频信号还影响灯光色彩和灯光光线明暗的变化。从而使灯光色彩、灯光的闪烁和喷泉水姿随音乐节奏而变化。关键词:音乐喷泉;单片机;单片机控制;喷池数据ABSTRA
2、CTWith the improvement of peoples living standard and yearn for building green city, music fountain is more and more popular for its unique charm and special functionlarge numbers of music fountain is increasingly built. According to the present situation ofmusic fountain now, control system ofminit
3、ype musicFountainbasedonAT89C51SCMwasintroducedA succinct SCMcontrol circuitwas preto obtain data from a specific fountain pool .Was elaborated,which will affect actions ofthe p001Finally,the structure drawing ofmainprogram and the watchdog program were put forward. Theflower shapes are controlled b
4、y program controlling or man-made keystroke controlling electromagnetic valves. The color、the light and shade of ray are changed by musical signals. So that the color、the light and shade of ray、the spring form is changed with musics rhythm when music is playedKey Words:music fountain;SCM;SCM control
5、;watchdog program目录摘 要1ABSTRACT2第1章 绪 论41.1课题背景41.2 音乐喷泉的发展和现状5第2章 音乐喷泉控制系统硬件设计62.1 控制系统硬件总体设计方案62.2音乐信号的采集72.2.1 音频放大电路的设计72.2.2 采样定理92.3 单片机电路102.3.1 单片机的概述102.3.2 时钟电路的设计112.4 AD转换电路112.4.1 ADC0809与单片机89C51的连接122.4.2输入电路132.5潜水泵调速硬件方案设计132.6灯光硬件方案设计142.7解决系统时间滞后硬件电路设计15第3章 喷泉控制系统软件设计163.1喷池数据163.
6、2主程序框图183.3 控制潜水泵软件设计模块183.3.1 潜水泵开关调速的原理193.3.2潜水泵开关调速的软件设计203.4控制电磁阀软件设计模块213.5 歌曲存储模块213.5.1音频脉冲的产生213.5.2音乐程序233.6灯光控制模块263.7看门狗子程序263.8实验仿真27结 论29致 30参考文献31附 录32附录132附录233第1章 绪 论1.1课题背景随着人们生活水平的提高,人们对环境的要求越来越高,城市环境建设日益为人们所重视。喷泉作为一种观赏性较高的艺术水景,不断的出现在城市的广场、公园与其它公共场所,早些的喷泉都是固定不可调的,显得有些单调,随着科技的发展音乐喷
7、泉也进入了我们的城市。音乐喷泉是现代科技与艺术的综合,音乐喷泉将喷水图形、彩色灯光与音乐旋律构成一个有机的整体,随着乐曲旋律和节奏的变化,各种不同的喷水花形相应的配合变换,在五彩绚丽的变幻灯光照耀下,构成一幅幅奇妙无比的景观、令人赏心悦目,叹为观止,在视听上获得极大的享受。音乐喷泉的起源于1930年,德国人首先带出喷泉的概念,此后经过多年的发展,其音乐喷泉的设计与构造已变得更大型与复杂。随着我国改革开放政策的不断实施,80年代中,我国也相继引进和自行设计建造了多座音乐喷泉,为美化环境,活跃人民的文化生活起了良好的作用。通过学习和引进国外先进技术,加上自行研究和开发,喷泉的面貌不断更新,各种新水
8、型层出不穷,音乐喷泉还可以同水幕电影、激光表演和舞台表演相结合,产生令人难忘的艺术效果。我国现有上百家喷泉水景设备制造厂,经过市场竞争、优胜劣汰,我国已经出现了几家综合实力较强的大型喷泉水景工程公司,能够独立建设投资上千万元的特大型喷泉水景工程,并创造了一些世界之最的新记录。总体上说,我国的喷泉水景技术已经达到了国际先进水平,其建设规模和市场需求更是其他国家所难以相比的。 1.2 音乐喷泉的发展和现状 石景山古城公园的音乐喷泉,在悠扬动听的音乐声中,喷水可产生五六种变化,时而转动如银伞,时而飘忽如玉带,时而如金蛇狂舞,时而旋转飞溅喷出的花形有昙花、菊花、扶桑花、百合花和曼陀罗花,这是在80年代
9、初期中国较早建设的一个音乐喷泉。的秋水广场是由“落霞与孤鹜齐飞,秋水共长天一色”的意境得名,秋水广场就是以喷泉为主题,集旅游、观光、购物的大型休闲广场。他的音乐喷泉最吸引人注目,是国最大的音乐喷泉群,泉水面积1.2万平方米,主喷高达128米,是的一俏丽景观,人们可以一边欣赏音乐,一边观看滕王阁的美景。新加坡圣淘沙旅游区的音乐的设计与效果也是值得参考的,它布置在一个空旷而略有坡度的空间,面积很大,与圣淘沙车站前的长形喷水池共同组成为一个长达数百米的综合系列喷泉,音乐喷泉位于系列喷泉的顶端。舞台为一假山堆叠的西洋式半圆柱廊组成,共分3层。白天,假山瀑布与两侧的喷泉群与3层水池形成一处动静结合的较为
10、文雅悠扬的水景园,入夜则有五光十色,优美动听的喷泉景观,整个舞台区域东西面阔近百米,南北深度约40m,成为目前亚洲最大的音乐喷泉之一。表现出壮阔、绚丽的水景之美。 以上几处音乐喷泉从建筑形势、音乐曲调与水舞表演的角度展现了音乐喷泉的美丽姿态,但是都属于大型的音乐喷泉,其控制系统也多采用PLC逻辑编程控制,造价高,流量需求大,一般为专门的定量设计。即使这样,国外的音乐喷泉控制系统设计均以达到成熟的水平,而且还有专门的生产设计厂家,提供设计、喷泉设备与安装等服务。目前,国的音乐喷泉逐渐向智能化、分散化、综合化、多样化的方向发展,于是对喷泉控制系统的设计也提出了更高的要求。第2章 音乐喷泉控制系统硬
11、件设计2.1 控制系统硬件总体设计方案该音乐喷泉控制系统的总体结构如图2.1所示,由音乐输入系统、数模转换系统、单片机控制系统和输出控制系统等组成。图2.1 系统总体结构框图2.2音乐信号的采集前面已经介绍过,本文的研究针对的是采用外部音源的喷泉系统,因此在对音乐信号进行特征识别前首先要完成对模拟音乐信号的采集。音乐信号的采集主要包括音频放大和 A/D 转换两个过程,下面分别进行分析。2.2.1 音频放大电路的设计外部音源信号的幅度一般较弱,因此必须要对原信号进行放大处理后才能送入A/D 转换器。本文选择了 LM386 芯片设计音频放大电路。LM386 是美国国家半导体公司(NS)推出的系列功
12、率放大集成电路的一种,LM386 具有功耗低、工作电压围宽、所需外围元件少等特点,在电子设备的音频放大电路设计中应用非常广泛,它使用了 10 只晶体管构成了输入级、电压增益和电流驱动级。其中 T1T6 组成 PNP 型复合差分放大器,T5、T6 为镜像恒流源,作为 T3、T4 的有源负载,使输入级有稳定的增益。电压增益级由接成共发射极状态的 T7 承当,其负载也使用了恒流源,整个集成功放的开环增益主要由该级决定。T8、T9 复合为一个 PNP 管,和 T10 共同组成互补对称射极输出电路,以供给负载以足够的电流。D1、D2 提供了 T8、T9、T10 所需的偏置,使末级偏置在甲乙类状态。R5R
13、7 构成部反馈环路。从图 3.2.1 可以看出,LM386 采用双列 8 脚封装结构,它的工作电压围为 412V,静态电流 4mA,最大输出功率 660mW,最大电压增益 46dB,增益带宽 300kHz,谐波失真 0.2%。图2.2.1 LM386 封装形式与引脚定义在 LM386 的 DataSheet 上,提供了两种典型放大电路的设计方案。一种是在LM386 的 1 脚和 8 脚之间不接其他元件,此时放大电路的增益仅由部电阻 R5R7决定,为 20 倍数(26dB),这种方式外部电路元件最少,也最为经济。另一种通过在 1 脚和 8 脚之间串接不同的阻容元件,改变放大电路的交流反馈量,从而
14、改变放大电路的闭环增益。音乐信号的放大采集如图 2.2.2 所示。外部音源(声卡、CD 机等)的模拟音乐信号分左、右声道分别进入放大电路,经过信号放大后,得到幅值放大后的音频信号。从图 3.2.2 可以看出放大电路的具体设计。在 LM386 的 1 脚和 8 脚之间串接一个 10 微法的电容 C4,使部电阻 R6 被交流旁路,放大电路的增益能达到最大值,200 倍数(46dB)。再对音频放大电路的外围电路进行设计,电路中电容 C1、C6 作为隔直电容,电位器 P1 用于调节音量的大小,元件 R2、C5 有助于旁路高频噪音和改善输出的音质。电容 C3 作为去耦电容,一方面是本集成电路的蓄能电容,
15、另一方面旁路掉该器件的高频噪声。电容 C2 则是作为旁路电容,将信号的中高频噪音旁路到地。经过放大电路的音频信号就送入 A/D 转换器进行采样,这里 A/D转换器要设置为双极性,即能接收负信号。图 2.2.2 音乐信号放大采集2.2.2 采样定理采样是指用一较高频率的开关脉冲对模拟信号进行取样,取出脉冲到来时刻所对应的模拟信号的幅度,这样就可以得到一连串幅度变化的离散脉冲。用这些离散脉冲序列代替原来时间上连续的信号,也就是在时间上将模拟信号离散化。如图 3.2.2 所示,在对音乐信号进行放大处理后,就要通过 A/D 转换将模拟信号采集进计算机,这就是音乐信号的采样。我们在对一个连续的音乐信号进
16、行采样时,为了使采样后的样本序列能够包含足够的信息以使其能够较正确地重现原来的模拟信号,在采样时应当使采样频率满足采样定理的要求。采样定理的描述为“对一个模拟信号进行离散化时,只要满足采样频率fs 大于或等于被采样信号的最高频率fm的2 倍,就可以通过理想的低通滤波器,从样本值序列信号中无失真地恢复出原始模拟信号”,这里的fm称为香农频率,这个采样定理又称为香农采样定理。实际应用中为了较好的防止频谱混叠失真,采样频率一般要稍大于信号最高频率的 2 倍。比如乐曲的音域频段如果在 50Hz4000Hz ,就要将 A/D 转换器的采样频率选定为 10kHz,才能满足香农采样定理的要求。2.3 单片机
17、电路 单片机要采集音乐信号,并据此调节I/O口的输出来控制水泵和彩灯。主芯片选用AT89C51单片机。AT89C51单片机是一个低功耗,高性能的51核的CMOS 8位单片机,片含8K空间的可反复擦写1000次的Flash只读存储器,具有256bytes的随机存取数据存储器(RAM),32个I/O口,1个看门狗定时器,3个16位可编程定时器,具有ISP功能,能够满足设计要求。使用简单且价格非常低廉。故系统的主控制器采用此方案。图2.3 89C51芯片2.3.1 单片机的概述AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片含4K bytes的可反复擦写的只读程序存储器
18、(PEROM)和128 bytes的随机存取数据存取器(RAM),器件采用ATMEL公司的ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器(CPU)和Flash存储单元。AT89C51提供一下标准功能:4K字节Flash闪速存储器,128字节部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个双全工串行通信口,片震荡器与时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口与中断系统继续工作。掉电方式保存RAM中的容
19、,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。单片机有四个数据输出端口,P0口、P1口、P2口、P3口。由于P3口还有许多特殊功能,如读写控制、串行通信、外部中断等功能,所以P3口不用作数据输入输出端口。P0口具有很强的带负载的能力,除了用作地址总线低八位以外,还兼作访问外接扩展程序存时数据总线以与与A/D转换器ADC0809L连接的资料线。P1口、P2口带负载能力相对比教弱,而P2口需要用作访问外接存的高八位地址线,因此P2口也不作为数据输入输出口,剩下的P1口作为资料输出口。2.3.2 时钟电路的设计AT89C51芯片部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入
20、端为XTAL1,输出端为XTAL2两端跨接石英晶体与两个电容就可以构成稳定的自激振荡器,如图213所示: 图2-13自激振荡器 2.4 AD转换电路输入的电压为交流模拟量,不能直接送入单片机进行处理。因此首先采用全桥整流,滤波。使其成为直流信号,再采用全桥整流,滤波。使其成为直流信号,再采用了ADC电路。其中AD芯片为ADC0832。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性强。独立的芯片
21、使能输入,使多器件挂接和处理器控制变得更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。串行通信节约单片机I/O资源。ADC0809各引脚功能:ADC0809采用双列直插式封装,共有28条引脚。 (1)IN0IN7(8条) IN0IN7为8路模拟电压输入线,用于输入被转换的模拟电压; (2)地址输入和控制(4条) ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,ADDA、ADDB和ADDC三条地址线上的地址信号得以锁存,经译码后控制8路模拟开关工作,ADDA、ADDB和ADDC 为地址输入线,用于选择IN0IN7上的哪一路模拟电压送给比较器进行A/D转换。 (3)数字量
22、输出与控制线(11条)“START”为“启动脉冲”输入线,该线上的正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。EOC为转换完毕输出线,该线上的高电平表示A/D转换已完毕,数字量已锁入“三态输出锁存器”。OE为“输出允许”线。 (4)电源线与其他(5条) CLOCK为时钟输入线,用于为ADC0809提供逐次比较所需的时钟脉冲序列。VCC为+5电源输入线,GND为地线。VREF(+)和VREF(-)为参考电压输入线,用于给电阻阶梯网络供给标准电压。VREF(+)常与 VCC 相连VREF(-)常接地或负电源电压。2.4.1 ADC0809与单片机89C51的连
23、接 ADC0809的时钟信号来自单片机89C51的ALE信号,89C51采用12MHz时钟频率,ALE为2MHz,经四分频后为500KHz作为ADC0809的时钟频率。用P2.7控制A/D转换的启动与转换完毕后数字量的读取。ADC0809的地址锁存允许管脚(ALE)H和启动管脚(START)相连。由P2.7和WR信号经或非门提供的信号使P0.2P0.0提供的3位通道地址送入ADC0809进行锁存,用以选取通道号。转换完毕信号EOC作为查询信号。具体接口电路如图2-4所示 图2-4ADC08092.4.2输入电路 在这里,输入电路是指能对乐曲启停、乐曲节奏和声音强弱等进行检测并将检到的信号以电平
24、、脉冲或数字形式送至单片机的电路。为说明简单计,这里仅介绍能反映乐曲启停的奏曲信号电路。因为有了它,音乐已不再仅是背景音乐,音乐已用来控制整个喷池的动作与否,因而已达到了音乐喷泉的最基本要求。奏曲信号电路的框图如图2.4.2所示。左右两路立体声信号经混合后送限幅放大电路放大,这样即使是极弱的乐曲信号也能有足够强度媳信号输出。整流滤波电路用以将信号转为单向信号。电压比较器用以将大于基准电压的单向信号变换成低电平有效的奏曲信号由之端输出。通过调整基准电压,可使电路既不受干扰的影响又灵敏度最大。奏曲信号电路的输出经R3送至光耦4N35在单片机P15引脚产生一低电平信号。图2.4.2奏曲信号电路框图2
25、.5潜水泵调速硬件方案设计方案一:采用变频器,调速方便、容易,只要控制口电流围为4到20毫安就可以,精度高,缺点价格偏贵。方案二:采用步进电机调速电路,这样会增加电路复杂性,控制精度偏低,优点是价格偏低。本系统成本问题必须考虑,控制精度要求不是很高,步进电机调速电路就可以满足要求。本系统采用可控硅调相的方法控制喷泉水泵的转速。电路如图2.5所示,由单片机的I/O口输出矩形波,通过光耦控制可控硅的导通角,进而控制水泵电机的转速,调整喷泉的输出高度。选用单相可控硅BT169控制220V的双向交流电。交流通过二极管1N4007(耐压值1000V)组成的整流桥后变为100Hz脉动的直流,由单片机P0.
26、4依据音乐采样结果输出矩形波,通过光耦控制可控硅的通断,以达到调相的目的。图2.5电机电路图采用这种方法关键要保证矩形波与100Hz脉动直流保持同相,由AD采样的结果决定100Hz脉动直流的每一个周期有多长时间是导通的。所以将100Hz脉动直流分压后作为单片机部比较器的一个输入端,另一个输入端接一个由5V分来的固定电压。当比较器的输出结果发生变化时,由定时器定一段时间,这样就找到了每个周期的起点,然后再根据AD采样决定不等的延时来输出矩形波导通可控硅。AD采样结果大,每个周期的延时短,可控硅导通的时间长,水泵电机转速快,反之亦然。2.6灯光硬件方案设计 方案一:使用大功率,不同颜色的发光二极管
27、。方案二:使用LED水下低压彩灯。LED-水下彩灯系列除广泛使用于喷泉,瀑布水下照明外,还可用于假山,桥梁等投光照明。 水下彩灯均采用著名荷兰菲利蒲公司产品,产品结构合理,色彩鲜艳,并进一步改进了其密封、防护和接线方式,广泛适合于各种喷泉。本次设计采用水下照明和闪光彩灯,水下照明采用LED水下低压彩灯两个,闪光彩灯采用不同颜色的发光二极管。 图2.6 彩灯的连接2.7解决系统时间滞后硬件电路设计 由于单片机采集数据并处理需要一定的时间,加上电机响应和水柱显示也需要一定的时间。电机由一种转速到另一种转速的响应时间可以查电机参数得到,电动机的响应时间为0.04S,单片机采集处理数据程序约为100句
28、,约为0.6ms,水柱的显示延时可以通过水闸效应计算出来,经计算总延时约为0.2S。提出两种解决方案。 方案一:采用预处理,即把要控制的音乐元素提前编辑好,提前控制。 方案二:采用把音乐延时播放,即在音乐源与音响间加延时电路,调节参数,使音乐与水柱的变化同步。音乐元素提前预处理一般使用在工控机等数字处理能力非常强的控制系统中,使用单片机一般实现不了这个预处理目标。因此采用延时电路6把音乐延时播放,选择方案二。第3章 喷泉控制系统软件设计程序采用模块化结构,所有用到的常数或数组都用EQU或DATA或DB伪指令定义与命名,以使程序易于修改、调试和升级。本系统将TO溢出中断用于软件看门狗。3.1喷池
29、数据 喷池数据是用以对喷池的水泵、电磁阀和彩灯等进行开与关控制的数据。一组可循环使用的这种数据,就决定了喷泉和彩灯的一个特定的变化形态。这组喷池数据可称为花样数据。对一个特定构造的喷池,这种花样数据可编写出很多。下面以图3.1为例说明花样数据的编排方法。假设希望外圈喷头每隔一定时间顺次增喷2个喷头,且从2个经4步顺时针增至8个后,再顺次以同样的方向同样的速度每次减喷2个喷头,即从8个喷头经4步减至0。以后不断按上述规律循环变化。在这期间,里圈和中心喷头一直不喷。在不考虑其它控制的情况下,图4.1喷池只需2个输出寄存器,其各位控制喷头定义如下:87654321XXX131211109图3.1喷头
30、布局例以上各位若为1时相应的喷头喷水,为0时不喷水,则外圈喷头数据应为:0000 0011B0000 1111B0011 1111B1111 1111B1111 1100B1111 0000B1100 0000B0000 0000B若该花样数据定义为HYSJ01则数据定义如下:HYSJ01:DB 03H,0FH,3FH,0FFH,0FCH,0FOH,0COH,00H;外圈喷头数据DB 0,0,0,0,0,0,0,0 ; 里圈和中心喷头数据每次将花样数据输出时都是顺次取一列输出的,且可循环取用。显然这样的花样数据可以编不少,还可将两个以上的数据搭配起来,组成新的更复杂一些的花样数据。3.2主程序
31、框图程序重新设置后,进入0000H开始的主程序,其流程图如图3.2所示。可以看出:P14上的开关K决定是否测试输出通道;乐曲是否演奏决定了喷池是否有动作,即P15的电平;拔码开关的设定值决定了延时多少倍的01秒时间,即喷池动作改变的时间间隔:奏曲每停一次(大多数乐曲奏曲中间不会停),下次再奏曲就换一组花样数据,若用完了最后一组,以后就从头再取。也就是多个乐曲依次轮流循环使用编制好的喷池花样数据。3.3 控制潜水泵软件设计模块目前,潜水泵结构简单,成本较低,控制方便,只有一种转速。要控制潜水泵的流量变化,就必须使潜水泵的转速发生变化。我们使用无触点开关分时接通的方法提高潜水泵的转速档次,在硬件电
32、路基本不变的条件下,使潜水泵具有十八档转速的调速能力和更好的节能效果,这种方法无需增加较多的硬件,仅在控制器中采用新的调速程序,即可达到提高潜水泵转速档次和节能的目的。 图3.2 主程序流程图3.3.1 潜水泵开关调速的原理潜水泵调速电路中, L、M、H分别为单相潜水泵的低速抽头、中速抽头和高速抽头,单相潜水泵采用电容运行方式,三个抽头与电源的连接由三个双向晶闸管TL、TM、TH来控制,当TL导通时潜水泵的低速抽头与电源连接,潜水泵低速运转,同样,TM导通时潜水泵中速运转,TH导通时潜水泵高速运转。我们采用分时接通L、M、H的方法,可以调节潜水泵的转速,使潜水泵获得十八档转速的变速能力。设电源
33、频率为50HZ,其周期为0.02S,取调速周期TS=6T(T为电源周期),低速调速时,调速周期不接通任何一个晶闸管,则潜水泵的转速0,调速周期全接通晶闸管TL,则潜水泵低速运转,但如果在6个电源周期,N个周期接通晶闸管TL(0N6),其他时间不接通,那么,在潜水泵的低速下可获得6档更低的转速。同样,中速调速时,调速周期全接通晶闸管TL,则潜水泵低速运转,全接通晶闸管TM,则潜水泵中速运转,如果在6个电源周期N个周期接通晶闸管TM,(6-N)个周期接通TL,那么在潜水泵的低速和中速之间可获得6档转速。同样道理,在中速和高速间又可获得6档转速。由此可见采用分时接通的方法,可以使潜水泵具有十八档转速
34、的调速能力。3.3.2潜水泵开关调速的软件设计单相潜水泵采用单片机AT89C51控制,单片机的输出端口P2.0、P2.1、P2.2经反相器与晶闸管TL、TM、TH的控制极连接,当P2.0=“0”时,晶闸管导通,潜水泵可低速运转,反之,P2.0=“1”时,晶闸管截止,潜水泵停转,即由P2.0输出电位控制潜水泵的低速档;同样,由P2.1输出电位控制潜水泵的中速档,P2.2控制潜水泵的高速档。采集的音乐信号经过傅立叶变换再去查幅值对应的分贝转速表直接得到转速代码,这样就可以控制潜水泵的转速,再此只以生日快乐音乐程序为例,控制潜水泵转速的方法如下:每个音符对应一种转速代码,潜水泵的转速随音符改变而改变
35、。调速程序必须经过一个最小时间1/4拍才能输出一个转速代码的转速,在调速程序中,采用一个存储单元(90H)作为转速输入单元,另一个存储单元(95H)记录晶闸管导通时间,并通过延时程序来实现。在调速程序中,我们采用8位数据记录电机的转速代码,其中低3位(b2b1b0)表示接通比例N,第4、5位(b4b3)表示接通档次,高3位(b7b6b5)不用。接通档次表示调速为低速调速、中速调速还是高速调速,其值为b4b3=00B,01B,10B,11B,当接通档次为00B时,在转速代码设定的接通比例接通晶闸管TL,接通比例外不接通晶闸管;当接通档次为01B时,在转速代码设定的接通比例接通晶闸管TM,接通比例
36、外接通晶闸管TL,当接通档次为10B时,在转速代码设定的接通比例接通晶闸管TH,接通比例外接通晶闸管TM;当接通档次为11B时,接通比例只有00H一种,这时在整个调速周期接通晶闸管TH,潜水泵高速运转。接通比例的取值围000B-110B,由此可知,转速代码的取值围为00H-06H,09H-0EH,11H-16H总共十八个代码,其中00H-06H为低速档代码,09H-0EH为中速档代码,11H-16H为高速档代码。所以潜水泵除零速外共有十八档转速。上述方法可以使潜水泵具备十八档转速的调速能力,但这个方法也有一些缺点,主要是:潜水泵的转矩是脉动的,使潜水泵的机械噪声增大,在此我采取防止转子轴向运动
37、的措施减少噪声,把潜水泵和水管固定。低速档接通比例较低时,潜水泵主轴出现蠕行,不能正常工作,必须限制最小转速代码。可去掉低速档转速代码中最低接通比例的三个代码,保留转速较高的十五档转速。采用改进的控制位波形和限制最小转速代码之后,潜水泵在应用中取得较好的调速和调节流量的效果。3.4控制电磁阀软件设计模块控制阀主要是控制喷池花型,由于采用PA0到PA7,PB0到PB4口控制电磁阀,除去相同的花型喷头,所以喷池花型只有1到256种。可以人工按键选择,其喷池花型值通过LED数码管显示出来,即第几号花型,选择了喷池花型值就使相应的电磁阀通电,高电平口使电磁阀有电。高电平口使电磁阀有电,电磁阀编号与PA
38、、PB口的编号对应,则PA、PB口的喷头数据一样。控制电磁阀子程序模块DIAN: MOV A,31H; 求出花型数据ADD A,32H ADDC A,33H MOV 34H,A; 保存起来 MOV DPTR, #0F700H;指向1#8155命令口 MOV A, #3H; 设置命令字 MOVX DPTR, AINC DPTR; 指向1#PA口 MOV A,34H MOVX DPTR,A; 高电平口使电磁阀有电 INC DPTR; 指向1#PB口MOV A,R7 MOVX DPTR, A RET3.5 歌曲存储模块3.5.1音频脉冲的产生若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将
39、此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将I/O反相,然后重复计时再反相。就可在I/O引脚上得到此频率的脉冲。利用单片机的部定时器使其工作计数器模式(MODE1)下,改变计数值TH0与TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。 表3.1 C调各音符频率与计数值T的对照表音符频率Hz简谱码(T值)音符频率Hz简谱码(T值)低1DO26263628#4FA#74064860#DO#27763731中5SO784
40、64898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865
41、217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6186565268中4FA69864820高7SI196765283每个音符使用一个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表3.2节拍与节拍码的对照。如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4拍的节拍时间为DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表3.3为1/4和1/8节拍的时间设定。表3.2 节拍与节拍码的对照节拍码节拍数节拍码
42、节拍数11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍41/2拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍表3.3 各调1/4节拍的时间设定曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒表3.4简谱对应的简谱码、T值简谱发音T值简谱码简谱发音简谱码T值5低音6426016中音9649686低音6440027中音A650307低音6452431高音B650581中音6458042高音C651102中音64684
43、53高音D651573中音6477764高音E651784中音6482075高音F652175中音648988高音03.5.2音乐程序先根据乐谱的音符按表3.1建立T值表的顺序,把T值表建立在TABLE1,构成发音符的计数值放在TABLE中;简谱码(音符,参照表3.4)为高4位,节拍(节拍数,参照表3.2)为低4位,音符节拍码放在程序的“TABLE”处。音乐程序模块START-MU: ORG 00H; 主程序起始地址 JMP START; 跳至主程序 ORG 0BH; TIMER0中断起始地址 JMP TIM0; 跳至TIMER0中断子程START: MOV TMOD,#01H; 设TIMER0在MODE1 MOV IE, #82H; 中断使能START0: MOV 30H, #00H; 取简谱码指针NEXT: MOV A, 30H; 简谱码指针载入A MOV DPTR,#TABLE; 至TABLE取简谱码 MOVC A, A+DPTR MOVR2, A; 取到的简谱码暂存于R2 JZ END0; 是否取到00(完毕码)? ANL A, #0FH; 不是,则取低4位(节拍码) MOV 90H, A; 为调速保存数据 MOV R5, A; 将节拍码存入R5
限制150内