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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

《小星星》單片機匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:433984 發表于 2018-11-27 10:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. 只有音樂發聲匯編程序,沒有加入LED燈,供參考。數據代碼已改為小星星發聲
  2. ;**********************************************
  3. ORG 0000H
  4. SJMP MAIN
  5. ORG 0BH
  6. AJMP TIME0

  7. ;*************主程序************************

  8. MAIN:        MOV SP,#60
  9. MOV TMOD,#01H        ;T0定時工作方式
  10. MOV IE,#82H        ;CPU 中斷允許,T0中斷允許

  11. START0:        MOV 30H,#00H        ;TABLE 相對地址指針
  12. NEXT:        MOV A,30H
  13.         MOV DPTR,#TABLE        ;到TABLE處取 簡譜碼  節拍 碼
  14. MOVC A,@A+DPTR
  15. MOV R2,A        ;取到的簡譜碼  節拍碼 暫存于R2中

  16. JZ ENDF        ;取到 00 結束

  17. ANL A,#0FH        ;否,取低四位 節拍 碼
  18. MOV R5,A        ;將節拍碼存于R5中
  19. MOV A,R2        ;簡譜碼  節拍 碼 給A
  20. SWAP A        ;高4位 與 低4位 交換
  21. ANL A,#0FH        ;取簡譜 碼
  22. JNZ SING        ;取到的簡譜 碼不是0,則去發聲
  23. CLR TR0        ;取到0 則不發聲
  24. SJMP DLY1        ;節拍延時子程序( 隨節拍碼變化,延時時間不同)

  25. ;---------------發聲-----------------------
  26. SING:        DEC A        ;取到的簡譜碼減1
  27. ;(簡譜碼計數值16位數據存儲首地址從TABLE1 《相對地址》0處開始放起,所以要減1)
  28. MOV 22H,A        ;存入(22H)中
  29. RL A        ;乘2 因為取的數據占兩字節(16位)
  30. ;所以指針增加量要乘2

  31. MOV DPTR,#TABLE1
  32. ;...........簡譜碼轉換為相應定時器16位計數值.............
  33. MOVC A,@A+DPTR        ;到TABLE1取相應的高字節計數值
  34. MOV TH0,A        ;高字節計數值存入TH0和(21H)中
  35. MOV 21H,A
  36. MOV A,22H        ;減1的簡譜碼給A
  37. RL A        ;乘2 因為取的數據占兩字節(16位)
  38. ;所以指針增加量要乘2
  39. INC A        ;A 增加 取下一個字節計數值

  40. ;...........簡譜碼轉換為相應定時器16位計數值.............
  41. MOVC A,@A+DPTR        ;到TABLE1取相應的低字節計數值
  42. MOV TL0,A        ;低字節計數值存入TL0和(20H)中
  43. MOV 20H,A
  44. SETB TR0        ;啟動T0定時器讓喇叭發出不同頻率聲音

  45. ;---------------節拍延時-------------------
  46. DLY1:        ACALL DELAY        ;基本單位時間為1/4拍 187ms
  47. INC 30H        ;取下一個簡譜碼  節拍 碼
  48. SJMP NEXT

  49. ;---------------歌放完結束---------------
  50. ENDF:        CLR TR0        ;關閉T0定時器
  51. AJMP START0        ;反復循環


  52. ;****T0中斷子程序(用來驅動喇叭發出不同頻率聲音)**************
  53. TIME0:        PUSH ACC
  54. PUSH PSW
  55. MOV TL0,20H        ;重裝計數值
  56. MOV TH0,21H
  57. CPL P3.7        ;驅動發聲
  58. POP PSW
  59. POP ACC
  60. RETI


  61. ;******************節拍延時187ms****************************
  62. DELAY: MOV R7,#187        ;187ms延時子程序
  63. DLY2:        MOV R4,#02
  64. DLY3:        MOV R3,#248
  65. DJNZ R3,$
  66. DJNZ R4,DLY3
  67. DJNZ R7,DLY2
  68. DJNZ R5,DELAY
  69. RET


  70. ;*******音符T值表(用來讓定時器發出不同的頻率)**DW 表示一個 計數值 占兩個字節存儲單元***************

  71. TABLE1:        DW 64260,64400,64524,64580,64684 ;低音SO 低音LA 低音SI  /中音DO 中音RE
  72. DW 64777,64820,64898,64968,65030 ;中音MI 中音FA 中音SO 中音LA 中音SI
  73. DW 65058,65110,65157,65178,65217 ;高音DO 高音RE 高音MI 高音FA 高音SO


  74. ;*********簡譜碼  節拍碼(高4位簡譜碼 ,低4位節拍碼)*************

  75. TABLE:        DB 44H,44H,84H,84H          ; 1 1 5 5        
  76. DB 094H,094H,88h                           ; 6 6 5 -        

  77. DB 74H,74H,63H,63H                ;  4 4 3 3
  78. DB 52H,52H,48h                               ;  2 2 1-

  79. DB 84H,84H,74H,74H                        ; 5 5 4 4
  80. DB 64H,64H,58h                         ; 3 3 2-

  81. DB 84H,84H,74H,74H                        ; 5 5 4 4
  82. DB 64H,64H,58h                                ; 3 3 2-

  83. DB 44H,44H,84H,84H                 ; 1 1 5 5         
  84. DB 094H,094H,88h                     ; 6 6 5 -   

  85. DB 74H,74H,63H,63H                 ;  4 4 3 3
  86. DB 52H,52H,48h                         ;  2 2 1-

  87. END
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品久久久久中文字幕欢迎你 | 男女在线免费观看 | 午夜国产精品视频 | 国产片侵犯亲女视频播放 | 午夜影院在线观看 | 99久久久无码国产精品 | 日本亚洲一区 | 欧美国产日韩在线观看 | 欧美日韩高清一区 | 国产第1页 | 在线国产一区二区三区 | 亚洲精品在线免费 | 国产精品免费观看 | 国产资源在线观看 | 欧美久久久久久久 | 国产精品久久 | 亚洲 欧美 另类 综合 偷拍 | 欧美韩一区二区三区 | 久久精品国产一区二区电影 | 国产1区2区3区 | 久久久久久久久久久福利观看 | 国产一区二区三区四区区 | 欧美精品一区二区三区在线播放 | www.狠狠干| 日韩在线中文字幕 | 亚洲视频精品 | 黄色在线免费看 | 成人在线视频免费看 | 亚洲午夜精品 | 日本亚洲欧美 | 午夜影院在线视频 | 久精品久久 | 久久久精品网站 | 三级黄视频在线观看 | 精品久久久一区 | 成人精品鲁一区一区二区 | 亚洲成人精品在线 | www.伊人.com| 国产在线观看 | 一区二区三区高清在线观看 | 在线观看视频亚洲 |