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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1861|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)并行口簡(jiǎn)易電子琴程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:269712 發(fā)表于 2018-1-1 13:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本程序針對(duì)51單片機(jī)來(lái)設(shè)計(jì)電子琴
簡(jiǎn)單io口控制鍵盤(pán)
無(wú)源蜂鳴器可發(fā)出30幾種頻率的音頻
新手一看就懂

單片機(jī)源程序如下:
  1. #define uchar unsigned char //定義一下方便使用
  2. #define uint unsigned int
  3. #define ulong unsigned long  
  4. #include <reg52.h> //包括一個(gè)52 標(biāo)準(zhǔn)內(nèi)核的頭文件
  5. char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的
  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 的值及輸出頻率對(duì)照表
  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. };  //定時(shí)中斷0,用于產(chǎn)生唱歌頻率
  57. timer0() interrupt 1  
  58. {  
  59. TL0=tl0_f;
  60. TH0=th0_f; //調(diào)入預(yù)定時(shí)值
  61. BEEP=~BEEP; //取反音樂(lè)輸出 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 八個(gè)音符在頻率表中的位置
  67. TMOD = 0x01; //使用定時(shí)器 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]; //置一個(gè)音符的值
  76. th0_f=freq[jie8[0]*2+1];  
  77. TR0 = 1;
  78. K9=1;
  79. for(n=0;n<10000;n++); //延時(shí)
  80. }  
  81. if(!K2)  
  82. {  
  83. tl0_f=freq[jie8[1]*2]; //置一個(gè)音符的值
  84. th0_f=freq[jie8[1]*2+1];  
  85. TR0 = 1;
  86. K9=1;   
  87. for(n=0;n<10000;n++); //延時(shí)
  88.   
  89. }  
  90. if(!K3)  
  91. {  
  92. tl0_f=freq[jie8[2]*2]; //置一個(gè)音符的值
  93. th0_f=freq[jie8[2]*2+1];  
  94. TR0 = 1;  
  95. K9=1;  
  96. for(n=0;n<10000;n++); //延時(shí)
  97. }  
  98. if(!K4)  
  99. {  
  100. tl0_f=freq[jie8[3]*2]; //置一個(gè)音符的值
  101. th0_f=freq[jie8[3]*2+1];  
  102. TR0 = 1;  
  103. K9=1;  
  104. for(n=0;n<10000;n++); //延時(shí)
  105. }
  106. if(!K5)
  107. {
  108. tl0_f=freq[jie8[4]*2]; //置一個(gè)音符的值
  109. th0_f=freq[jie8[4]*2+1];  
  110. TR0 = 1;  
  111. K9=1;  
  112. for(n=0;n<10000;n++); //延時(shí)
  113. }
  114. if(!K6)
  115. {
  116. tl0_f=freq[jie8[5]*2]; //置一個(gè)音符的值
  117. th0_f=freq[jie8[5]*2+1];  
  118. TR0 = 1;  
  119. K9=1;  
  120. for(n=0;n<10000;n++); //延時(shí)
  121. }
  122. if(!K7)
  123. {tl0_f=freq[jie8[6]*2]; //置一個(gè)音符的值
  124. th0_f=freq[jie8[6]*2+1];  
  125. TR0 = 1;  
  126. K9=1;  
  127. for(n=0;n<10000;n++); //延時(shí)
  128. }
  129. if(!K8)
  130. {
  131. tl0_f=freq[jie8[7]*2]; //置一個(gè)音符的值
  132.   
  133. th0_f=freq[jie8[7]*2+1];  
  134. TR0 = 1;  
  135. K9=1;  
  136. for(n=0;n<10000;n++); //延時(shí)
  137. }
  138. TR0 = 0;  
  139. K9=0;
  140. }  
  141. }


復(fù)制代碼

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


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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情综合 | 国产成人在线一区 | 色婷婷亚洲国产女人的天堂 | 成人一区二区视频 | 欧美黄a | 国产日韩精品视频 | 91中文字幕在线 | 中文字幕 国产 | 美女在线视频一区二区三区 | 亚洲精品久久久 | 天天综合网天天综合 | 国产999精品久久久久久 | 爱爱免费视频 | 美女爽到呻吟久久久久 | 亚洲逼院| 亚洲视频一区在线观看 | 五月免费视频 | 国产精品欧美精品 | 久久免费观看视频 | 黄片毛片免费看 | 久久免费福利 | 久久综合九九 | 欧美成年人视频在线观看 | 欧美日韩在线综合 | 日韩精品一区二区三区中文在线 | 精品av | 不卡av电影在线播放 | 水蜜桃亚洲一二三四在线 | 国产精品久久久久久久粉嫩 | 国际精品鲁一鲁一区二区小说 | 国产在线成人 | ririsao久久精品一区 | 亚洲高清在线 | 综合在线视频 | 国产99久久精品一区二区永久免费 | 午夜免费看 | 91秦先生艺校小琴 | 国产精品自产av一区二区三区 | 粉嫩国产精品一区二区在线观看 | 国产在线麻豆精品入口 | 中文欧美日韩 |