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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

利用定時器產生樂曲 唱祝你平安 帶proteus仿真及源碼

[復制鏈接]
跳轉到指定樓層
樓主
利用51單片機定時器產生樂曲的proteus仿真,下面是原理圖


單片機利用定時器唱祝你平安仿真工程文件及所有完整程序等資料下載地址:
http://www.zg4o1577.cn/bbs/dpj-56298-1.html

源程序:
  1. /********************************************************************
  2.                             天馬電子  
  3. *********************************************************************/
  4. #include<reg52.h>                 //庫文件
  5. #define uchar unsigned char//宏定義無符號字符型
  6. #define uint unsigned int  //宏定義無符號整型
  7. /********************************************************************
  8.                             初始定義
  9. *********************************************************************/
  10. uchar Count;
  11. sbit _Speak =P3^7 ; //訊響器控制腳
  12. /********************************************************************
  13.                             歌曲字根碼
  14. *********************************************************************/
  15. unsigned char code SONG[] ={ //祝你平安
  16. 0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
  17. 0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
  18. 0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
  19. 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
  20. 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
  21. 0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
  22. 0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
  23. 0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
  24. 0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
  25. 0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
  26. 0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
  27. 0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
  28. 0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
  29. 0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,
  30. //路邊的野華不要采
  31. 0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,
  32. 0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,
  33. 0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
  34. 0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  35. 0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  36. 0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,
  37. 0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,
  38. 0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,
  39. 0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,
  40. 0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,
  41. 0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,
  42. 0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,};
  43. /********************************************************************
  44.                             定時中斷服務函數
  45. *********************************************************************/
  46. void Time0_Init()
  47. {
  48.         TMOD = 0x01;
  49.         IE = 0x82;
  50.         TH0 = 0xD8;
  51.         TL0 = 0xEF; //12MZ晶振,10ms
  52. }
  53. /*********************************************************************/
  54. void Time0_Int() interrupt 1
  55. {
  56.         TH0 = 0xD8;
  57.         TL0 = 0xEF;                     
  58.         Count++; //長度加1
  59. }
  60. /*********************************************************************/
  61. void Delay_xMs(unsigned int x) //1MS 延時子程序
  62. {
  63.         unsigned int i,j;
  64.         for( i =0;i < x;i++ )
  65.         {
  66.                 for( j =0;j<3;j++ );
  67.         }
  68. }
  69. /*********************************************************************/
  70. void Play_Song(unsigned char i) //:歌曲播放子程序i 為播放哪一段曲目
  71. {
  72.         unsigned char Temp1,Temp2;
  73.         unsigned int Addr;
  74.         Count = 0; //中斷計數器清0
  75.         Addr = i * 217;
  76. while(1)
  77.         {
  78.                 Temp1 = SONG[Addr++];
  79.                 if ( Temp1 == 0xFF ) //休止符
  80.                         {
  81.                                 TR0 = 0; Delay_xMs(100);
  82.                         }
  83.         else if ( Temp1 == 0x00 ) //歌曲結束符
  84.                 {
  85.                         return;
  86.                 }
  87. else
  88. {
  89.         Temp2 = SONG[Addr++];
  90.         TR0 = 1;
  91.         while(1)
  92.         {
  93.         _Speak = ~_Speak;
  94.         Delay_xMs(Temp1);
  95.         if ( Temp2 == Count )
  96.                 {
  97.                         Count = 0;
  98.                         break;
  99.                 }
  100.         }
  101. }
  102. }
  103. }
  104. /********************************************************************
  105.                             主函數
  106. *********************************************************************/
  107. void main() //主程序
  108. {
  109.         Time0_Init(); //定時器0 中斷初始化
  110.         while(1)
  111.         {
  112.                 Play_Song(0);
  113.         } //播放
  114. }

  115. /********************************************************************
  116.                               結束
  117. *********************************************************************/


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

相關帖子

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费在线视频 | 精品国产乱码久久久久久蜜臀 | 国产精品美女久久久久 | 亚洲有码转帖 | 免费黄色日本 | 精品视频国产 | 久久这里有精品 | 日韩欧美视频免费在线观看 | 国产精品一区二区视频 | 欧美性一区二区三区 | 99精品国产在热久久 | 黄色成人免费在线观看 | a久久 | 久久美女网 | 欧美一区二区免费在线 | 亚洲综合大片69999 | 亚洲视频三 | 精品一级毛片 | 精品久久精品 | 国产精品久久久久久久久久久久 | www免费视频 | 国产午夜三级一区二区三 | 一区二区三区四区在线视频 | 国产传媒在线观看 | 免费播放一级片 | 国产一级片 | 免费一级大片 | 狠狠干影院 | 四虎成人免费电影 | 欧美极品在线观看 | 久久久久久国产精品免费免费 | 涩爱av一区二区三区 | 日日操天天射 | 久久88 | 国产一区二区三区不卡av | 欧美成人免费在线视频 | www日本高清视频 | 日日噜噜噜夜夜爽爽狠狠视频, | 国产免费人成xvideos视频 | 国产成人免费视频 | 一区二区三区精品视频 |