亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標(biāo)題:
單片機(jī)多功能音樂(lè)播放器仿真+源程序
[打印本頁(yè)]
作者:
51黑ff
時(shí)間:
2016-9-26 17:59
標(biāo)題:
單片機(jī)多功能音樂(lè)播放器仿真+源程序
0.png
(28.94 KB, 下載次數(shù): 79)
下載附件
2016-9-26 17:57 上傳
多功能音樂(lè)播放器的仿真工程文件和源碼下載:
多功能音樂(lè)播放器.zip
(79.98 KB, 下載次數(shù): 193)
2016-9-26 17:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
源程序:
#include<reg52.h>
#include<lcd.h>
#include<1302.h>
#include<music_code.h>
#include<SoundPlay.h>
#include<dds.h>
uchar code time[]={'0','1','2','3','4','5','6','7','8','9'};
uchar code get_up[]="Time to Get up!";
uchar code str[]="Never frown,even when you are sad,because you never know who is falling in love with your smile! To the world you may be one person,but to one person you may be the world ";
uchar code menu[4][10]={{"Time Set"},{"Music"},{"Books"},{"Ring Set"}};
void main()
{
ini();
open();
delay(255);
delay(255);
delay(255);
delay(255);
write_order(0x01);
init_ds1302();
set_ds1302(time_add,initial_time);
while(1)
{
read_ring();
if(ring_time[0]==now_time[0]&&ring_time[1]==now_time[1]&&ring_time[2]==now_time[2])
{
timeup();
}
detect();
write_order(0x80+0x04);
for(i=0;menu[key][i]!=0;i++)
{
write_date(menu[key][i]);
}
get_ds1302();
write_order(0x80+0x40);
write_date(time[now_time[4]>>4]);
write_date(time[now_time[4]&0x0f]);
write_date(0x01);
write_date(time[now_time[3]>>4]);
write_date(time[now_time[3]&0x0f]);
write_date(0x00);
write_date(' ');
write_date(' ');
write_date(time[now_time[2]>>4]);
write_date(time[now_time[2]&0x0f]);
write_date(':');
write_date(time[now_time[1]>>4]);
write_date(time[now_time[1]&0x0f]);
write_date(':');
write_date(time[now_time[0]>>4]);
write_date(time[now_time[0]&0x0f]);
if(key==2)
{
sum=0;
book();
}
if(key==1)
{
music();
}
if(key==3)
{
alamn();
}
if(key==0)
{
time_set();
}
}
}
void detect()
{
uchar temp;
temp=P1;
temp=temp&0x0f;
if(temp!=0x0f)
{
switch(temp)
{
case 0x0e:
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
}
if(key==0)
{
key=4;
}
key--;
flag=1;
write_order(0x01);
break;
case 0x0d:
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
}
key++;
flag=2;
if(key==4)
{
key=0;
}
write_order(0x01);
break;
case 0x0b:
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
}
flag=3;
write_order(0x01);
break;
case 0x07:
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
}
flag=4;
write_order(0x01);
break;
}
}
}
void page(uchar k)
{
write_order(0x80);
for(i=k*32;i<k*32+16&&str[i]!='\0';i++)
{
write_date(str[i]);
}
write_order(0x80+0x40);
for(i=k*32+16;i<k*32+32&&str[i]!='\0';i++)
{
write_date(str[i]);
}
}
void book()
{
flag=0;
detect();
if(flag==3)
{
flag=0;
page(sum);
while(flag!=4)
{
detect();
if(flag==1)
{
flag=0;
if(sum!=0)
{
sum--;
}
page(sum);
}
if(flag==2)
{
flag=0;
if(sum<5)
{
sum++;
}
page(sum);
}
}
key=2;
}
}
void alamn()
{
flag=0;
detect();
if(flag==3)
{
flag=0;
while(flag!=4)
{
write_order(0x80+0x02);
write_date(time[move[0]]);
write_date(time[move[1]]);
write_date(':');
write_date(time[move[2]]);
write_date(time[move[3]]);
detect();
if(flag==1)
{
flag=0;
move[1]++;
if(move[1]==10)
{
move[1]=0;
move[0]++;
}
if(move[0]==2)
{
if(move[1]==4)
{
move[1]=0;
move[0]=0;
}
}
ringgo[2]=move[0]<<4|move[1];
}
if(flag==2)
{
flag=0;
move[3]++;
if(move[3]==10)
{
move[3]=0;
move[2]++;
if(move[2]==6)
{
move[2]=0;
}
}
ringgo[1]=move[2]<<4|move[3];
}
if(flag==3)
{
set_ds1302(alamn_add,ringgo);
flag=4;
}
}
key=3;
}
}
void time_set()
{
flag=0;
detect();
if(flag==3)
{
flag=0;
while(flag!=4)
{
write_order(0x80+0x02);
write_date(time[set[0]]);
write_date(time[set[1]]);
write_date(':');
write_date(time[set[2]]);
write_date(time[set[3]]);
detect();
if(flag==1)
{
flag=0;
set[1]++;
if(set[1]==10)
{
set[1]=0;
set[0]++;
}
if(set[0]==2)
{
if(set[1]==4)
{
set[1]=0;
set[0]=0;
}
}
timego[2]=set[0]<<4|set[1];
}
if(flag==2)
{
flag=0;
set[3]++;
if(set[3]==10)
{
set[3]=0;
set[2]++;
if(set[2]==6)
{
set[2]=0;
}
}
timego[1]=set[2]<<4|set[3];
}
if(flag==3)
{
set_ds1302(time_add,timego);
flag=4;
}
}
key=0;
}
}
void timeup()
{
write_order(0x01);
write_order(0x80+0x00);
for(i=0;get_up[i]!='\0';i++)
{
write_date(get_up[i]);
}
InitialSound();
switch(ring_song)
{
case 0:Play(tale,0,3,300);break;
case 1:Play(coral,0,3,300);break;
case 2:Play(Meet,0,3,300);break;
case 3:Play(Love,0,3,340);break;
}
write_order(0x01);
}
void music()
{
if(flag==3)
{
flag=0;
write_order(0x01);
while(flag!=4)
{
detect();
write_order(0x80);
for(i=0;song[key][i]!='\0';i++)
{
write_date(song[key][i]);
}
if(flag==3)
{
InitialSound();
switch(key)
{
case 0:Play(tale,0,3,300);break;
case 1:Play(coral,0,3,300);break;
case 2:Play(Meet,0,3,300);break;
case 3:Play(Love,0,3,340);break;
}
ring_song=key;
while(!esc);
}
}
write_order(0x01);
key=1;
}
}
復(fù)制代碼
作者:
51小杜
時(shí)間:
2018-7-19 19:54
感謝分享0000000000000000
作者:
1285178397
時(shí)間:
2019-7-5 13:18
看不懂
作者:
我們不一樣111
時(shí)間:
2019-12-17 18:44
可以顯示屏運(yùn)行嗎
作者:
wode1992
時(shí)間:
2021-5-24 11:21
非常感謝分享,最近在學(xué)習(xí)怎么用DAC進(jìn)行語(yǔ)音播報(bào)~
作者:
Deadp0o0ol
時(shí)間:
2021-5-30 14:12
dds.c - 9 Error(s), 0 Warning(s).
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1