基于51单片机AT89C51的小型音乐喷泉控制系统设计

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击查看学习资料)

wx供重浩:创享日记
对话框发送:单片机小喷泉
获取完整无水印论文报告(内含电路原理图和程序)


根据目前音乐喷泉的发展现状,介绍了一个以AT89C51单片机为核心的小型音乐喷泉控制系统。给出了一个简洁的单片机控制电路,分析了输出地址,描述了不同类型的输出电路和输入电路;介绍了从特定构造的喷池中获得决定喷池动作的喷池数据的原理;给出了主程序框图和看门狗子程序。采用程序控制来控制花型。音频信号还影响灯光色彩和灯光光线明暗的变化。从而使灯光色彩、灯光的闪烁和喷泉水姿随音乐节奏而变化。

在这里插入图片描述


第1章 绪 论

(详见下载)


第2章 音乐喷泉控制系统硬件设计

2.1 控制系统硬件总体设计方案
该音乐喷泉控制系统的总体结构如图2.1所示,由音乐输入系统、数模转换系统、单片机控制系统和输出控制系统等组成。
在这里插入图片描述
2.2音乐信号的采集

前面已经介绍过,本文的研究针对的是采用外部音源的喷泉系统,因此在对音乐信号进行特征识别前首先要完成对模拟音乐信号的采集。音乐信号的采集主要包括音频放大和 A/D 转换两个过程,下面分别进行分析。

2.2.1 音频放大电路的设计

外部音源信号的幅度一般较弱,因此必须要对原信号进行放大处理后才能送入A/D 转换器。本文选择了 LM386 芯片设计音频放大电路。LM386 是美国国家半导体公司(NS)推出的系列功率放大集成电路的一种,LM386 具有功耗低、工作电压范围宽、所需外围元件少等特点,在电子设备的音频放大电路设计中应用非常广泛,它使用了 10 只晶体管构成了输入级、电压增益和电流驱动级。其中 T1~T6 组成 PNP 型复合差分放大器,T5、T6 为镜像恒流源,作为 T3、T4 的有源负载,使输入级有稳定的增益。电压增益级由接成共发射极状态的 T7 承担,其负载也使用了恒流源,整个集成功放的开环增益主要由该级决定。T8、T9 复合为一个 PNP 管,和 T10 共同组成互补对称射极输出电路,以供给负载以足够的电流。D1、D2 提供了 T8、T9、T10 所需的偏置,使末级偏置在甲乙类状态。R5~R7 构成内部反馈环路。从图 3.2.1 可以看出,LM386 采用双列 8 脚封装结构,它的工作电压范围为 4~12V,静态电流 4mA,最大输出功率 660mW,最大电压增益 46dB,增益带宽 300kHz,谐波失真 0.2%。
在这里插入图片描述
在 LM386 的 DataSheet 上,提供了两种典型放大电路的设计方案。一种是在LM386 的 1 脚和 8 脚之间不接其他元件,此时放大电路的增益仅由内部电阻R5~R7决定,为 20 倍数(26dB),这种方式外部电路元件最少,也最为经济。另一种通过在 1 脚和 8 脚之间串接不同的阻容元件,改变放大电路的交流反馈量,从而改变放大电路的闭环增益。音乐信号的放大采集如图 2.2.2 所示。外部音源(声卡、CD 机等)的模拟音乐信号分左、右声道分别进入放大电路,经过信号放大后,得到幅值放大后的音频信号。从图 3.2.2 可以看出放大电路的具体设计。在 LM386 的 1 脚和 8 脚之间串接一个 10 微法的电容 C4,使内部电阻 R6 被交流旁路,放大电路的增益能达到最大值,200 倍数(46dB)。再对音频放大电路的外围电路进行设计,电路中电容 C1、C6 作为隔直电容,电位器 P1 用于调节音量的大小,元件 R2、C5 有助于旁路高频噪音和改善输出的音质。电容 C3 作为去耦电容,一方面是本集成电路的蓄能电容,另一方面旁路掉该器件的高频噪声。电容 C2 则是作为旁路电容,将信号的中高频噪音旁路到地。经过放大电路的音频信号就送入 A/D 转换器进行采样,这里 A/D转换器要设置为双极性,即能接收负信号。
在这里插入图片描述
2.2.2 采样定理
采样是指用一较高频率的开关脉冲对模拟信号进行取样,取出脉冲到来时刻所对应的模拟信号的幅度,这样就可以得到一连串幅度变化的离散脉冲。用这些离散脉冲序列代替原来时间上连续的信号,也就是在时间上将模拟信号离散化。
如图 3.2.2 所示,在对音乐信号进行放大处理后,就要通过 A/D 转换将模拟信号采集进计算机,这就是音乐信号的采样。我们在对一个连续的音乐信号进行采样时,为了使采样后的样本序列能够包含足够的信息以使其能够较正确地重现原来的模拟信号,在采样时应当使采样频率满足采样定理的要求。采样定理的描述为“对一个模拟信号进行离散化时,只要满足采样频率fs 大于或等于被采样信号的最高频率fm的2 倍,就可以通过理想的低通滤波器,从样本值序列信号中无失真地恢复出原始模拟信号”,这里的fm称为香农频率,这个采样定理又称为香农采样定理。实际应用中为了较好的防止频谱混叠失真,采样频率一般要稍大于信号最高频率的 2 倍。比如乐曲的音域频段如果在 50Hz~4000Hz 内,就要将 A/D 转换器的采样频率选定为 10kHz,才能满足香农采样定理的要求。

2.3 单片机电路
单片机要采集音乐信号,并据此调节I/O口的输出来控制水泵和彩灯。主芯片选用AT89C51单片机。AT89C51单片机是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含8K空间的可反复擦写1000次的Flash只读存储器,具有256bytes的随机存取数据存储器(RAM),32个I/O口,1个看门狗定时器,3个16位可编程定时器,具有ISP功能,能够满足设计要求。使用简单且价格非常低廉。故系统的主控制器采用此方案。
在这里插入图片描述
2.3.1 单片机的概述
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(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中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

单片机有四个数据输出端口,P0口、P1口、P2口、P3口。由于P3口还有许多特殊功能,如读写控制、串行通信、外部中断等功能,所以P3口不用作数据输入输出端口。P0口具有很强的带负载的能力,除了用作地址总线低八位以外,还兼作访问外接扩展程序内存时数据总线以及与A/D转换器ADC0809L连接的资料线。P1口、P2口带负载能力相对比教弱,而P2口需要用作访问外接内存的高八位地址线,因此P2口也不作为数据输入输出口,剩下的P1口作为资料输出口。

2.3.2 时钟电路的设计
AT89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器,如图2—13所示:
在这里插入图片描述
2.4 AD转换电路
输入的电压为交流模拟量,不能直接送入单片机进行处理。因此首先采用全桥整流,滤波。使其成为直流信号,再采用全桥整流,滤波。使其成为直流信号,再采用了ADC电路。其中AD芯片为ADC0832。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32 s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性强。独立的芯片使能输入,使多器件挂接和处理器控制变得更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。串行通信节约单片机I/O资源。
ADC0809各引脚功能:ADC0809采用双列直插式封装,共有28条引脚。
(1)IN0—IN7(8条) IN0—IN7为8路模拟电压输入线,用于输入被转换的模拟电压;
(2)地址输入和控制(4条) ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,ADDA、ADDB和ADDC三条地址线上的地址信号得以锁存,经译码后控制8路模拟开关工作,ADDA、ADDB和ADDC 为地址输入线,用于选择IN0—IN7上的哪一路模拟电压送给比较器进行A/D转换。
(3)数字量输出及控制线(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的连接
ADC0809的时钟信号来自单片机89C51的ALE信号,89C51采用12MHz时钟频率,ALE为2MHz,经四分频后为500KHz作为ADC0809的时钟频率。用P2.7控制A/D转换的启动与转换结束后数字量的读取。ADC0809的地址锁存允许管脚(ALE)H和启动管脚(START)相连。由P2.7和WR信号经或非门提供的信号使P0.2—P0.0提供的3位通道地址送入ADC0809进行锁存,用以选取通道号。转换结束信号EOC作为查询信号。具体接口电路如图2-4所示。
在这里插入图片描述
2.4.2输入电路
在这里,输入电路是指能对乐曲启停、乐曲节奏和声音强弱等进行检测并将检到的信号以电平、脉冲或数字形式送至单片机的电路。为说明简单计,这里仅介绍能反映乐曲启停的奏曲信号电路。因为有了它,音乐已不再仅是背景音乐,音乐已用来控制整个喷池的动作与否,因而已达到了音乐喷泉的最基本要求。奏曲信号电路的框图如图2.4.2所示。左右两路立体声信号经混合后送限幅放大电路放大,这样即使是极弱的乐曲信号也能有足够强度媳信号输出。整流滤波电路用以将信号转为单向信号。电压比较器用以将大于基准电压的单向信号变换成低电平有效的奏曲信号由之端输出。通过调整基准电压,可使电路既不受干扰的影响又灵敏度最大。奏曲信号电路的输出经R3送至光耦4N35在单片机P1.5引脚产生一低电平信号。
在这里插入图片描述
2.5潜水泵调速硬件方案设计(详见下载)

2.6灯光硬件方案设计(详见下载)

2.7解决系统时间滞后硬件电路设计
由于单片机采集数据并处理需要一定的时间,加上电机响应和水柱显示也需要一定的时间。电机由一种转速到另一种转速的响应时间可以查电机参数得到,电动机的响应时间为0.04S,单片机采集处理数据程序约为100句,约为0.6ms,水柱的显示延时可以通过水闸效应计算出来,经计算总延时约为0.2S。提出两种解决方案。
方案一:采用预处理,即把要控制的音乐元素提前编辑好,提前控制。
方案二:采用把音乐延时播放,即在音乐源与音响间加延时电路,调节参数,使音乐与水柱的变化同步。
音乐元素提前预处理一般使用在工控机等数字处理能力非常强的控制系统中,使用单片机一般实现不了这个预处理目标。因此采用延时电路[6]把音乐延时播放,选择方案二。


第3章 喷泉控制系统软件设计

程序采用模块化结构,所有用到的常数或数组都用EQU或DATA或DB伪指令定义与命名,以使程序易于修改、调试和升级。本系统将TO溢出中断用于软件看门狗。

3.1喷池数据
喷池数据是用以对喷池内的水泵、电磁阀和彩灯等进行开与关控制的数据。一组可循环使用的这种数据,就决定了喷泉和彩灯的一个特定的变化形态。这组喷池数据可称为花样数据。对一个特定构造的喷池,这种花样数据可编写出很多。下面以图3.1为例说明花样数据的编排方法。假设希望外圈喷头每隔一定时间顺次增喷2个喷头,且从2个经4步顺时针增至8个后,再顺次以同样的方向同样的速度每次减喷2个喷头,即从8个喷头经4步减至0。以后不断按上述规律循环变化。在这期间,里圈和中心喷头一直不喷。在不考虑其它控制的情况下,图4.1喷池只需2个输出寄存器,其各位控制喷头定义如下:
在这里插入图片描述
以上各位若为1时相应的喷头喷水,为0时不喷水,则外圈喷头数据应为:(详见下载)

若该花样数据定义为HYSJ01则数据定义如下:(详见下载)

每次将花样数据输出时都是顺次取一列输出的,且可循环取用。显然这样的花样数据可以编不少,还可将两个以上的数据搭配起来,组成新的更复杂一些的花样数据。

3.2主程序框图
程序重新设置后,进入0000H开始的主程序,其流程图如图3.2所示。可以看出:P1.4上的开关K决定是否测试输出通道;乐曲是否演奏决定了喷池是否有动作,即P1.5的电平;拔码开关的设定值决定了延时多少倍的0.1秒时间,即喷池动作改变的时间间隔:奏曲每停一次(大多数乐曲奏曲中间不会停),下次再奏曲就换一组花样数据,若用完了最后一组,以后就从头再取。也就是多个乐曲依次轮流循环使用编制好的喷池花样数据。
在这里插入图片描述
3.3 控制潜水泵软件设计模块(详见下载)
3.4控制电磁阀软件设计模块(详见下载)
3.5 歌曲存储模块(详见下载)
3.6灯光控制模块
LC182是音频调制彩灯控制专用芯片,其内部分配器频率的高低受音频信号大小的调制,特别适用于声光音响控制场合,可直接驱动驱动众多发光二极管闪光,也可驱动交流彩色电灯作循环闪光。LC182为四路驱动输出。他们的内部均有信号整流电路。压控振荡器,脉冲分配器。在本系统中,单片机便开启LC182时,LC182四路输出依次变为高电平,其循环频率约为0.5~1HZ,一有音乐信号的输入,彩灯的循环频率随音频信号的大小而变化,其最高循环频率为15HZ。

LUMP:MOV   DPTR,  #0EF00H	;      初始化2#8155,PA口为基本输出口PB口为基本输出口,PC口输入口MOV   A,     #1HMOVX @DPTR, AINC   DPTRINC   DPTR;                 指向2#8155PC口MOV  A,   #01HMOVX @DPTR, ARET

3.7看门狗子程序(详见下载)

3.8实验仿真
仿真是利用计算机对实际额屋里模型或数学模型进行试验(虚拟仪器的虚拟实验),通过这样的模型试验来随一个实际系统的性能和工作状态进行分析和研究。
近年来计算机仿真技术取得了快速的发展,同时推动了单片机仿真技术的进步。目前,用于单片机仿真的工具很多,有些主要用于软件仿真,侧重于算法的验证;有些用于硬件仿真的工具对CPU的仿真能力有限,至于对CPU外围的硬件仿真更是无能为力。Proteus在单片机CPU和外围器件方面表现出卓越的仿真能力使其成为目前最好的仿真工具之一。
Proteus的显著特点如下:
(1)全部满足单片机软件仿真系统的标准,并在同类产品中有明显优势;
(2)具有模拟电路仿真、数字电路仿真、单片机及外围电路组成的系统仿真的功能;
(3)目前支持的单片机类型有:68000系列、51系列、AAVR系列等;
(4)支持大量的存储器和外围设备。
由于实验室条件原因本设计仿真部分不能在实验室完成,因此仅在此将使用Proteus来实现本设计仿真的步骤进行描述如下:
第一步:打开Proteus 6 Professional绘图界面。
第二步:添加所需元件并连接电路图。本设计所需元件有:AT89C51、LED灯、水泵、电磁阀、扬声器等。
第三步:添加仿真文件。
第四步:单击开始图标,开始仿真。此时喷泉开始运行,根据运行状态进行源代码的调试。

(附录及其它详见下载)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18027.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产自研GPT大语言模型|实在智能TARS

目录 前言 TARS名字由来 实在智能 TARS 应用演示 大模型RPA 大模型IDP 最后 前言 Chat-GPT问世以来,国内外知名公司纷纷加入到大模型的研发行列中,2023年无疑成为大模型发展元年。百度、谷歌等科技巨头百家争鸣,新锐科技公司也不甘…

突发!AI视觉大牛陶大程被爆将离职京东探索研究院院长!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信技术交流群 AI 技术能成为京东第二增长曲线的原动力吗? 转载自:AI科技评论 | 作者:陈彩娴 编辑:岑峰 AI科…

还在对大模型做刷榜优化吗,错了!专业考试不是唯一基准

夕小瑶科技说 原创 作者 | 智商掉了一地、鹰钩鼻涕虫 自从推出 GPT-4 以来,OpenAI 并没有公布太多关于它的实现细节。虽然曾经 OpenAI 在创立之初就将自己定义为一家非营利的机构,并格外注重人工智能(AI)的安全和隐私。但理想很…

微软 CTO 断言,明年是AI社区最激动人心的一年,网友:GPT-4 要来了?

来源:AI前线 整理:褚杏娟 核子可乐 GPT 不出,AI 万古如长夜。 “对于人工智能,2022 年是有史以来最激动人心的一年。”微软首席技术官 Scott Stein 在近日的分享中说道,但他还自信地表示,“2023 年将是 AI…

英伟达、Google与Adobe陆续推出AI模型,未来还会有多少职业会被取代?

3月21日晚,关于GPT的热点依然在继续。 在一年一度的GTC大会上,英伟达发布了新显卡H100 NVL,它拥有双GPU NVLink与188GB HBM3内存,专为算力需求巨大的ChatGPT而设计。 Adobe Premiere的傻瓜式插件Runway Gen 2也首次披露&#xff0…

【大模型】—LangChain开源框架介绍

大模型——LangChain开源框架介绍 2023年可以说是AI大语言模型发展元年,随着OpenAI的ChatGPT和GPT-4的发布,点燃了人工智能大语言模型的发展浪潮,各大科技公司纷纷推出了自家的大语言模型产品,各国更是将大语言模型的发展作为人工…

程序员变高危职位!又一个删库跑路进去了

上一篇:中国各城市首轮感染高峰期预测! 最近又有一个同行为了泄私愤,又删库跑路了。(我为什么要加个“又”?) 一提到「删库跑路」,大众肯定最新会想到程序员群体。 没错,我们手上握着…

【电商AI工具一期】AI引领电商新风潮:20款AI电子商务工具盘点,让你实现财富增长!

注: 本文可自由转载 0. 未来百科 未来百科(https://nav.6aiq.com),是一个知名的AI产品导航网站 —— 为发现全球优质AI工具而生 。目前已 聚集全球3000优质AI工具产品 ,旨在帮助用户发现全球最好的AI工具,同时为研发AI垂直应用的…

如何使用ChatGPT帮助孩子辅导作业?

如果您对自媒体内容感兴趣,关注公众号:色宁AI,发送邮件给tiktok_top_listshsening.com即可加入邮件列表,可免费获取youtube/tiktok top100热门视频名称和链接,每天免费发送,每天免费发送,每天免…

面对ChatGPT的挑战,教育如何接招?

面对以ChatGPT为代表的AI所带来的挑战,教育必须看清未来趋势,要不然费劲心思育人,就如同埋头苦干造了一艘船,过了几十年却发现旅行目的地是沙漠一样无用。 为此,上海市教育委员会副主任倪闽景提出,教育改革…

如何借力ChatGPT辅导孩子学习和成长

ChatGPT云炬学长 公众号:云炬网络 ChatGPT不仅可以成为一名优秀的教师,甚至可以成为教育大师,让您的孩子直接与教育大师对话、学习、进步。 这在AI 2.0之前,是无论如何也无法想想的。 下面,就让ChatGPT成为下面4位…

ChatGPT对未来教育的影响:教师学生需要掌握这个新能力

美国人工智能公司OpenAI的大语言模型ChatGPT在推出约两个月后,1月已达到1亿月活跃用户,成为历史上增长最快的消费者应用程序。 目录 01.诞生过程 02.背后的技术 03.颠覆的行业 04.对教育的未来变化 01.诞生过程 2018年6月,拥有1.17亿参…

用 Python 实现 OpenAI 余额查询功能

大家开发完 OpenAI 的产品后经常需要关注费用情况,也有很多网站支持输入 api_key 查询余额。 但是,你真的敢用么? 这里教大家自己用 python 写一段查询 openai key 的代码,如下: import datetime# 用您的 API 密钥替…

关于chatGPT、AI绘画、AI提示词等AI账户积分用完获取的办法

账户余额充值教程 11、如果对应的AI工具余额不够了,只需要点击上面的RECHANGE充值对应的账户即可。例如:我这里以充值ChatGPT账户为例子。 11.1点击RECHARGE CHATGPT 11.2、点击…

2023商业版ChatGPT网页版源码V4.7.2+新增后台查KEY余额功能

正文: 4.7.2版 新增后台批量查KEY余额 修复邮箱可反复注册的BUG 优化前端UI手机端小BUG 修复SQL语句执行错误 修复数据库用户注册后密码明文显示BUG 安装教程: 搭建宝塔 解析域名 上传程序至根目录 配置数据库信息:lib/config.php 导入数据库 PHP选择:7.3 访问网…

2023最新ChatGPT余额查询网页源码+实测直接用/已配置API接口

正文: 实测可用,界面轻量级,接口已配置,直接用就可以了,有需要的可以自己拿去安装查询吧,是html的,不用上传到服务器也可以用。 程序: wweorg.lanzout.com/iLZ9K0v1fjzc 图片:

ChatGPT 余额查询接口

接口地址: http://freeapi.club:9001/openai/apikeyBilling/2/sk-xxxx 请求类型: get 参数说明:2 为最近几天的使用情况。结果中会有最近2天内各种模型使用的token数量 sk-xxxx 为你的apikey 浏览器可以直接访问,结果json格式化一下就好。 {"u…

智能优化算法:CEC23组常用测试函数公式介绍

智能优化算法性能比较:常用的23组测试函数 文章目录 智能优化算法性能比较:常用的23组测试函数1. 单模态的基准测试函数2. 多模态的基准测试函数3. 复合基准测试函数4. 测试函数代码5. 智能优化算法的性能对比5.1 对比结果在智能优化算法的性能比较过程中,经常会需要用到一些…

LaTeX 免费神器!再也不怕复杂的公式了

(给程序员的那些事加星标) 综合整理:算法爱好者(ID:AlgorithmFans) 推荐一个免费神器 Snip,能把各种公式转成 LaTeX。 下载链接: https://mathpix.com/ 简单易用 1、快捷方式启动 2、…

如何使用BBP公式直接计算π的第n位

使用BBP公式可以直接求得十六进制π的第n位而不需要计算前n位的数(讲道理,我认为是可以计算十进制的第n位的,毕竟其本身就能直接计算出十进制的π,但我没试),其优点在于可以进行分布式计算,即将一个耗时的运算拆分成若…