产品概述

单片机汇编音乐 毕业论文:单片机的音乐喷泉制作-DIY分享 全部设计资料 源代码

小编 2024-10-07 产品概述 23 0

毕业论文:单片机的音乐喷泉制作-DIY分享 全部设计资料 源代码

因为最近忙着考试,所以都没时间更新博客了,在后台有个小姐姐给我留言说自己对单片机很感兴趣,但是又不知道从哪里开始学起,是先学硬件好还是先学软件好,其实在我们复杂的电子学里,硬件和软件是分不开的,硬件就像是我们的心脏和四肢,软件就像我们的大脑,如果只有软件没有硬件,那我们的系统就是一个没用的程序,不能执行任何操作,而如果只有硬件没有软件那么整个系统就是一个行尸走肉,是一个没有“大脑”的躯壳,我说到现在大家也应该明白了,硬不离软,软不离硬,只有软硬兼修,方能大成!好了,回到刚才的问题,我建议先从硬件开始学起,先理解了硬件的架构和各部分的工作原理,然后再去看软件,这样能更好的理解原理,就像我推荐大家先用汇编后用C一样 好了,写了这么多,如果你有不同意见或者想法欢迎留言和私信。

今天送给大家一个比较简单的小项目吧,如果你有兴趣的话可以试着做一下呦!

好了老规矩先上实物图

正面图:

焊接好的成品背面图:

电路原理图:

PCB图:

音乐喷泉的项目元器件清单:

音乐喷泉单片机C语言参考源代码如下:

#include<reg51.h>

#define uchar unsigned char

#define uint unsigned int

sbit out=P3^7;

sbit led1=P0^7;

sbit led2=P0^6;

sbit led3=P0^5;

sbit led4=P0^4;

sbit led5=P0^3;

sbit led6=P0^2;

sbit led7=P0^1;

sbit led8=P0^0;

sbit SCL=P1^2; //SCL定义为P1口的第3位脚,连接ADC0832SCL脚

sbit DO=P1^3; //DO定义为P1口的第4位脚,连接ADC0832DO脚

sbit CS=P1^0; //CS定义为P1口的第4位脚,连接ADC0832CS脚

uchar h1,date;

unsigned char adval;

void delay(uint z)

{

uchar y;

for(;z>0;z--)

for(y=120;y>0;y--);

}

以下是模数转换部分

/***********读数模转换数据********************************/

//请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的

// 1 1 0 通道

// 1 1 1 通道

unsigned char ad0832read(bit SGL,bit ODD)

{

unsigned char i=0,value=0,value1=0;

SCL=0;

DO=1;

CS=0; //开始

SCL=1; //第一个上升沿

SCL=0;

DO=ODD;

SCL=1; //第二个上升沿

SCL=0;

DO=SGL;

SCL=1; //第三个上升沿

DO=1;

for(i=0;i<8;i++)

{

SCL=1;

SCL=0; //开始从第四个下降沿接收数据

value<<=1;

if(DO)

value++;

}

for(i=0;i<8;i++)

{ //接收校验数据

value1<<=1;

if(DO)

value1+=0x01;

SCL=1;

SCL=0;

}

if(value==value1) //与校验数据比较,正确就返回数据,否则返回0

return value;

return 0;

}

void penquan() //PWM调压

{

date=ad0832read(1,0);

h1=(255-date);

out=0;

delay(h1);

if(h1>30) led1=1; else led1=0;

if(h1>70) led2=1; else led2=0;

if(h1>100) led3=1; else led3=0;

if(h1>130) led4=1; else led4=0;

if(h1>160) led5=1; else led5=0;

if(h1>180) led6=1; else led6=0;

if(h1>200) led7=1; else led7=0;

if(h1>220) led8=1; else led8=0;

out=1;

delay(date);

}

……………………

鉴于篇幅所限代码只能写到这里,由于平台不能上传附件,如果需要设计文件请留言或者私信,如果你有什么意见和建议欢迎大家交流,让我们共同学习,一起进步!

喜欢请转发留言加关注,谢谢!

U01单片机音乐生成器50首歌曲,基于51单片机,ke

50首单片机音乐生成器。

哈喽大家好,今天介绍一下单片机的音乐代码生成器。

·双击软件进行安装,一定要装在地板,如果提示直接点是。

·安装完之后会有如下一个图标,双击它,在弹出的对话框中填入自己在网站注册的账号和密码,登录即可。

·登录之后可以打开代码生成工具,点左侧的歌曲按钮,前面的小加号,此时有一些现成的歌曲,但是后期可能还会再添加。比如想生成一首贝加尔湖畔,只需要点击歌曲名字,右侧会显示对应的歌曲名,点生成,会提示文件成功生成,点确定。

·它会打开一个文件夹,就是生成的代码所在的地方,就是安装目录下的文件夹。点程序,在里面打开keil程序,左侧小加号,这就是刚才生成的代码。点编译,一定要编译,只有编译之后代码才能更新,编译之后关闭。

·打开仿真软件,这里提供两个版本,一个是7.8,一个是8.6,双击它,找到hex程序载入。如果打开之后没在这个文件夹,可以通过上面找到自己的所在的文件夹,安装到文件夹就行,点确认。

·点左侧开始仿真,点这个时候就会播放生成的贝加尔湖畔。如果想换一首歌怎么办?先把仿真关闭,打开,同样打开代码生成工具,再挑一首歌,比如天空之城生成。同样还是需要在程序文件夹编译一次,只有编译一次代码才会更新,关闭。

·再到仿真文件夹,打开仿真软件,同样的操作,还是从这里载入程序,开始仿真,点击播放,天空之城就生成了。

当然这还有其他一些,一共50首这种歌曲都可以生成,大家可以试试。谢谢大家。

相关问答

单片机 编写 音乐 程序中DB表示什么意思?急程序中的一段如下:WA...

[最佳回答]DB是单片机汇编语言中的指令DB指令以表达式的值的字节形式初始化代码空间.格式:[标号:]DB表达式表表达式中可包含符号、字符串、或表达式等项,...

单片机 如何插入 音乐 ?

单片机插入音乐需要先将音乐文件转换成单片机可以识别的数字信号,并将其存储在单片机的存储器中。然后通过单片机的IO口输出数字信号到音响系统中,实现音乐播...

单片机 蜂鸣器 音乐 代码怎么编写?

单片机蜂鸣器音乐代码的编写主要包括以下几个步骤:确定音符的频率:根据所需播放的音符,查阅音符对应的频率值。计算定时器溢出值:根据音符的频率和单片机...

单片机音乐 设计目的与意义?

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S...

51 单片机音乐 盒使用说明书?

点击播放图标,就会自动弹出音乐盒为您播放您选择的歌曲、专辑和专题。2、您觉得好听的歌就点红心收藏吧,下次可以在“我的音乐”里听到。3、不仅想在...点...

利用 单片机 做一个让灯随着 音乐 节奏闪烁的系统?

纯地做一个呼吸灯并不厉害,买个开发版,接上几个灯泡,最后程序写进去,这用不了多长时间。难的是把呼吸灯做成一款产品。我大学期间和搭档也做过呼吸灯,大概...

汇编语言 编写51 单片机 程序,指令程序存储在ROM里还是RAM里?...

51单片机采用的是哈佛结构,即数据和程序分开,这样可以提高程序的执行速度,如果是MOV21H#35H这样的指令,#35H是作为一个立即数,是要和指令放在一起的,就是放在...

用51 单片机 实现 音乐 播放的原理是什么?

通过将音乐作为数字信号编码储存在闪存中,然后通过51单片机的PWM输出模块将该信号转化成模拟信号输出,驱动音频放大器放大后输出到喇叭上,从而实现音乐播放的...

单片机 数字钟毕业中期检查表中的一个问题 - 沈禾欣子 的回答...

你问什么问题??淮安信息职5261业技术学院综合毕业实践说明4102书(论文1653)2009-2010学年系专业摘要:数字电子时钟电路设计系统,以AT89C51单片机为...

天津市近现代出过哪些女性名人?

天津大学陈焱陈焱天津大学机械工程学院教授,博导。2004年毕业于英国牛津大学,获得博士学位。是英国机械工程师学会会士(FellowofIMechE,FIMechE),英国皇家...

猜你喜欢