第一范文网 - 专业文章范例文档资料分享平台

基于C51单片机电子琴的设计与实现

来源:用户分享 时间:2025/5/23 6:22:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

0x19,0x03,0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02, 0x18,0x03, 0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02,0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00, 0xff,0xff};

unsigned char code Music_Code[]={ 0xf8,0x8b,0xf9,0x5b,0xfa,0x14,0xfa,0x66,

10001011

0xfb,0x03,0xfb,0x8f,0xfc,0x0b,0xfd,0xee};

//11111000,

unsigned char const yinfu1[3][14]={

{0xf8,0x8b,0xf9,0x5b,0xfa,0x14,0xfa,0x66,0xfb,0x03,0xfb,0x8f,0xfc,0x0b}

{0xfc,0x43,0xfc,0xab,0xfd,0x08,0xfd,0x33,0xfd,0x81,0xfd,0xc7,0xfe,0x05}

{0xfb,0x21,0xfe,0x55,0xfe,0x84,0xfe,0x99,0xfe,0xc0,0xfe,0xe3,0xff,0x02}}; //11111000, 10001011

unsigned char const length[]={1,2,4,8,16,32,64}; unsigned char sth,stl;

void delay_ms(unsigned int k) { // 12M unsigned int i0; unsigned char i,j;

for(i0=0;i00;i--) for(j=97;j>0;j--); }

void Sys_Init() {

TMOD=0x10; EA=1; ET1=1; P1=0xff; }

uchar Get_Key () {

uchar i,temp; P1=0xff; temp=P1; for(i=0;i<8;i++) {if(temp==keymode[i]) return i; } return 8;

}

void Play(uchar key) { uchar j; if(key==7) { TR1=1;

for(j=0; Music_hzcb[j]!=0xff;j++) {

keycode=Music_hzcb[j]; delay_ms(10);

sth=yinfu1[(Music_hzcb[j]0)/10-1][((Music_hzcb[j])-1)*2];

stl=yinfu1[(Music_hzcb[j]0)/10-1][((Music_hzcb[j])-1)*2+1];

j++;

TR0=1;

delay_ms(4*500/length[Music_hzcb[j]]);

TR0=0; }

for (;;) {

}

else { TR1=1; keycode=key; } }

void timer1(void) interrupt 3 { buz=~buz;

TH1=toneh[keycode]/256; TL1=toneh[keycode]%6; }

void main() {

Sys_Init(); do

while(P3==0x7f); delay_ms(10); if(P3==0x7f) continue; else break; }

using 1

搜索更多关于: 基于C51单片机电子琴的设计与实现 的文档
基于C51单片机电子琴的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c40jei0sdig4x67j2purc_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top