久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3971|回復: 0
打印 上一主題 下一主題
收起左側

[求助]改進板子附帶的電子琴程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:34802 發表于 2012-4-30 19:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

這個是電子琴加播放音樂的程序。。。

這個程序在播放音樂的過程中 ,,,如果按其他的鍵  沒反應   只能在放完音樂后才能實現彈奏功能,,,,誰能幫我改下使這程序它在播放的過程中按下按鍵時可以能實現彈奏的功能。。。,,最好能再加一首歌曲上去。。。

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
void PlayMusic();
sbit a=P3^2 ;
sbit BEEP = P3^0;

uchar code DSY_Table[]=
{
  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF
};
uint code Tone_Delay_Table[]=
{64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};
  uchar code SONG_TONE[]=
{
  212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,129,169,190,119,119,126,159,142,159,0
};
uchar code SONG_LONG[]=
{
  9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0
};

void DelayMS(uint ms)
{
  uchar t;
 while(ms--)
 {
   for(t=0;t<120;t++);
 }
}
uchar KeyNo;


void Keys_Scan()
{
  uchar Tmp,k;
 P1 = 0x0f;
 DelayMS(2);
 Tmp = P1 ^ 0x0f;
 switch(Tmp)
 {
   case 1: k = 0; break;
  case 2: k = 1; break;
  case 4: k = 2; break;
  case 8: k = 3; break;
  default: return;
 }
 P1 = 0xf0;
 DelayMS(2);
 Tmp = (P1 >> 4) ^ 0x0f;
 switch(Tmp)
 {
   case 1: k+= 0; break;
  case 2: k+= 4; break;
  case 4: k+= 8; break;
  case 8: k+= 12;break;
  default: return;
 }
  KeyNo=k;
}

void Play_Tone() interrupt 1
{
  TH0=Tone_Delay_Table[KeyNo]/256;
  TL0=Tone_Delay_Table[KeyNo]%256;
  BEEP=~BEEP;
  }
void main()
{
  P0 = 0xBF;
 TMOD=0x01;
 IE=0x82;
 while(1)
 {
   if(a==0)
    PlayMusic();
  else
  {P1 = 0xf0;
  if(P1 != 0xf0)
  { Keys_Scan();
  
    P0 = DSY_Table[KeyNo];
   TR0=1;}
  else
  {
  TR0=0 ;
  }
  DelayMS(2);
   }
}
}
  void PlayMusic()
{
  uint i =0,j,k;
 while(SONG_LONG!=0||SONG_TONE!=0)
 {
   for(j=0;j<SONG_LONG*20;j++)
  {
    BEEP = ~BEEP;
   for(k=0;k<SONG_TONE/3;k++);
  }
  DelayMS(50);
  i++;
 }
}

 

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲精品久久午夜玫瑰园 | 国产免费黄网 | 久久av综合 | 国产一级一级毛片 | 影音先锋中文字幕在线观看 | 国产在线精品区 | 国产免费让你躁在线视频 | 国产一区二区三区四区 | 人人爽人人爽 | av毛片| 国产精品欧美日韩 | 色婷婷综合久久久久中文一区二区 | 一区二区三区四区电影视频在线观看 | 国产精品夜夜夜一区二区三区尤 | www.日本精品| 亚洲精品99| 欧美αv | 一色桃子av一区二区 | 久久精品国产99国产精品 | 欧美一级久久 | 成年人在线观看 | 欧洲高清转码区一二区 | 日韩国产在线观看 | 国产综合av | 国产成人精品综合 | 伊人激情综合网 | 国内av在线 | 国产精品一区在线观看你懂的 | 欧美成人第一页 | 国产韩国精品一区二区三区 | 亚洲一区二区三区桃乃木香奈 | 视频一区在线观看 | 国产精品资源在线 | 成人久久久久 | 成人在线精品视频 | 欧美一级高潮片免费的 | 中文字幕日韩三级 | 久久大 | www国产亚洲精品 | 国产日产欧产精品精品推荐蛮挑 | 黄色毛片在线播放 |