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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機并行口簡易電子琴程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:269712 發表于 2018-1-1 13:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本程序針對51單片機來設計電子琴
簡單io口控制鍵盤
無源蜂鳴器可發出30幾種頻率的音頻
新手一看就懂

單片機源程序如下:
  1. #define uchar unsigned char //定義一下方便使用
  2. #define uint unsigned int
  3. #define ulong unsigned long  
  4. #include <reg52.h> //包括一個52 標準內核的頭文件
  5. char code dx516[3] _at_ 0x003b;//這是為了仿真設置的
  6. sbit BEEP=P1^0; //喇叭輸出腳
  7. sbit K1= P2^0;
  8. sbit K2= P2^1;  
  9. sbit K3= P2^2;  
  10. sbit K4= P2^3;  
  11. sbit K5= P2^4;
  12. sbit K6= P2^5;
  13. sbit K7= P2^6;
  14. sbit K8= P2^7;
  15. sbit K9= P1^7;
  16. uchar th0_f; //在中斷中裝載的T0 的值高8 位
  17. uchar tl0_f; //在中斷中裝載的T0 的值低8 位
  18. //T0 的值及輸出頻率對照表
  19. uchar code freq[36*2]={  
  20. 0xA9,0xEF,//00220HZ ,1 //0  
  21. 0x93,0xF0,//00233HZ ,1#  
  22. 0x73,0xF1,//00247HZ ,2  
  23. 0x49,0xF2,//00262HZ ,2#  
  24. 0x07,0xF3,//00277HZ ,3  
  25. 0xC8,0xF3,//00294HZ ,4  
  26. 0x73,0xF4,//00311HZ ,4#  
  27. 0x1E,0xF5,//00330HZ ,5  
  28. 0xB6,0xF5,//00349HZ ,5#  
  29. 0x4C,0xF6,//00370HZ ,6  
  30. 0xD7,0xF6,//00392HZ ,6#  
  31. 0x5A,0xF7,//00415HZ ,7  
  32. 0xD8,0xF7,//00440HZ 1 //12  
  33. 0x4D,0xF8,//00466HZ 1# //13  
  34. 0xBD,0xF8,//00494HZ 2 //14  
  35. 0x24,0xF9,//00523HZ 2# //15  
  36. 0x87,0xF9,//00554HZ 3 //16  
  37. 0xE4,0xF9,//00587HZ 4 //17  
  38. 0x3D,0xFA,//00622HZ 4# //18  
  39. 0x90,0xFA,//00659HZ 5 //19  
  40. 0xDE,0xFA,//00698HZ 5# //20  
  41. 0x29,0xFB,//00740HZ 6 //21  
  42. 0x6F,0xFB,//00784HZ 6# //22  
  43. 0xB1,0xFB,//00831HZ 7 //23  
  44. 0xEF,0xFB,//00880HZ `1  
  45. 0x2A,0xFC,//00932HZ `1#  
  46. 0x62,0xFC,//00988HZ `2  
  47. 0x95,0xFC,//01046HZ `2#  
  48. 0xC7,0xFC,//01109HZ `3  
  49. 0xF6,0xFC,//01175HZ `4  
  50. 0x22,0xFD,//01244HZ `4#  
  51. 0x4B,0xFD,//01318HZ `5
  52. 0x73,0xFD,//01397HZ `5#  
  53. 0x98,0xFD,//01480HZ `6  
  54. 0xBB,0xFD,//01568HZ `6#  
  55. 0xDC,0xFD,//01661HZ `7 //35  
  56. };  //定時中斷0,用于產生唱歌頻率
  57. timer0() interrupt 1  
  58. {  
  59. TL0=tl0_f;
  60. TH0=th0_f; //調入預定時值
  61. BEEP=~BEEP; //取反音樂輸出 IO  
  62. }  //按鍵控制音階聲音輸出(電子琴)
  63. void main(void) // 主程序
  64. {  
  65. ulong n;  
  66. uchar code jie8[8]={12,14,16,17,19,21,23,24};//1234567`1 八個音符在頻率表中的位置
  67. TMOD = 0x01; //使用定時器 0 的16 位工作模式
  68. TR0 = 0;  
  69. ET0 = 1;  
  70. EA = 1;  
  71. while(1)  
  72. {  
  73. if(!K1)  
  74. {  
  75. tl0_f=freq[jie8[0]*2]; //置一個音符的值
  76. th0_f=freq[jie8[0]*2+1];  
  77. TR0 = 1;
  78. K9=1;
  79. for(n=0;n<10000;n++); //延時
  80. }  
  81. if(!K2)  
  82. {  
  83. tl0_f=freq[jie8[1]*2]; //置一個音符的值
  84. th0_f=freq[jie8[1]*2+1];  
  85. TR0 = 1;
  86. K9=1;   
  87. for(n=0;n<10000;n++); //延時
  88.   
  89. }  
  90. if(!K3)  
  91. {  
  92. tl0_f=freq[jie8[2]*2]; //置一個音符的值
  93. th0_f=freq[jie8[2]*2+1];  
  94. TR0 = 1;  
  95. K9=1;  
  96. for(n=0;n<10000;n++); //延時
  97. }  
  98. if(!K4)  
  99. {  
  100. tl0_f=freq[jie8[3]*2]; //置一個音符的值
  101. th0_f=freq[jie8[3]*2+1];  
  102. TR0 = 1;  
  103. K9=1;  
  104. for(n=0;n<10000;n++); //延時
  105. }
  106. if(!K5)
  107. {
  108. tl0_f=freq[jie8[4]*2]; //置一個音符的值
  109. th0_f=freq[jie8[4]*2+1];  
  110. TR0 = 1;  
  111. K9=1;  
  112. for(n=0;n<10000;n++); //延時
  113. }
  114. if(!K6)
  115. {
  116. tl0_f=freq[jie8[5]*2]; //置一個音符的值
  117. th0_f=freq[jie8[5]*2+1];  
  118. TR0 = 1;  
  119. K9=1;  
  120. for(n=0;n<10000;n++); //延時
  121. }
  122. if(!K7)
  123. {tl0_f=freq[jie8[6]*2]; //置一個音符的值
  124. th0_f=freq[jie8[6]*2+1];  
  125. TR0 = 1;  
  126. K9=1;  
  127. for(n=0;n<10000;n++); //延時
  128. }
  129. if(!K8)
  130. {
  131. tl0_f=freq[jie8[7]*2]; //置一個音符的值
  132.   
  133. th0_f=freq[jie8[7]*2+1];  
  134. TR0 = 1;  
  135. K9=1;  
  136. for(n=0;n<10000;n++); //延時
  137. }
  138. TR0 = 0;  
  139. K9=0;
  140. }  
  141. }


復制代碼

所有資料51hei提供下載:
dzx.docx (15.67 KB, 下載次數: 8)


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

使用道具 舉報

沙發
ID:366752 發表于 2018-7-11 00:27 | 只看該作者
好多,謝謝分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久国产老人久久综合 | 激情国产在线 | 成人网av | 国产jizz女人多喷水99 | 国产精品成人一区二区三区夜夜夜 | 国产在线麻豆精品入口 | 亚洲精品久久久一区二区三区 | 国产精品久久毛片av大全日韩 | 中文字幕av亚洲精品一部二部 | 亚洲精品中文字幕中文字幕 | 黄色大片网站 | 91精品国产一区二区三区 | 日韩在线免费视频 | 一区二区三区免费在线观看 | 日本精品视频 | 综合第一页 | 国产高清在线精品一区二区三区 | 91久久国产精品 | 高清黄色 | 国产高清视频 | 欧美二区三区 | 国产最新视频在线 | 欧美一区二区三区国产 | 亚洲综合热 | 久久久无码精品亚洲日韩按摩 | avav在线看 | 色综久久 | 一区二区三区免费看 | 亚洲国产精品久久人人爱 | 毛片网在线观看 | 性高湖久久久久久久久aaaaa | 亚洲精品一区二区三区蜜桃久 | 欧美日韩一区二区三区在线观看 | 国产成人a亚洲精品 | 色婷婷综合久久久中文字幕 | 久久99蜜桃综合影院免费观看 | 羞羞在线视频 | 亚洲情侣视频 | 久久合久久 | 国产日韩欧美一区二区在线播放 | 狠狠操电影|