標(biāo)題:
單片機(jī)音樂(lè)噴泉電路與程序設(shè)計(jì)
[打印本頁(yè)]
作者:
dc1997
時(shí)間:
2018-5-9 13:11
標(biāo)題:
單片機(jī)音樂(lè)噴泉電路與程序設(shè)計(jì)
電路原理圖如下:
QQ圖片20180509131046.png
(105.62 KB, 下載次數(shù): 90)
下載附件
2018-5-9 13:11 上傳
單片機(jī)源碼:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//sbit out=P3^7;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit LED1=P2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;
sbit LED5=P2^4;
sbit LED6=P2^5;
sbit led11=P1^4;
sbit led12=P1^5;
sbit led13=P1^6;
sbit led14=P1^7;
sbit led15=P3^0;
sbit led16=P3^1;
sbit led31=P3^2;
sbit led32=P3^3;
sbit led33=P3^4;
sbit led34=P3^5;
sbit led35=P3^6;
sbit led36=P3^7;
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=5;y>0;y--);
}
/***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/
//請(qǐng)先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來(lái)讀本函數(shù),主要是對(duì)應(yīng)時(shí)序圖來(lái)理解,本函數(shù)是模擬0832的串行協(xié)議進(jìn)行的
// 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; //開(kāi)始
SCL=1; //第一個(gè)上升沿
SCL=0;
DO=SGL;
SCL=1; //第二個(gè)上升沿
SCL=0;
DO=ODD;
SCL=1; //第三個(gè)上升沿
SCL=0; //第三個(gè)下降沿
DO=1;
for(i=0;i<8;i++)
{
SCL=1;
SCL=0; //開(kāi)始從第四個(gè)下降沿接收數(shù)據(jù)
value<<=1;
if(DO)
value++;
}
for(i=0;i<8;i++)
{ //接收校驗(yàn)數(shù)據(jù)
value1<<=1;
if(DO)
value1+=0x80;
SCL=1;
SCL=0;
}
CS=1;
SCL=1;
if(value==value1) //與校驗(yàn)數(shù)據(jù)比較,正確就返回?cái)?shù)據(jù),否則返回0
return value;
return value;
}
void penquan() //PWM調(diào)壓
{
date=ad0832read(1,0);
h1=(255-date);
delay(h1*16);
if(h1>120) {led1=1;LED1=1;led11=1;led31=1; } else {led1=0;LED1=0;led11=0;led31=0;}
if(h1>140) {led2=1;LED2=1;led12=1;led32=1; } else {led2=0;LED2=0;led12=0;led32=0;}
if(h1>160){led3=1;LED3=1;led13=1;led33=1; } else {led3=0;LED3=0;led13=0;led33=0;}
if(h1>180) {led4=1;LED4=1;led14=1;led34=1; } else {led4=0;LED4=0;led14=0;led34=0;}
if(h1>200) {led5=1;LED5=1;led15=1;led35=1; } else {led5=0;LED5=0;led15=0;led35=0;}
if(h1>220) {led6=1;LED6=1;led16=1;led36=1; } else {led6=0;LED6=0;led16=0;led36=0;}
delay(date*16);
}
void main()
{
while(1)
{
penquan(); //給定個(gè)延時(shí)次數(shù)
}
}
復(fù)制代碼
作者:
llwqqd
時(shí)間:
2018-7-6 16:29
音頻輸入的那三個(gè)腳分別輸入什么啊
作者:
wywywywyy
時(shí)間:
2019-6-5 07:36
請(qǐng)問(wèn)如果去掉噴泉部分,只保留彩燈,程序應(yīng)該是什么呢
作者:
張明211
時(shí)間:
2019-10-30 23:24
五個(gè)噴泉水珠如何做呢?
作者:
qyljzjxl
時(shí)間:
2019-12-20 14:39
水泵如何實(shí)現(xiàn)水柱高度不同?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1