欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
八弦激光豎琴電路圖與單片機源碼
[打印本頁]
作者:
383687411
時間:
2018-5-20 14:37
標題:
八弦激光豎琴電路圖與單片機源碼
利用C語言實現八弦激光豎琴圖片詳見:
http://www.raoushi.com/bbs/dpj-52056-1.html
==============所需元件==========================
激光頭 * 8
5mm光敏電阻 * 8
開關 * 1
輕觸按鍵 * 1
usb座或DC座 * 1
1k電阻 *2
10k電阻 * 10
3mmLED * 1
無源蜂鳴器 * 1
s8550三極管 * 1
排針(用于下載) * 1
STC89C52單片機 * 1
DIP40的單片機座 * 1
12M晶振 * 1
30pf瓷片電容 * 2
10uf電解電容 * 1
===============用到的工具=======================
電烙鐵、焊錫絲、助焊劑可選、剪鉗、鑷子、熱熔膠槍與熱熔膠
================================================
===============激光豎琴使用說明=================
================================================
8個激光束 —— 對應中音的1、2、3、4、5、6、7,還有高音1
注意事項 —— 手彈奏時,請選取光線較弱的室內。當彈奏不靈敏時,請轉到更暗的環境。
電路原理圖如下:
0.png
(110.9 KB, 下載次數: 129)
下載附件
2018-5-20 14:53 上傳
單片機源程序如下:
//********* 51簡易電子琴程序 *****************
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit fmq=P0^0;//定義P0.0口為蜂鳴器信號輸出
uint z;
uint code tone[8]={0xfc44,0xfcac,0xfd09,0xfd34,0xfd82,0xfdc8,0xfe06,0xfe22};//對應每個單調的計數初值
uchar code keymode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//按鍵值,對應io:0,1,2,3,4,5,6,7
/************************************
*********按鍵掃描函數***************/
void anjian()//用整個P2口作為音調的輸入按鍵(獨立按鍵方式)
{
P2=0xff;//讀數據先置1
if(P2==~keymode[0]) //1
{
z=tone[0];
P1=keymode[0];
}
/**/
if(P2==~keymode[1]) //2
{
z=tone[1];
P1=keymode[1];
}
/**/
if(P2==~keymode[2]) //3
{
z=tone[2];
P1=keymode[2];
}
/**/
if(P2==~keymode[3]) //4
{
z=tone[3];
P1=keymode[3];
}
/**/
if(P2==~keymode[4]) //5
{
z=tone[4];
P1=keymode[4];
}
/**/
if(P2==~keymode[5]) //6
{
z=tone[5];
P1=keymode[5];
}
/***/
if(P2==~keymode[6]) //7
{
z=tone[6];
P1=keymode[6];
}
/* */
if(P2==~keymode[7]) //1.
{
z=tone[7];
P1=keymode[7];
}
}
/************************************/
void zdkg()
{
if(P2==0xff)
{
P1=0xff;
TR1=0;//如果沒有按鍵按下,就關閉定時器中斷
fmq=1;//同時也關閉蜂鳴器
}
else //否則就進入中斷
{
TR1=1;
}
}
/*************************************************
****************主函數****************************
*************************************************/
void main()
{
EA=1;//開總中斷
ET1=1;//定時器T1中斷允許
TMOD=0x10;//使用定時器T1的模式1
TH1=(65536-500)/256;//定時器T1的高8位重新賦初值
TL1=(65536-500)%256;//定時器T1的低8位重新賦初值
P1=0xff;//先關所有LED燈
while(1)
{
anjian();//按鍵掃描函數
zdkg();
}
}
/*定時器T1的中斷服務程序*/
void Time1(void) interrupt 3 using 1//
{ fmq=~fmq; //每進入一次中斷就取反一次,快速的進入退出中斷,就會聽到蜂鳴器發出的音調
TH1=z/256;//定時器T1的高8位重新賦初值
TL1=z%256;//定時器T1的低8位重新賦初值
}
復制代碼
所有資料51hei提供下載:
8弦激光豎琴.zip
(157.65 KB, 下載次數: 193)
2018-5-20 14:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
楓谷落葉
時間:
2018-8-24 21:07
為啥沒人回復?贊一個
作者:
波波杏仁
時間:
2018-8-25 10:42
楓谷落葉 發表于 2018-8-24 21:07
為啥沒人回復?贊一個
很棒,謝謝樓主的分享
作者:
波波杏仁
時間:
2018-8-25 11:14
每個單調的計數初值是怎么確定的?希望樓主看到回復一下
作者:
小小斑鳩
時間:
2018-8-25 12:15
激光檢測的距離會影響發出的聲音嗎
作者:
zhanghan121
時間:
2018-9-11 08:45
很棒,謝謝樓主的分享
作者:
1508330424
時間:
2018-10-25 21:44
為啥給的是電子琴的程序
作者:
linnyshow
時間:
2018-11-7 13:52
創意不錯。
作者:
cooleaf
時間:
2018-11-21 13:35
這個有點意思哦!!
作者:
C-Zachary
時間:
2019-10-30 16:42
為什么我按照這個原理做了一個豎琴,它發出聲音卻停不下來一直響的?
作者:
ther丶
時間:
2019-12-21 22:08
非常好,非常棒
作者:
qq1144030432
時間:
2019-12-30 12:19
感謝樓主,太酷炫了!!!
作者:
51黑科技人
時間:
2020-8-20 21:41
這個程序不對吧
作者:
dj3365191
時間:
2021-4-1 16:13
不錯,根據這種方式可以延伸控制電子琴模塊發聲
作者:
Gavin23
時間:
2022-8-19 11:00
這個音頻能轉為跟平板上一樣逼真的聲音嘛?
作者:
test101
時間:
2023-6-27 12:41
很厲害,讓我自己仿真試試看
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1