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

標題: 基于51單片機的電子琴程序設計 [打印本頁]

作者: gragonckm    時間: 2021-5-11 13:16
標題: 基于51單片機的電子琴程序設計
使用的是普中開發板
可實現音樂播放和自己彈琴功能
通過keil4軟件編程,在普中科技HC6800-MS開發板上實現兩個主要功能,電子琴功能與音樂播放器功能。本次項目的設計目標有兩個
一:按下矩陣鍵盤上的不同按鍵發出不同的音調實現電子琴功能;
二:按下指定按鍵開始播放預設音樂,再次按動播放結束,實現音樂播放器功能。



單片機源程序如下:
  1. #include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器
  2. #include "SoundPlay.h"
  3. #include"music.h"

  4. extern int num;
  5. extern u8 piano;
  6. extern u8 KeyValue;
  7. extern unsigned char Sound_Temp_TH0,Sound_Temp_TL0;        //音符定時器初值暫存  

  8. unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};


  9. // 頻率-半周期數據表 高八位 本軟件共保存了四個八度的28個頻率數據
  10. code unsigned char FREQH[] = {
  11. 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC}; //1,2,3,4,5,6,7,i
  12.                 //超高音 1234567

  13. // 頻率-半周期數據表 低八位
  14. code unsigned char FREQL[] = {
  15. 0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F};                 //超高音 1234567

  16. void Delay1ms(unsigned int count)
  17. {
  18.         unsigned int i,j;
  19.         for(i=0;i<count;i++)
  20.         for(j=0;j<120;j++);
  21. }

  22. void main()
  23. {
  24.         InitialSound();
  25.         while(1)
  26.         {              
  27.                 while(piano){
  28.                    keypros();
  29.                                    if(KeyValue>=5&&KeyValue<=12)
  30.                                                 P0 = LED7Code[(KeyValue-4)%16]&0x7f;
  31.                    if((piano==1)&&(GPIO_KEY!=0xf0)){
  32.                                                 if(KeyValue>=4){
  33.                                                         Sound_Temp_TH0 = FREQH[KeyValue-5];
  34.                                                         Sound_Temp_TL0 = FREQL[KeyValue-5];
  35.                                                            TH0 = Sound_Temp_TH0; //控制音調
  36.                                                         TL0 = Sound_Temp_TL0;
  37.                                                         TR0 = 1; //啟動T0, 由T0輸出方波去發音
  38.                                                 }
  39.                                         }
  40.                         else  
  41.                         {
  42.                                     TR0 = 0;
  43.                         }
  44.                 }
  45.                 P0=0xFF;
  46.                 if(piano==0){
  47.                         if(num==1){
  48.                                 Play(Music_Girl,0,3,360);
  49.                                 Delay1ms(500);
  50.                         }
  51.                         if(num==2){
  52.                                 Play(Music_Same,0,3,360);
  53.                                 Delay1ms(500);
  54.                         }
  55.                         if(num==3){
  56.                                 Play(Music_Two,0,3,360);
  57.                                 Delay1ms(500);
  58.                         }
  59.                 }
  60.         }
  61. }
復制代碼


所有資料51hei提供下載:
音樂播放器程序.zip (56.38 KB, 下載次數: 12)







歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人精品免费视频 | 精品在线一区 | 国产呦小j女精品视频 | 日韩一区二区视频 | 成人理论影院 | 99re久久 | 青娱乐av | 国产精品一区二区久久 | 超碰123 | 亚洲精品一区二区三区在线 | 国产欧美一区二区精品性色超碰 | 无遮挡毛片 | 成人三级视频在线观看 | 精品一区二区三区三区 | www.日日夜夜 | 一区二区高清视频 | 国产又色又爽又黄又免费 | 日韩精品极品 | 日韩怡红院| 日韩精品极品 | 亚洲久草 | 日韩av不卡在线 | 国产91在线播放 | 亚洲最新av | 夜夜操夜夜爽 | 色哟哟一区二区三区 | 一区二区三区视频在线 | 日韩不卡av | 亚洲欧美网站 | 日韩欧美久久 | 激情婷婷综合 | 欧美日韩高清在线 | 少妇高潮露脸国语对白 | 国产一区在线观看视频 | 国产av毛片| 成人深夜视频 | 四虎影视av | 精品日韩一区 | 久久免费看片 | 欧美久久精品 | 日韩高清精品免费观看 |