欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
byd單片機+蜂鳴器播放熱愛105度的你 源程序
[打印本頁]
作者:
cokesu
時間:
2021-7-9 16:02
標題:
byd單片機+蜂鳴器播放熱愛105度的你 源程序
#include "music.h"
unsigned int code Freq[3][8] = {
// 0 1 2 3 4 5 6 7
{63627,63627,63835,64020,64103,64260,64399,64523},
{64579,64579,64684,64777,64819,64898,64967,65029},
{65058,65058,65110,65156,65160,65217,65251,65281},
}; //用于發出do re mi聲音的頻率第一階為低音 第二階為中音 第二階為高音 元素0湊數而已為了1為do 2為re
unsigned char code GePu[114] = {
13,13,14,13,12,13,
6,12,11,6,11,
12,12,12,13,12,11,12,
13,11,6,11,11,
6,13,13,14,13,12,11,
13,13,6,6,11,
11,7,7,13,12,
11,
5,
15,13,12,11,12,13,11,
12,5,6,5,4,5,
13,13,12,13,5,
5,5,
15,12,12,11,12,13,11,
12,5,6,5,4,5,
13,13,12,13,21,
17,15,6,7,
11,11,7,11,12,
12,12,11,12,7,
11,11,7,11,5,
6,6,7,
11,11,7,11,12,
12,12,12,11,12,7,
11,
}; //歌譜 1代表低音do 11代表中音do 21代表高音do
unsigned char code Time[114] = {
1,1,1,1,1,1,
2,1,1,2,2,
2,1,1,1,1,1,1,
2,1,1,2,2,
2,1,1,1,1,1,1,
2,1,2,1,1,
2,1,1,2,2,
8,
1,
2,1,1,1,1,1,1,
4,1,1,1,1,1,
2,1,1,2,2,
4,1,
2,1,1,1,1,1,1,
2,1,1,1,1,1,
2,1,1,2,2,
2,2,2,2,
2,1,1,2,2,
2,1,1,2,2,
2,1,1,2,2,
4,1,1,
2,1,1,1,2,
1,1,1,1,2,2,
8,
}; //節拍數1代表1/2拍 2代表1拍 4代表2拍 8代表4拍
bit gBuzFlag = 0;
void OutCtrl()
{
if(gBuzFlag) //標志位置1響蜂鳴器
{
DATAB ^= 0x01;
}
else
{
DATAB &= ~0x01;
}
}
unsigned char gRunCount = 0; //樂譜跑到第幾個音
unsigned char gSystemMode = 0; //系統模式 0賦值模式 1響蜂鳴器 2停止
unsigned char gOpenTime = 0; //開的時間
unsigned char gCloseTime = 0; //關的時間
void TimeCtrl()
{
if(gSystemMode == 0) //賦值
{
TH0_Reload = (unsigned char)(Freq[GePu[gRunCount] / 10][GePu[gRunCount] % 10] >> 8); //給16位定時器賦值
TL0_Reload = (unsigned char)(Freq[GePu[gRunCount] / 10][GePu[gRunCount] % 10] & 0x00ff); //給16位定時器賦值
gOpenTime = Time[gRunCount]*10; //響的時間Time[gRunCount]*10*125*100 us
gCloseTime = Time[gRunCount]*10; //停止等待的時間
gSystemMode = 1; //跳轉到響
gBuzFlag = 0; //蜂鳴器關閉
}
if(gSystemMode == 1) //響
{
if(gOpenTime > 0) //響的時間大于0
{
gBuzFlag = 1; //響
gOpenTime--; //時間--
}
else
{
gBuzFlag = 0; //關閉
gSystemMode = 2; //跳轉到等待
}
}
if(gSystemMode == 2) //停止
{
if(gCloseTime > 0) //停的時間大于0
{
gBuzFlag = 0;
gCloseTime--;
}
else
{
gBuzFlag = 0;
gSystemMode = 0; //跳轉到賦值
gRunCount++; //樂譜第幾個音++
if(gRunCount >= 114) //跑完整個樂譜從頭開始跑
{
gRunCount = 0;
}
}
}
}
復制代碼
51hei.png
(46.97 KB, 下載次數: 48)
下載附件
2021-7-9 17:51 上傳
keil代碼下載:
熱愛105度的你.zip
(606.83 KB, 下載次數: 29)
2021-7-9 16:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1