亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? beep.lst

?? 一個很好的音樂發生程序
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V7.50   BEEP                                                                  06/19/2008 11:23:16 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE BEEP
OBJECT MODULE PLACED IN beep.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE beep.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //**************************************************************************//
   2          //   
   3          //   程序名:     單片機音樂智能播放
   4          //   晶  振:     11.0592MHZ                            CPU型號: AT89S52
   5          //   功能描述:   實現單片機音樂的播放.音樂播放首數的顯示.個性簽名的間斷顯
   6          //               示.播放時間的間斷顯示.跑馬等伴奏閃爍.暫停-開始功能鍵使用
   7          //   參考文獻:   HTTP://WWW.MCUBLOG.COM的署名為JJJ(Jiang Jian Jun)的作品
   8          //                                            
   9          //
  10          //
  11          //                                                 寂寞高手--令狐沖
  12          //                                                    2006-05-28
  13          //**************************************************************************//
  14          //該程序被稍作修改以適應本學習板配置
  15          //////////////////////////////////////////////////////////////////////////////
  16          #include<reg52.h>                                      
  17          
  18          #ifndef __SOUNDPLAY_H_REVISION_FIRST__
  19          #define __SOUNDPLAY_H_REVISION_FIRST__
  20          #define SYSTEM_OSC   11059200                    //定義晶振頻率11059200HZ
  21          #define SOUND_SPACE  4/5        //定義普通音符演奏的長度分率,//每4分音符間隔
  22            /**************************************************************************/
  23          sbit P1_0 = P0 ^ 0;                  //對跑馬燈的定義使用
  24          sbit P1_1 = P0 ^ 1;     
  25          sbit P1_2 = P0 ^ 2;
  26          sbit P1_3 = P0 ^ 3;
  27          sbit P1_4 = P0 ^ 4;
  28          sbit P1_5 = P0 ^ 5;
  29          sbit P1_6 = P0 ^ 6;
  30          sbit P1_7 = P0 ^ 7;
  31          
  32          sbit P3_4 = P1 ^ 0;                 //對功能鍵的定義使用
  33          sbit P3_5 = P1 ^ 1;                 
  34           
  35          /**************************************************************************/
  36          unsigned int code FreTab[12]  = { 262,277,294,311,330,349,369,392,415,440,466,494 }; 
  37          //原始頻率表
  38          unsigned char code SignTab[7]  = { 0,2,4,5,7,9,11 };           //1~7在頻率表中的位置
  39          unsigned char code LengthTab[7]= { 1,2,4,8,16,32,64 };      
  40          unsigned char Sound_Temp_TH0,Sound_Temp_TL0; //音符定時器初值暫存 
  41          unsigned char Sound_Temp_TH1,Sound_Temp_TL1; //音長定時器初值暫存
  42          sbit    BeepIO =  P3^7;//定義輸出管腳 
  43            /**************************************************************************/
  44          unsigned char Count=0;                            //0.05秒的變量定義
  45          unsigned int  del;                                //過渡變量
  46          unsigned int tcnt;                                 //過渡變量
  47          unsigned int numble=0;                            //歌曲曲數的定義
  48          unsigned char  min=0, sec=0;                      //1秒鐘 1分鐘的定義
  49            /**************************************************************************
  50            對整個中斷系統的設置
  51            為了得到較好的音效,定時器0和定時器1用于音樂播放子程序
  52                                初值都為10MS
  53            定時器2 用于播放時間的間斷顯示子程序,初值為50MS
  54          **************************************************************************/
  55          void InitialSound(void)
C51 COMPILER V7.50   BEEP                                                                  06/19/2008 11:23:16 PAGE 2   

  56          {
  57   1       BeepIO = 0;
  58   1           Sound_Temp_TH1 = (65535-(1/1200)*SYSTEM_OSC)/256; // 計算TL1應裝入的初值  
  59   1       Sound_Temp_TL1 = (65535-(1/1200)*SYSTEM_OSC)%256; // 計算TH1應裝入的初值 
  60   1       TH1 = Sound_Temp_TH1;
  61   1       TL1 = Sound_Temp_TL1;
  62   1       TMOD  |= 0x11;
  63   1       ET0    = 1;
  64   1       ET1    = 0;
  65   1       TR0    = 0;
  66   1       TR1    = 0;
  67   1      
  68   1       RCAP2H = 0x2c;                      //對定時器2的初始化的定義使用
  69   1       RCAP2L = 0x13;
  70   1       TH2 = 0x2c;                          // 定時器初值
  71   1       TL2 = 0x13; 
  72   1       ES = 0;                              // 關閉通信中斷
  73   1       ET2 = 1;                             // 允許T2中斷
  74   1       T2CON = 0X04;
  75   1       EA = 1;
  76   1      }
  77          
  78          
  79          
  80          void BeepTimer0(void) interrupt 1         //音符發生中斷
  81          {
  82   1       BeepIO = !BeepIO;
  83   1       TH0    = Sound_Temp_TH0;
  84   1       TL0    = Sound_Temp_TL0;
  85   1      }
  86          
  87          void timer2Int(void) interrupt 5            //時鐘發生中斷
  88          {
  89   1       TF2 = 0;                             // 溢出標志必須由軟件清零
  90   1       EXF2 = 0;                            // 捕獲標志必須由軟件清零
  91   1       Count++;
  92   1       if(Count==20)
  93   1        {  
  94   2         sec++;
  95   2         Count=0;
  96   2        }
  97   1       if(sec==60)
  98   1        {
  99   2         min++;
 100   2         sec=0;
 101   2        }
 102   1      }
 103          
 104          
 105          
 106          /*說明**********************************************************************
 107            曲譜存貯格式 unsigned char code MusicName{音高,音長,音高,音長...., 0,0};
 108            末尾:0,0 表示結束(Important)
 109          
 110            音高由三位數字組成:
 111              個位是表示 1~7 這七個音符 
 112              十位是表示音符所在的音區:1-低音,2-中音,3-高音;
 113              百位表示這個音符是否要升半音: 0-不升,1-升半音。
 114           
 115            音長最多由三位數字組成: 
 116              個位表示音符的時值,其對應關系是: 
 117               |數值(n):  |0 |1 |2 |3 | 4 | 5 | 6 
C51 COMPILER V7.50   BEEP                                                                  06/19/2008 11:23:16 PAGE 3   

 118               |幾分音符: |1 |2 |4 |8 |16 |32 |64   音符=2^n
 119              十位表示音符的演奏效果(0-2):  0-普通,1-連音,2-頓音
 120              百位是符點位: 0-無符點,1-有符點
 121          
 122            調用演奏子程序的格式
 123              Play(樂曲名,調號,升降八度,演奏速度);
 124            |樂曲名           : 要播放的樂曲指針,結尾以(0,0)結束;
 125            |調號(0-11)       : 是指樂曲升多少個半音演奏;
 126            |升降八度(1-3)   : 1:降八度, 2:不升不降, 3:升八度;
 127            |演奏速度(1-12000): 值越大速度越快;
 128          ***************************************************************************/
 129          
 130          
 131          /**************************************************************************/
 132          void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed)
 133          {
 134   1       unsigned int NewFreTab[12];  //新的頻率表
 135   1       unsigned char i,j;
 136   1       unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength;
 137   1       unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;
 138   1      
 139   1       
 140   1       for(i=0;i<12;i++)     // 根據調號及升降八度來生成新的頻率表 
 141   1       {
 142   2        j = i + Signature;
 143   2        if(j > 11)
 144   2        {
 145   3         j = j-12;
 146   3         NewFreTab[i] = FreTab[j]*2;
 147   3        }
 148   2        else
 149   2         NewFreTab[i] = FreTab[j];
 150   2      
 151   2      
 152   2        if(Octachord == 1)
 153   2         NewFreTab[i]>>=2;
 154   2        else if(Octachord == 3)
 155   2         NewFreTab[i]<<=2;
 156   2       }         
 157   1       
 158   1       SoundLength = 0;
 159   1       while(Sound[SoundLength] != 0x00) //計算歌曲長度
 160   1       {
 161   2        SoundLength+=2;
 162   2       }
 163   1      
 164   1      
 165   1       Point = 0;
 166   1       Tone   = Sound[Point]; 
 167   1       Length = Sound[Point+1];    // 讀出第一個音符和它時時值
 168   1       
 169   1       LDiv0 = 12000/Speed;    // 算出1分音符的長度(幾個10ms)  
 170   1       LDiv4 = LDiv0/4;      // 算出4分音符的長度 
 171   1       LDiv4 = LDiv4-LDiv4*SOUND_SPACE;  // 普通音最長間隔標準 
 172   1       TR0   = 0;
 173   1       TR1   = 1;
 174   1       while(Point < SoundLength)
 175   1       {
 176   2        SL=Tone%10;         //計算出音符 
 177   2        SM=Tone/10%10;         //計算出高低音 
 178   2        SH=Tone/100;         //計算出是否升半 
 179   2        CurrentFre = NewFreTab[SignTab[SL-1]+SH];  //查出對應音符的頻率  
C51 COMPILER V7.50   BEEP                                                                  06/19/2008 11:23:16 PAGE 4   

 180   2        if(SL!=0)
 181   2        {
 182   3         if (SM==1) CurrentFre >>= 2;   //低音 
 183   3         if (SM==3) CurrentFre <<= 2;   //高音
 184   3         Temp_T = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC);//計算計數器初值
 185   3         Sound_Temp_TH0 = Temp_T/256; 
 186   3         Sound_Temp_TL0 = Temp_T%256; 
 187   3         TH0 = Sound_Temp_TH0;  
 188   3         TL0 = Sound_Temp_TL0 + 12; //加12是對中斷延時的補償 
 189   3        }
 190   2        SLen=LengthTab[Length%10];  //算出是幾分音符
 191   2        XG=Length/10%10;    //算出音符類型(0普通1連音2頓音) 
 192   2        FD=Length/100;
 193   2        LDiv=LDiv0/SLen;    //算出連音音符演奏的長度(多少個10ms)
 194   2        if (FD==1) 
 195   2         LDiv=LDiv+LDiv/2;
 196   2        if(XG!=1) 
 197   2         if(XG==0)     //算出普通音符的演奏長度 
 198   2          if (SLen<=4) 
 199   2           LDiv1=LDiv-LDiv4;
 200   2          else
 201   2           LDiv1=LDiv*SOUND_SPACE;
 202   2         else
 203   2          LDiv1=LDiv/2;   //算出頓音的演奏長度 
 204   2        else
 205   2         LDiv1=LDiv;
 206   2        if(SL==0) LDiv1=0;
 207   2         LDiv2=LDiv-LDiv1;   //算出不發音的長度 
 208   2          if (SL!=0)
 209   2        {
 210   3         TR0=1;
 211   3         for(i=LDiv1;i>0;i--)  //發規定長度的音 
 212   3         {
 213   4          while(TF1==0);
 214   4          TH1 = Sound_Temp_TH1;
 215   4          TL1 = Sound_Temp_TL1;
 216   4          TF1=0;
 217   4        }
 218   3      /*************************************************************************
 219   3      功能鍵子程序,直接嵌入音樂播放程序之中
 220   3      P1-0 P1-1 P1-2 P1-3 P1-4 P1-5 P1-6 P1-7六個跑馬燈實現發出每個音符時的間斷閃爍
 221   3      P3-4 P3-5兩鍵 實現暫停和開始的功能
 222   3      為以后的二次開發,特留下兩個功能鍵  以備后用
 223   3      *************************************************************************/
 224   3         {
 225   4         if(i==1*LDiv1/1024)
 226   4             {P1_0=0;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=1;}
 227   4         if(i==51*LDiv1/1024)
 228   4             {P1_0=0;P1_1=1;P1_2=1;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=1;}
 229   4         if(i==101*LDiv1/1024)
 230   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=1;P1_4=1;P1_5=1;P1_6=1;P1_7=1;}
 231   4         if(i==151*LDiv1/1024)
 232   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=0;P1_4=1;P1_5=1;P1_6=1;P1_7=1;}
 233   4         if(i==201*LDiv1/1024)
 234   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=0;P1_4=0;P1_5=1;P1_6=1;P1_7=1;}
 235   4         if(i==251*LDiv1/1024)
 236   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=0;P1_4=0;P1_5=0;P1_6=1;P1_7=1;}
 237   4         if(i==301*LDiv1/1024)
 238   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=0;P1_4=0;P1_5=0;P1_6=1;P1_7=1;}
 239   4         if(i==351*LDiv1/1024)
 240   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=0;P1_4=0;P1_5=0;P1_6=0;P1_7=1;}
 241   4         if(i==401*LDiv1/1024)
C51 COMPILER V7.50   BEEP                                                                  06/19/2008 11:23:16 PAGE 5   

 242   4             {P1_0=0;P1_1=0;P1_2=0;P1_3=0;P1_4=0;P1_5=0;P1_6=0;P1_7=0;}
 243   4      
 244   4         if(P3_4==0)
 245   4            for(i=300;i>0;i--) 
 246   4              for(j=300;j>0;j--);
 247   4                 if(P3_4==0)
 248   4                   EA=0;
 249   4         if(P3_5==0)
 250   4            for(i=300;i>0;i--) 
 251   4              for(j=300;j>0;j--);
 252   4                 if(P3_5==0)
 253   4                   EA=1;
 254   4      }
 255   3      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女一区二区三区 | 亚洲国产精品精华液网站| 亚洲欧美韩国综合色| 国产最新精品免费| 欧美精品丝袜中出| 亚洲天堂福利av| 国内精品久久久久影院薰衣草| 在线一区二区视频| 国产精品美日韩| 国产精品一区免费视频| 欧美一区二区三区在线观看| 亚洲欧美一区二区三区久本道91| 韩国女主播成人在线观看| 在线观看91视频| 中文字幕一区二区在线播放| 激情久久五月天| 91精品国产综合久久精品app | 精品中文av资源站在线观看| 欧美三级午夜理伦三级中视频| 亚洲欧洲精品一区二区精品久久久 | 亚洲国产精品一区二区久久恐怖片 | 国产成人免费在线| 欧美一级黄色录像| 午夜精品一区二区三区电影天堂 | 婷婷开心激情综合| 欧美性大战久久久久久久| 亚洲丝袜制服诱惑| caoporen国产精品视频| 国产欧美日本一区视频| 国产精品1024久久| 中文字幕免费观看一区| 国产电影一区二区三区| 国产三级三级三级精品8ⅰ区| 国产一区二区在线看| 国产日韩精品一区二区三区| 国产一区三区三区| 国产日韩欧美电影| 国产99久久久国产精品免费看| 久久奇米777| 国产成人精品午夜视频免费| 国产精品人人做人人爽人人添| 成人手机在线视频| 最新日韩在线视频| 在线看国产日韩| 婷婷开心激情综合| 精品日韩一区二区三区| 国产成人亚洲精品青草天美| 中文字幕av资源一区| 色综合天天综合网天天狠天天| 一区二区三区免费| 欧美精品乱码久久久久久| 美国十次综合导航| 国产精品视频一二三| 色综合久久99| 日韩精品一级二级 | 色综合天天综合色综合av| 亚洲精品成人少妇| 欧美一区二区三区色| 国产综合色产在线精品| 日韩伦理av电影| 91麻豆精品国产自产在线观看一区| 蜜桃传媒麻豆第一区在线观看| 欧美大白屁股肥臀xxxxxx| 成人看片黄a免费看在线| 亚洲综合一区二区| 精品久久一区二区| 不卡一区在线观看| 丝袜美腿高跟呻吟高潮一区| 国产亚洲视频系列| 欧美午夜在线一二页| 国内成人自拍视频| 亚洲一区二区三区四区在线观看| 日韩一级片在线播放| 成人av在线资源网站| 日韩在线一区二区| 国产精品久久久久久久久免费丝袜 | 久久国产麻豆精品| 日韩伦理电影网| 日韩免费视频线观看| eeuss影院一区二区三区| 视频一区在线播放| 欧美国产精品一区| 3d动漫精品啪啪一区二区竹菊 | 美国十次综合导航| 欧美国产日韩精品免费观看| 欧美日韩高清一区二区| 成人免费福利片| 美女视频黄a大片欧美| 亚洲欧美日韩人成在线播放| 日韩欧美黄色影院| 欧美三级中文字幕| 99在线热播精品免费| 久久99精品久久久久婷婷| 艳妇臀荡乳欲伦亚洲一区| 国产精品欧美精品| 久久综合九色综合久久久精品综合| 欧洲精品一区二区| 成人av在线资源| 国产在线播放一区二区三区| 午夜欧美一区二区三区在线播放| 中文字幕一区av| 久久久欧美精品sm网站| 日韩一区二区在线看| 欧美人与禽zozo性伦| 色综合久久99| 日本黄色一区二区| 91精品国产乱码久久蜜臀| 91在线视频网址| 91网上在线视频| 99国产欧美另类久久久精品| 高清在线不卡av| 国产98色在线|日韩| 韩国成人精品a∨在线观看| 另类小说综合欧美亚洲| 麻豆成人91精品二区三区| 日韩av一二三| 日韩不卡手机在线v区| 亚洲成av人综合在线观看| 亚洲成人免费看| 日日摸夜夜添夜夜添国产精品 | 日韩免费在线观看| 欧美xxxxx牲另类人与| 日韩精品一区二区三区老鸭窝| 在线播放中文一区| 日韩一区二区不卡| 精品久久人人做人人爽| 欧美成人精品福利| 精品处破学生在线二十三| 精品国产凹凸成av人网站| 久久久久久免费| 欧美激情中文字幕| 亚洲欧洲综合另类| 亚洲第一福利视频在线| 日本vs亚洲vs韩国一区三区二区| 日日夜夜精品视频免费| 精品一区二区三区免费| 国产一区激情在线| 9i在线看片成人免费| 95精品视频在线| 欧美喷水一区二区| 2020国产精品自拍| 国产日韩精品一区| 中文字幕人成不卡一区| 一区二区三区中文字幕精品精品 | 久久免费美女视频| 亚洲免费观看高清完整版在线观看熊 | 成人免费视频网站在线观看| 99久久综合精品| 欧美高清你懂得| 国产人成一区二区三区影院| 亚洲欧美偷拍卡通变态| 免费在线观看视频一区| 懂色av一区二区三区免费看| 色8久久人人97超碰香蕉987| 欧美一级日韩不卡播放免费| 国产精品视频免费看| 日韩精品免费视频人成| 粉嫩欧美一区二区三区高清影视| 色狠狠一区二区三区香蕉| 欧美大片日本大片免费观看| 亚洲日本在线看| 精品一区二区三区蜜桃| 在线视频国内自拍亚洲视频| 久久久精品国产免大香伊| 一区二区在线观看不卡| 黑人精品欧美一区二区蜜桃| 色婷婷av一区二区三区大白胸| 日韩欧美在线123| 天天综合网天天综合色| 成人sese在线| 337p日本欧洲亚洲大胆精品| 亚洲制服丝袜在线| 菠萝蜜视频在线观看一区| 日韩欧美一区二区视频| 亚洲精品亚洲人成人网| 国产美女精品在线| 欧美丰满少妇xxxbbb| 亚洲免费在线观看| 国产精品一二三| 欧美一二三四区在线| 亚洲一区二区三区四区五区中文| 国产精品一区久久久久| 91精品久久久久久蜜臀| 亚洲精品免费电影| 不卡影院免费观看| 国产午夜三级一区二区三| 免费高清视频精品| 欧美精品色一区二区三区| 亚洲黄色小说网站| 91小视频免费观看| 国产欧美视频一区二区| 韩国一区二区视频| 精品久久久久久久久久久久包黑料 | 亚洲欧美乱综合| 91在线视频播放| 中文字幕一区二区三区蜜月| www.在线欧美| 中文字幕一区二区三区四区 | 欧美精品一区二区蜜臀亚洲| 免费成人性网站|