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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3621|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久精品 | 国产精品资源在线 | 中文字幕第一页在线 | 精品国产不卡一区二区三区 | 婷婷久久五月天 | 亚洲成人免费视频在线观看 | 国产精品一区二区久久 | 国产aⅴ | 欧美日韩不卡在线 | 99久久精品免费看国产四区 | 日韩一区二区久久 | 在线色网 | 欧美激情精品久久久久久变态 | 精品国产欧美一区二区三区成人 | 欧美日韩精品一区二区三区视频 | 国产精品一区二 | 午夜日韩 | 久久久久久久99 | 日本不卡一区二区三区在线观看 | 欧美亚洲另类在线 | 国产精品久久久av | 亚洲第一区国产精品 | 亚洲天堂久久 | 365夜爽爽欧美性午夜免费视频 | 国产激情毛片 | 欧美成人一区二区 | 请别相信他免费喜剧电影在线观看 | 亚洲精品电影网在线观看 | 欧美一区二区三区在线播放 | 欧美黑人一级爽快片淫片高清 | 激情的网站 | www.av在线| 亚洲视频在线播放 | 国产精品久久精品 | 欧美11一13sex性hd | 色性av | 欧美三级成人理伦 | 国产小视频在线 | 国产亚洲精品美女久久久久久久久久 | 在线成人免费视频 | 久草青青草 |