久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機演奏音樂(F調(diào)3個8度7音階)程序+Proteus仿真
[打印本頁]
作者:
帥哥輝
時間:
2019-3-1 21:46
標題:
單片機演奏音樂(F調(diào)3個8度7音階)程序+Proteus仿真
單片機演奏音樂仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(8.39 KB, 下載次數(shù): 25)
下載附件
2019-3-2 03:09 上傳
0.png
(14.58 KB, 下載次數(shù): 19)
下載附件
2019-3-2 03:09 上傳
單片機源程序如下:
/********本程序中,F(xiàn)OSC=11.0592M*********/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
struct music_type{
uchar tone;
uchar delay;
};
/**********F調(diào)3個8度7音階的音高參數(shù)**********/
uint code tonetab[]={
64216,64360,64489,64603,64654,64752,64837, //低音1~7
64876,64948,65012,65042,65095,65144,65186, //中音1~7
65206,65242,65274,65289,65315,65340,65361 //高音1~7
};
//曲譜,每個音符含兩項數(shù)據(jù),第1項為音高,第2項為節(jié)拍(以1/4拍為單位)
/**************康定情歌樂譜***************/
struct music_type code songtab[]={
3+7,0x02,5+7,0x02,6+7,0x02,6+7,0x01,5+7,0x01,6+7,0x03,3+7,0x01,2+7,0x04,
3+7,0x02,5+7,0x02,6+7,0x02,6+7,0x01,5+7,0x01,6+7,0x03,3+7,0x06,
3+7,0x02,5+7,0x02,6+7,0x02,6+7,0x01,5+7,0x01,6+7,0x03,3+7,0x01,2+7,0x04,
5+7,0x02,3+7,0x02,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,2+7,0x02,6+0,0x06,
6+0,0x02,2+7,0x06,5+7,0x02,3+7,0x06,2+7,0x01,1+7,0x01,6+0,0x06,
5+7,0x02,3+7,0x02,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,2+7,0x02,6+0,0x06,
//
3+7,0x01,2+7,0x01,3+7,0x01,5+7,0x01,6+7,0x01,5+7,0x01,1+14,0x01,6+7,0x01,
5+7,0x01,3+7,0x01,5+7,0x04,6+7,0x02,
1+14,0x02,2+14,0x01,3+14,0x01,2+14,0x01,1+14,0x01,6+7,0x01,1+14,0x01,
5+7,0x08,
5+7,0x01,3+7,0x01,5+7,0x04,6+7,0x02,
1+14,0x02,2+14,0x01,3+14,0x01,1+14,0x01,6+7,0x01,5+7,0x02,
5+7,0x02,2+7,0x02,3+7,0x01,5+7,0x01,3+7,0x01,2+7,0x01,
1+7,0x01,6,0x01,1+7,0x06,
3+7,0x01,2+7,0x01,1+7,0x02,2+7,0x03,3+7,0x01,
5+7,0x02,6+7,0x01,1+14,0x01,6+7,0x02,5+7,0x02,
5+7,0x01,3+7,0x01,2+7,0x02,3+7,0x01,5+7,0x01,3+7,0x01,2+7,0x01,
1+7,0x01,2+7,0x01,6,0x04,1+7,0x02,
2+7,0x03,3+7,0x01,1+7,0x01,2+7,0x01,1+7,0x02,6,0x01,
1+7,0x01,6,0x01,5,0x05,
//
3+7,0x01,2+7,0x01,3+7,0x01,5+7,0x01,6+7,0x01,5+7,0x01,1+14,0x01,6+7,0x01,
5+7,0x01,3+7,0x01,5+7,0x04,6+7,0x02,
1+14,0x02,2+14,0x01,3+14,0x01,2+14,0x01,1+14,0x01,6+7,0x01,1+14,0x01,
5+7,0x08,
5+7,0x01,3+7,0x01,5+7,0x04,6+7,0x02,
1+14,0x02,2+14,0x01,3+14,0x01,1+14,0x01,6+7,0x01,5+7,0x02,
5+7,0x02,2+7,0x02,3+7,0x01,5+7,0x01,3+7,0x01,2+7,0x01,
1+7,0x01,6,0x01,1+7,0x06,
3+7,0x01,2+7,0x01,1+7,0x02,2+7,0x03,3+7,0x01,
5+7,0x02,6+7,0x01,1+14,0x01,6+7,0x02,5+7,0x02,
5+7,0x01,3+7,0x01,2+7,0x02,3+7,0x01,5+7,0x01,3+7,0x01,2+7,0x01,
1+7,0x01,2+7,0x01,6,0x04,1+7,0x02,
2+7,0x03,3+7,0x01,1+7,0x01,2+7,0x01,1+7,0x02,6,0x01,
1+7,0x01,6,0x01,5,0x05,
0,0x00
};
/*********端口及變量定義**********/
sbit SPEAKER = P3^7;
uchar tlow1,thig1;
/*******軟件延時,約n*10us******/
void delay10us(unsigned char n){
do{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}while(--n);
}
/*******軟件延時,約n ms******/
void delayms(unsigned int n){
do {
delay10us(131);
}while(--n);
}
main () {
uchar i,j;
EA=1;ET0=1;
TMOD=0X01;
while(1){
i=0;
while(songtab[i].delay!=0){
if(songtab[i].tone==0)TR0=0; //音高數(shù)據(jù)為0
else{ //音高數(shù)據(jù)不為0
//用定時器參數(shù)控制T1的振蕩頻率,即音高
thig1=TH0=tonetab[songtab[i].tone-1]/256;
tlow1=TL0=tonetab[songtab[i].tone-1]%256;
TR0=1;
}
//控制音符的持續(xù)時間,即節(jié)拍
for(j=0;j<songtab[i].delay;j++){
delayms(200);
}
i++; //下一個音符
}
TR0=0; //停止演奏
delayms(1000); //一遍完成后等待
}
}
/*******定時器1中斷,控制蜂鳴器發(fā)聲頻率*******/
void t0 () interrupt 1{
TH0=thig1;TL0=tlow1;
SPEAKER = !SPEAKER; //蜂鳴器發(fā)聲
}
復制代碼
所有資料51hei提供下載:
單片機演奏音樂.rar
(54.52 KB, 下載次數(shù): 43)
2019-3-1 21:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
h视频在线免费看
|
黑人精品欧美一区二区蜜桃
|
在线欧美a
|
欧美精品一区二区三区蜜桃视频
|
欧美综合在线视频
|
91看片在线观看
|
毛片在线看片
|
日韩精品视频网
|
91精品国产日韩91久久久久久
|
国产精品久久久久久一级毛片
|
狠狠天天
|
祝你幸福电影在线观看
|
欧美淫片
|
国产精品色婷婷久久58
|
精品久久久久久久久久久久
|
日韩中出
|
亚洲综合精品
|
日韩免费一区二区
|
一级在线观看
|
亚洲高清在线观看
|
久久99视频
|
老司机成人在线
|
av看片网站
|
久久久久久久91
|
国产 日韩 欧美 中文 在线播放
|
国产精品1区2区
|
99国产精品久久久
|
亚洲一区二区视频
|
亚洲97
|
国产精品欧美一区喷水
|
人人爽日日躁夜夜躁尤物
|
精品免费视频
|
国产成人精品999在线观看
|
国产电影一区二区三区爱妃记
|
极情综合网
|
中文字幕日韩欧美
|
久久综合888
|
国产精品国产精品国产专区不片
|
久久成人一区
|
美国a级毛片免费视频
|
av电影一区二区
|