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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

音樂播放器單片機匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:127937 發表于 2016-6-24 16:39 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
軟件系統程序:
        ORG 0000H
        AJMP LOOOOP
        ORG 000BH
        AJMP TIM0
        ORG 001BH
        RETI
        ORG 0023H
LOOOOP:        MOV        A,#01H
LOOOP:  MOV P1,#3FH
                MOV P2,A
                RL  A
                MOV R2,#0FFH
DELAY0:        MOV R3,#0FFH
                DJNZ R3,$
                MOV R4,#0FFH
                DJNZ R4,$
                DJNZ R2,DELAY0
        JNB        P3.3,START
                LJMP LOOOP
START:  MOV P1,#06H
        MOV R5,#00H                  ;初始化
        MOV TMOD,#00010001B
        MOV IE,#10101010B
        MOV DPTR,#TAB2               ;裝第一首歌
        MOV 30H,DPL                  ;DPTR低8位送30H暫存
        MOV 31H,DPH                  ;DPTR高8位送31H暫存
START1: INC R4                       ;產生8位隨機數
        MOV A,#01010101B
                MOV B,R4
        MUL AB                       ;8位隨機數由P2口輸出
        MOV P2,A
        MOV DPL,30H
        MOV DPH,31H
        MOV A,#00H
        MOVC A,@A+DPTR               ;查表
        MOV R0,A                     ;音符數據送R0嶄存
        MOV A,#00H
        INC DPTR
        MOVC A,@A+DPTR               ;查表
        MOV R1,A                     ;節拍數據送R1嶄存
        INC DPTR
        MOV 30H,DPL
        MOV 31H,DPH
        CJNE A,#01H,ELECT            ;一首歌沒結束轉ELECT
        INC R5
        LJMP KEYWORK                      ;結束歌曲計數器加1
ELECT: JZ START                     ;所有歌曲結束轉START循環
        MOV A,R0
        JNZ SING
        CLR TR0
         SETB P3.7
  LOOP1: ACALL DELAY                  ;調用延時子程序
         DJNZ R1,LOOP1
         SJMP START1
   SING: MOV DPTR,#TAB1               ;音符表首址送DPTR
         DEC R0                       ;計算音符
         MOV A,R0
         MOV B,#02H
         MUL AB
         MOV R0,A
         MOVC A,@A+DPTR               ;查表
         MOV 21H,A
         INC DPTR
         MOV A,R0
         MOVC A,@A+DPTR
         MOV 20H,A
         MOV TL0,20H
         MOV TH0,21H
         SETB TR0                     ;開T0定時器
  LOOP2: ACALL DELAY
         DJNZ R1,LOOP2
         AJMP START1
   TIM0: MOV TL0,20H
         MOV TH0,21H
         CPL P3.7
         RETI                         ;中斷返回
  DELAY: MOV R2,#70
DELAY1: MOV R3,#252
         DJNZ R3,$
                 JNB P3.3,AGAIN                                  ;重復正播放的曲子
         JNB P3.4,FORM                ;上一曲開關按下轉FORM
         JNB P3.5,NEXT                ;下一曲開關按下轉NEXT
         DJNZ R2,DELAY1
         RET
AGAIN:  JNB  P3.3,$                                           ;等待鍵釋放
         LJMP KEYWORK
   FORM: CLR EA                        ;關中斷
         JNB P3.4,$                    ;等待鍵釋放
         CJNE R5,#00H,ZERO             ;不是第一首歌曲轉ZER0
         MOV R5,#04H                   ;是第一首將最后一首歌曲裝入歌曲計數器
         SJMP KEYWORK
   ZERO: DEC R5                        ;歌曲向上進一首
         SJMP KEYWORK
   NEXT: CLR EA
         JNB P3.5,$
                 CJNE R5,#04H,LAST
                 MOV  R5,#00H
                 LJMP KEYWORK
   LAST: INC R5                                                   ;歌曲下翻一首
         LJMP KEYWORK
KEYWORK: MOV DPTR,#TAB                 ;將歌曲排列表裝入DPTR
         MOV A,R5                      ;將R5的內容送A
         RL A
         SETB EA                       ;開中斷
         JMP @A+DPTR                   ;根據A的內容轉向不同歌曲
    TAB: AJMP MUSIC2
         AJMP MUSIC3
         AJMP MUSIC4
         AJMP MUSIC5
MUSIC2: MOV DPTR,#TAB2                ;第2首歌曲首址送DPTR
                 MOV P1,#06H
   GONG: MOV 30H,DPL
         MOV 31H,DPH
         AJMP START1
MUSIC3: MOV DPTR,#TAB3
                 MOV P1,#5BH
         SJMP GONG
MUSIC4: MOV DPTR,#TAB4
                 MOV P1,#4FH
         SJMP GONG
MUSIC5: MOV DPTR,#TAB5
                 MOV P1,#66H
         SJMP GONG
;********************(音符表)**********************;
TAB1: DW 64021,64185,64331,64400,64524,64632,64732
       DW 64777,64860,64934,64968,65030,65085,65134
       DW 65157,65198,65235,65252,65283,65310,65335

;**********************(因為愛情)*************************;
TAB2:  DW 0910H,0A08H,0C08H,0C08H,0A18H,0010H,0C08H,0A08H
       DW 0908H,0C08H,0C20H,0D08H,0E08H,0F08H,0F08H,0F08H
       DW 0E08H,0F18H,0E04H,0E08H,0E08H,0C08H,0A08H,0A20H
       DW 0C08H,0A08H,0C08H,0D08H,0D18H,0C08H,0D08H,0C08H
       DW 0C08H,0808H,0820H,0608H,0808H,0A08H,0908H,0608H
       DW 0A08H,0908H,0608H,0A08H,0908H,0608H,0D10H,0C20H
       DW 0001H
;*********************(蘭花草)***********************;
TAB3:  DW 0608H,0A08H,0A08H,0A08H,0A18H,0908H,0808H,0908H
       DW 0808H,0708H,0620H,0D08H,0D08H,0D08H,0D08H,0D18H
       DW 0C08H,0A08H,0C08H,0C08H,0B08H,0A20H,0A08H,0D08H
       DW 0D08H,0C08H,0A18H,0908H,0808H,0908H,0808H,0708H
       DW 0610H,0310H,0308H,0808H,0808H,0708H,0618H,0A08H
       DW 0908H,0808H,0708H,0508H,0620H,0908H,0808H,0708H
       DW 0508H,0640H,0001H
;*********************(我只在乎你)*****************************;
TAB4:  DW 0A08H,0A08H,0A08H,0908H,0A10H,0C08H,0C08H,0C20H
       DW 0D08H,0D08H,0D08H,0C08H,0A10H,0D08H,0C08H,0C20H
       DW 0F08H,0F08H,0F08H,0D08H,1010H,0F08H,0C08H,0C20H
       DW 0D08H,0D08H,0D08H,0F08H,0D08H,0C10H,0A10H,0920H
       DW 0A08H,0A08H,0A08H,0908H,0A10H,0C08H,0C08H,0C20H
       DW 0D08H,0D08H,0D08H,0C08H,0A10H,0C08H,0C08H,0C20H
       DW 0F08H,0F10H,0D08H,1010H,1010H,0F08H,0C08H,0C20H
       DW 1010H,0C10H,0F10H,1010H,1110H,1010H,0F10H,0E10H
       DW 0F10H,0E10H,0D10H,0C10H,0D40H,0020H,0004H,0F08H
       DW 1008H,1110H,1010H,0F10H,0E10H,0F10H,0E10H,0A10H
       DW 0C10H,0D20H,0008H,0D08H,0C08H,0D10H,0F10H,0F20H
       DW 0010H,0F20H,1010H,1110H,0F10H,1010H,0F10H,0D08H
       DW 0D08H,1210H,1110H,1010H,0F08H,1208H,1210H,1110H
       DW 1010H,0F10H,1030H,1110H,1008H,0F08H,0F20H,0F10H
       DW 1010H,1120H,0F10H,1410H,1310H,1108H,1008H,0F10H
       DW 0D30H,0010H,0C10H,0F10H,1110H,1310H,1408H,1108H
       DW 1008H,0F10H,0D10H,0F10H,0F08H,1010H,0F08H,0F40H
       DW 0001H

;*********************(童年)****************************;
TAB5:  DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0D08H,0E08H
       DW 0D08H,0D08H,0D08H,0D08H,0C08H,0F10H,0F08H,0F08H
       DW 0F08H,0D08H,0F08H,0D08H,0C40H,0A08H,0C08H,0C10H
       DW 0C08H,0A08H,0D08H,0D08H,0E08H,0D08H,0D08H,0D08H
       DW 0D08H,0C08H,0F10H,0F08H,0F08H,0F08H,0D08H,0D08H
       DW 0F08H,1040H,1308H,1308H,1310H,1310H,1108H,1008H
       DW 0F08H,0F10H,0D08H,0D08H,0F08H,0D08H,0F08H,1008H
       DW 1008H,1008H,1008H,1008H,0F08H,1108H,1008H,1040H
       DW 1108H,1110H,1108H,1108H,1008H,1010H,0F08H,0F10H
       DW 0F08H,1008H,0F08H,0D08H,0C08H,0C08H,0C10H,0C08H
       DW 0D08H,0C08H,1008H,1108H,0F40H,0001H,0000H
       END
總原理圖及元器件清單
總原理圖

2.元器件清單
AT89C52,晶振,電容,電阻,排阻,按鍵,數碼管,二極管,蜂鳴器,三極管

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品免费视频一区二区 | 365夜爽爽欧美性午夜免费视频 | 久久久久精| 久国久产久精永久网页 | 免费久久精品视频 | 婷婷久久综合 | 黄色网址免费看 | 久草视频在 | 亚洲精品美女 | 毛片免费观看 | 久草视频网站 | 超碰在线97国产 | 一区二区精品在线 | 久久久久国产精品一区 | 成人午夜网站 | 久久毛片 | 久久精品小视频 | 免费观看a级毛片在线播放 黄网站免费入口 | 亚洲国产精品激情在线观看 | 亚洲性人人天天夜夜摸 | 欧美午夜精品 | 一区二区三区四区在线 | 狠狠狠干 | 欧美一级片在线观看 | 成人免费在线观看 | 久久精品97 | 国产一区在线看 | 成年人网站在线观看视频 | 夜夜骑首页 | 亚洲福利网 | 国产精品一区二 | 国产成人精品一区二区三区 | 午夜精品福利视频 | 久久久久99 | 国产日产精品一区二区三区四区 | 五月天国产视频 | 国产欧美性成人精品午夜 | 99热精品在线观看 | h在线 | 欧美精品一区二区三区在线播放 | 超黄视频网站 |