欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機音樂噴泉電路與程序設計
[打印本頁]
作者:
dc1997
時間:
2018-5-9 13:11
標題:
單片機音樂噴泉電路與程序設計
電路原理圖如下:
QQ圖片20180509131046.png
(105.62 KB, 下載次數: 90)
下載附件
2018-5-9 13:11 上傳
單片機源碼:
#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--);
}
/***********讀數模轉換數據********************************************************/
//請先了解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=SGL;
SCL=1; //第二個上升沿
SCL=0;
DO=ODD;
SCL=1; //第三個上升沿
SCL=0; //第三個下降沿
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+=0x80;
SCL=1;
SCL=0;
}
CS=1;
SCL=1;
if(value==value1) //與校驗數據比較,正確就返回數據,否則返回0
return value;
return value;
}
void penquan() //PWM調壓
{
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(); //給定個延時次數
}
}
復制代碼
作者:
llwqqd
時間:
2018-7-6 16:29
音頻輸入的那三個腳分別輸入什么啊
作者:
wywywywyy
時間:
2019-6-5 07:36
請問如果去掉噴泉部分,只保留彩燈,程序應該是什么呢
作者:
張明211
時間:
2019-10-30 23:24
五個噴泉水珠如何做呢?
作者:
qyljzjxl
時間:
2019-12-20 14:39
水泵如何實現水柱高度不同?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1