毕业论文:单片机音乐@喷泉制作-DIY分享全部资料元件清单

时间:2023-03-27来源:佚名

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

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

好了老规矩先上实物图

正面图:

毕业论文:单片机音乐@喷泉制作-DIY分享全部资料元件清单

焊接好的成品背面图:

毕业论文:单片机音乐@喷泉制作-DIY分享全部资料元件清单

电路原理图:

毕业论文:单片机音乐@喷泉制作-DIY分享全部资料元件清单

画好的PCB设计图:

毕业论文:单片机音乐@喷泉制作-DIY分享全部资料元件清单

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

毕业论文:单片机音乐@喷泉制作-DIY分享全部资料元件清单

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

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);

}

……………………

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

    相关阅读

    三相四线空开的接线图说明

    有关三相四线空开怎么接线的问题,在电路接线过程中,空气开关 是三根线,三相四线也称为动力线,黄绿红或ABC相,把三根火线 接入空开的上桩头。 三相四线空开的接线图 在漏电开...
    2022-12-15
    三相四线空开的接线图说明

    空调铜管裸露在外面有什么影响?

    几十年前安装的空调,铜管都是裸露的,没有现在这么讲究,但制冷制热效果一样杠杠的。先抛开“空调用铜管还是铝管好 ”不说,单从使用者的角度来说,将铜管裸露在外是有影响的...
    2022-12-12
    空调铜管裸露在外面有什么影响?

    空调小管(供液管)结霜是什么原因

    空调空调小管(供液管)结霜,常见原因如下: 1、缺冷媒 当空调中缺少冷媒时,极有可能出现空调结霜 现象。解决办法:及时查漏补漏,添加适量的制冷剂,使空调恢复运行。 2、系统...
    2022-12-12
    空调小管(供液管)结霜是什么原因

    脉冲电子电表怎么偷电,一招教会你偷电方法

    用来偷电的方法有多种,对于脉冲电子表应该怎么偷电,其实这个偷电方法很简单的,只需要拔掉一根线就可以达到偷电的目的了,一起来了解下吧。 脉冲电子电表的偷电方法 说明:...
    2022-12-17
    脉冲电子电表怎么偷电,一招教会你偷电方法

    关了LED灯仍然微亮怎么办,二种方案完美解决微亮(鬼火)问题

    有关LED灯的使用问题,晚上关了LED灯或者节能灯后,会发现仍然有微亮的光线,这种称之为“鬼火”,怎么来解决关了LED灯仍然微亮的问题,这里分享了二种解决方法,加中间继电器...
    2022-12-23
    关了LED灯仍然微亮怎么办,二种方案完美解决微亮(鬼火)问题

    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    有关小牛电动车解限速的方法,可以破解20公里限速的,破解流程不复杂,只要6个步骤就可以搞定,小牛电动车怎么解锁限速,可以来试一试本文给出的解锁限速的方法。 小牛电动车解...
    2022-12-13
    小牛电动车怎么解锁限速,6个步骤帮你搞定解限速问题

    空调指示灯亮着会不会费电,一年能费多少度电

    对于空调指示灯亮着会不会费电的问题,会费电,这个不用怀疑。无论哪一种电器设备,哪怕是微小的指示灯,也会是费电的,只是费电量微乎其乎,一年消耗的电量可以忽略不计。...
    2022-12-23
    空调指示灯亮着会不会费电,一年能费多少度电

    雅迪电动车怎么解除25码,附详细解限速步骤说明

    雅迪电动车解除25码限速的方法 方法1:先不要打开电源,捏住刹把,调速把转到底,立即打开电源,在捏住刹把状态下连续转动调速把到最大限度3次,第三次调速把转到底保持5至8秒,...
    2022-12-13
    雅迪电动车怎么解除25码,附详细解限速步骤说明

    网站栏目