单片机的音乐喷泉制作

北京喷泉公司 2022-05-03 阅读:137

因为比来忙着测验,所以都没时间更新博客了,在后台有个蜜斯姐给我留言说本身对单片机很感兴趣,但是又不晓得从哪里起头学起,是先学硬件好仍是先学软件好,其其实我们复杂的电子学里,硬件和软件是分不开的,硬件就像是我们的心脏和四肢,软件就像我们的大脑,若是只要软件没有硬件,那我们的系统就是一个没用的法式,不克不及施行任何操做,而若是只要硬件没有软件那么整个系统就是一个行尸走肉,是一个没有“大脑”的躯壳,我说到如今各人也应该大白了,硬不离软,软不离硬,只要软硬兼修,方能大成!好了,回到适才的问题,我建议先从硬件起头学起,先理解了硬件的架构和各部门的工做原理,然后再去看软件,如许能更好的理解原理,就像我保举各人先用汇编后用C一样 好了,写了那么多,若是你有差别定见或者设法欢送留言和私信。

今天送给各人一个比力简单的小项目吧,若是你有兴趣的话能够试着做一下呦!

好了老例子先上实物图

正面图:

焊接好的废品后背图:

电路原理图:

PCB图:

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

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

#include

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

}

评论(0)