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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2772|回復: 0
打印 上一主題 下一主題
收起左側(cè)

“梁祝”樂曲演奏vhdl源程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:704585 發(fā)表于 2020-6-16 10:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. “梁祝”樂曲演奏電路
  2. //信號定義與說明:
  3. //clk_4Hz: 用于控制音長(節(jié)拍)的時鐘頻率;
  4. //clk_6MHz: 用于產(chǎn)生各種音階頻率的基準頻率;
  5. //speaker: 用于激勵揚聲器的輸出信號,本例中為方波信號;
  6. //high, med, low:分別用于顯示高音、中音和低音音符,各驅(qū)動一個數(shù)碼管來顯示。
  7. module song(clk_6MHz,clk_4Hz,speaker,high,med,low);
  8. input clk_6MHz, clk_4Hz;
  9. output speaker;
  10. output[3:0] high,med,low;
  11. reg[3:0] high,med,low;
  12. reg[13:0] divider,origin;
  13. reg[7:0] counter;
  14. reg speaker;
  15. wire carry;
  16. assign carry=(divider==16383);
  17. always @(posedge clk_6MHz)
  18. begin if(carry) divider=origin;
  19. else divider=divider+1;
  20. end
  21. always @(posedge carry)
  22. begin
  23. speaker=~speaker; //2 分頻產(chǎn)生方波信號
  24. end
  25. always @(posedge clk_4Hz)
  26. begin
  27. case({high,med,low}) //分頻比預置
  28. 'b000000000011: origin=7281;
  29. 'b000000000101: origin=8730;
  30. 'b000000000110: origin=9565;
  31. 'b000000000111: origin=10310;
  32. 'b000000010000: origin=10647;
  33. 'b000000100000: origin=11272;
  34. 'b000000110000: origin=11831;
  35. 'b000001010000: origin=12556;
  36. 'b000001100000: origin=12974;
  37. 'b000100000000: origin=13516;
  38. 'b000000000000: origin=16383;
  39. endcase
  40. end
  41. always @(posedge clk_4Hz)
  42. begin
  43. if(counter==63) counter=0; //計時,以實現(xiàn)循環(huán)演奏
  44. else counter=counter+1;
  45. case(counter) //記譜
  46. 0: {high,med,low}='b000000000011; //低音“3”
  47. 1: {high,med,low}='b000000000011; //持續(xù)4 個時鐘節(jié)拍
  48. 2: {high,med,low}='b000000000011;
  49. 3: {high,med,low}='b000000000011;
  50. 4: {high,med,low}='b000000000101; //低音“5”
  51. 5: {high,med,low}='b000000000101; //發(fā)3 個時鐘節(jié)拍
  52. 6: {high,med,low}='b000000000101;
  53. 7: {high,med,low}='b000000000110; //低音“6”
  54. 8: {high,med,low}='b000000010000; //中音“1”
  55. 9: {high,med,low}='b000000010000; //發(fā)3 個時鐘節(jié)拍
  56. 10: {high,med,low}='b000000010000;
  57. 11: {high,med,low}='b000000100000; //中音“2”
  58. 12: {high,med,low}='b000000000110; //低音“6”
  59. 13: {high,med,low}='b000000010000;
  60. 14: {high,med,low}='b000000000101;
  61. 15: {high,med,low}='b000000000101;
  62. 16: {high,med,low}='b000001010000; //中音“5”
  63. 17: {high,med,low}='b000001010000; //發(fā)3 個時鐘節(jié)拍
  64. 18: {high,med,low}='b000001010000;
  65. 19: {high,med,low}='b000100000000; //高音“1”
  66. 20: {high,med,low}='b000001100000;
  67. 21: {high,med,low}='b000001010000;
  68. 22: {high,med,low}='b000000110000;
  69. 23: {high,med,low}='b000001010000;
  70. 24: {high,med,low}='b000000100000; //中音“2”
  71. 25: {high,med,low}='b000000100000; //持續(xù)11 個時鐘節(jié)拍
  72. 26: {high,med,low}='b000000100000;
  73. 27: {high,med,low}='b000000100000;
  74. 28: {high,med,low}='b000000100000;
  75. 29: {high,med,low}='b000000100000;
  76. 30: {high,med,low}='b000000100000;
  77. 31: {high,med,low}='b000000100000;
  78. 32: {high,med,low}='b000000100000;
  79. 33: {high,med,low}='b000000100000;
  80. 34: {high,med,low}='b000000100000;
  81. 35: {high,med,low}='b000000110000; //中音“3”
  82. 36: {high,med,low}='b000000000111; //低音“7”
  83. 37: {high,med,low}='b000000000111;
  84. 38: {high,med,low}='b000000000110; //低音“6”
  85. 39: {high,med,low}='b000000000110;
  86. 40: {high,med,low}='b000000000101; //低音“5”
  87. 41: {high,med,low}='b000000000101;
  88. 42: {high,med,low}='b000000000101;
  89. 43: {high,med,low}='b000000000110; //低音“6”
  90. 44: {high,med,low}='b000000010000; //中音“1”
  91. 45: {high,med,low}='b000000010000;
  92. 46: {high,med,low}='b000000100000; //中音“2”
  93. 47: {high,med,low}='b000000100000;
  94. 48: {high,med,low}='b000000000011; //低音“3”
  95. 49: {high,med,low}='b000000000011;
  96. 50: {high,med,low}='b000000010000; //中音“1”
  97. 51: {high,med,low}='b000000010000;
  98. 52: {high,med,low}='b000000000110;
  99. 53: {high,med,low}='b000000000101; //低音“5”
  100. 54: {high,med,low}='b000000000110;
  101. 55: {high,med,low}='b000000010000; //中音“1”
  102. 56: {high,med,low}='b000000000101; //低音“5”
  103. 57: {high,med,low}='b000000000101; //持續(xù)8 個時鐘節(jié)拍
  104. 58: {high,med,low}='b000000000101;
  105. 59: {high,med,low}='b000000000101;
  106. 60: {high,med,low}='b000000000101;
  107. 61: {high,med,low}='b000000000101;
  108. 62: {high,med,low}='b000000000101;
  109. 63: {high,med,low}='b000000000101;
  110. endcase
  111. end
  112. endmodule
復制代碼


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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费在线视频 | 亚洲午夜18毛片在线看 | 午夜黄色小视频 | 亚洲一区中文 | 成人福利视频在线观看 | 久久99精品久久久久久国产越南 | 激情五月婷婷综合 | 亚洲高清视频在线观看 | 黄频在线观看 | 久久精品视频网 | 国产黄色免费网站 | 国产一级片免费 | 久久青草视频 | 国产亚洲视频在线观看 | 亚洲视频精品 | 欧美日韩在线播放 | 亚洲香蕉在线 | 久久视频免费观看 | 激情福利视频 | 国产精选av | 日韩精品观看 | 国产精品二区一区二区aⅴ污介绍 | 黄色免费一级片 | 九色视频丨porny丨丝袜 | 国产精品美女视频 | 国产91清纯白嫩初高中在线观看 | 国产高清视频在线播放 | 久久精品欧美一区 | 成人在线a | 日本免费黄色网址 | 精品日韩一区二区三区 | 亚洲永久免费视频 | 国产精品1区 | 亚洲成人免费网站 | 国产精品日韩精品 | 亚洲国产精品久久久久久久 | 亚洲成人av | 黄色在线观看网址 | 成年在线观看 | 亚洲视频一区二区三区 | 成人h视频在线观看 |