久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機電子琴程序
[打印本頁]
作者:
qq喂喂喂w
時間:
2017-11-23 10:38
標題:
51單片機電子琴程序
#include <reg52.h>
sbit BUZZ=P1^6;//蜂鳴器連續的IO口
unsigned char T1TH=0,T1TL=0;
unsigned char code song1[]={ //兩只老虎
0x14,0x14,0x24,0x34,0x14,0x14,0x24,0x34,0x14,
0x34,0x44,0x58,0x34,0x44,0x58,
0x53,0x61,0x53,0x41,0x34,0x14,
0x53,0x61,0x53,0x41,0x34,0x14,
0x14,0x54,0x18,
0x14,0x54,0x18,
0xFF //歌曲結束標志
};
unsigned char code song2[]={ //送別
0x54,0x54,0x32,0x52,0x88,0x64,0x84,0x58,
0x54,0x12,0x22,0x34,0x22,0x12,0x28,0x04,0x04,
0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58,
0x54,0x22,0x32,0x46,0xB2,0x18,0x04,0x04,
0x64,0x84,0x88,0x74,0x62,0x72,0x88,
0x62,0x72,0x82,0x62,0x62,0x52,0x32,0x12,0x28,0x04,0x04,
0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58,
0x54,0x22,0x32,0x46,0xB2,0x18,0x04,0x04,
0xFF
};
unsigned char code cuzhi[]={
0xFF,0xFF, // low mid high
0xFC,0x44, //1 ## 5 6 7 1 2 3 4 5 6 7 1 2 3
0xFC,0xAC, //2 ## D C B 1 2 3 4 5 6 7 8 9 A
0xFD,0x09, //3
0xFD,0x34, //4
0xFD,0x82, //5
0xFD,0xC8, //6
0xFE,0x06, //7
0xFE,0x2A, //8 --high 1 N = 470;
0xFE,0x48, //9 --hign 2 N = 440;
0xFE,0x66, //A --hign 3 N = 410;
0xFC,0x0C //B---low 7 N = 1012
};
void delay1ms(unsigned char z); //延時1MS
void delay125ms(unsigned char z); //延時165MS,即十六分音符
void sing();
main()
{
EA=1;//開總中斷
TMOD=0x10;//定時器1工作在方式1
TH1=0;
TL1=0;
ET1=1;
while(1)
{
sing();
delay1ms(1000);
}
}
void sing()
{
unsigned char temp;
unsigned char jianpu;
unsigned int i = 0;
static unsigned char thesong = 0;
while(1)
{
switch(thesong)
{
case 0:temp = song1[i];break;
case 1:temp = song2[i];break;
default:break;
}
if(temp == 0xFF)
break;
jianpu = (temp>>4); //取數的高4位
if(jianpu != 0) //不是休止符
{
T1TH = cuzhi[jianpu*2];
T1TL = cuzhi[jianpu*2+1];
} //查表找初值
else //jp = 0,休止符
{ TR1 = 0;BUZZ = 1; } //關蜂鳴器
delay125ms( temp & 0x0F ); //取數的低4位
TR1 = 0; //唱完一個音停10MS
BUZZ = 1;
delay1ms(10);
TR1 = 1;
i++;
}
TR1 = 0;
BUZZ = 1;
thesong++;
if(thesong >=2)
thesong = 0;
}
void delay125ms(unsigned char z) //延時165MS,即十六分音符
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=15000;y>0;y--);
}
void delay1ms(unsigned char z) //延時1MS
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=112;y>0;y--);
}
void timer1() interrupt 3 //用于產生各種音調
{
TH1=T1TH;
TL1=T1TL;
BUZZ = ~BUZZ;
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产一级片久久久
|
国产在线精品一区二区三区
|
亚洲国产精品久久久久
|
亚洲+变态+欧美+另类+精品
|
在线观看视频91
|
91视频91
|
国产农村妇女毛片精品久久麻豆
|
日日躁狠狠躁aaaaxxxx
|
亚洲福利电影网
|
天天综合操
|
国产精品高潮呻吟久久久久
|
久久久久精
|
成人国产在线观看
|
一区二区三区国产
|
精品国产视频
|
亚洲综合日韩精品欧美综合区
|
高清一区二区
|
青青久久久
|
免费网站在线
|
99av成人精品国语自产拍
|
亚洲欧美一区二区三区国产精品
|
国产黄色在线观看
|
在线观看中文字幕视频
|
成人一区二区三区在线观看
|
欧美精品区
|
国产午夜精品理论片a大结局
|
一区二区三区视频在线观看
|
国产资源在线播放
|
亚洲免费视频在线观看
|
欧美日韩在线一区二区
|
国产日韩欧美一区二区
|
国产精品久久久久久久免费观看
|
伊人无码高清
|
中文在线a在线
|
a级黄色片视频
|
成人一区二区三区视频
|
欧美一区二区免费
|
作爱视频免费观看
|
中文字幕欧美一区
|
99免费精品视频
|
欧美日韩综合一区
|