久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機電子琴設計
[打印本頁]
作者:
wy1326682790
時間:
2018-7-3 23:15
標題:
單片機電子琴設計
#include<reg52.h>
#define keyport P1
#define uchar unsigned char
#define uint unsigned int
uchar high,low; //定時器預裝值的高8位和低8位
sbit speak=P3^0;
sbit gao=P3^5;
sbit di=P3^6;
sbit zdbf=P3^7;
uchar yinjie=1;
uchar time;
uchar n=0;
uchar bo=0;
uchar code fre[][2]= {
0x8c,0xf8,
0x5b,0xf9,
0x15,0xfa,
0x67,0xfa,
0x90,0xfb,
0xae,0xfb,
0x0c,0xfc, //低音
0x44,0xfc,
0xac,0xfc,
0x09,0xfd,
0x34,0xfd,
0x82,0xfd,
0xc2,0xfd,
0x06,0xfe, //中音
0x22,0xfe,
0x56,0xfe,
0x85,0xfe,
0x9a,0xfe,
0xc1,0xfe,
0xe4,0xfe,
0x03,0xff, //高音
};
void delay(uint );
void ITimer0(void);//定時器初始化
void key(void);
void dtxs(int,int);
void song()
{
TH0=high;
TL0=low;
TR0=1;
delay(time*240);
}
void yinyue()
{
uchar code hls[]={ 5,2,2, 3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 1,2,1, 2,2,1 ,3,2,2 ,2,2,1,
1,2,1 ,2,2,6, 5,2,2, 3,2,1, 5,2,1, 1,3,3, 7,2,1, 6,2,2, 1,3,2, 5,2,4, 5,2,2,
2,2,1, 3,2,1, 4,2,3, 7,1,1, 1,2,6, 6,2,2, 1,3,2, 1,3,4, 7,2,2, 6,2,1, 7,2,1, 1,3,4 ,6,2,1,
7,2,1, 1,3,1 ,6,2,1, 6,2,1 ,5,2,1 ,3,2,1, 1,2,1, 2,2,6, 5,2,2, 3,2,1,
1,2,1, 1,3,3, 7,2,1, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 2,2,1, 3,2,1, 4,2,3, 7,1,1, 1,2,6
};
uchar m;
n=0;
while(n<174)
{
m=hls[n]+7*(hls[n+1]-1)-1;
high=fre[m][1];
low=fre[m][0];
time=hls[n+2];
n=n+3;
song();
}
}
void main (void)
{
uchar num;
ITimer0();
speak=0;
while(1)
{
key();
switch(keyport)
{
case 0xfe:num=1;break;
case 0xfd:num=2;break;
case 0xfb:num= 3;break;
case 0xf7:num= 4;break;
case 0xef:num= 5;break;
case 0xdf:num= 6;break;
case 0xbf:num= 7;break;
case 0x7f:num= 8;break;
default:num= 0;break;
}
if(num==0)
{
TR0=0;
speak=0;
}
else
{
high=fre[7*yinjie+num-1][1];
low=fre[7*yinjie+num-1][0];
TR0=1;
}
dtxs(yinjie,num);
}
}
void ITimer0(void)
{
TMOD |= 0x01; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響
EA=1; //總中斷打開
ET0=1; //定時器中斷打開
TR0=1; //定時器開關打開
}
void Timer0_isr(void) interrupt 1
{
TH0=high;
TL0=low;
speak=!speak;
if(zdbf==0)
{
delay(100);
if(zdbf==0)
{
bo++;
if(bo/2==1)
{ delay(100);
if(n<174)n=500; //n賦值大于174,跳出while,停止音樂
else n=0;
dtxs(3,0);
}
if(bo%2==0)
{ delay(100);
n=500; //n賦值大于174,跳出while,停止音樂
}
}
}/**/
}
void key()
{
if(zdbf==0)
{delay(100);
if(zdbf==0)
yinyue();
}
if(gao==0)
{
delay(100);
if(gao==0)
{
delay(100);
if(yinjie==2)
yinjie=1;
else yinjie=2;
}
}
if(di==0)
{
delay(100);
if(di==0)
{
delay(100);
if(yinjie==0)
yinjie=1;
else yinjie=0;
}
}
}
void delay(unsigned int x)
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void dtxs(k,l)//k是按鍵號,l是工作方式
{
char seg[14]={0x6f,0x0a,0xe3,0xcb,0x8e,0xcd,
0xed,0x0b,0xef,0xcf,0xaf,0xec,0x65,0xea};
P2=0x01;//選擇第一個數碼管
P0=seg[l];//顯示按鍵號
delay(4);
P2=0x02;//選擇第二個數碼管
P0=seg[k+10];//顯示工作方式
delay(4);
}
hjkh.png
(10.51 KB, 下載次數: 39)
下載附件
2018-7-3 23:15 上傳
作者:
faridzled
時間:
2018-7-4 08:08
thanks for sharing
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日本成人片在线观看
|
日韩中文字幕免费在线观看
|
性色综合
|
av性色全交蜜桃成熟时
|
91 久久
|
美日韩免费视频
|
日韩一区二区免费视频
|
国产精品一区二区三区在线
|
欧美无乱码久久久免费午夜一区
|
欧美一级欧美三级在线观看
|
一区二区日韩
|
日韩av在线一区二区
|
毛片久久久
|
亚洲成人三级
|
成人av高清
|
特a毛片
|
国产高清视频
|
日韩图区
|
综合色播
|
国产成人精品一区二区三区在线观看
|
亚洲精品三级
|
在线观看亚洲专区
|
国产精品高潮呻吟久久aⅴ码
|
成人免费观看男女羞羞视频
|
在线一区
|
免费天天干
|
国产色婷婷精品综合在线手机播放
|
蜜桃传媒一区二区
|
日韩在线免费播放
|
久久99精品久久久久久狂牛
|
天天天天操
|
欧美国产精品一区二区三区
|
国产日韩欧美在线观看
|
国产精品久久久久久久久免费软件
|
丝袜美腿av
|
全免费a级毛片免费看视频免费下
|
国产一伦一伦一伦
|
婷婷久久五月
|
久久精品国产亚洲夜色av网站
|
亚洲一区二区三区免费视频
|
亚洲欧美bt
|