新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機電子琴電路圖及源程序代碼

        單片機電子琴電路圖及源程序代碼

        作者: 時間:2016-11-25 來源:網絡 收藏

        ;按鍵查詢程序
        KEY: ;判斷是哪個音的按鍵按下
        JNB P1.0,M0 ;分別是DO,RE,ME....
        JNB P1.1,M1
        JNB P1.2,M2
        JNB P1.3,M3
        JNB P1.4,M4
        JNB P1.5,M5
        JNB P1.6,M6
        LJMP NEXT ;沒有按鍵按下則跳轉到循環查詢

        本文引用地址:http://www.104case.com/article/201611/321258.htm

        ;按鍵軟件防抖動程序
        M0:
        LCALL DELAY1 ;延時一段時間判斷按鍵是否繼續按下,是則跳轉到確定偏移量程序
        JNB P1.0,M00
        SJMP KEY
        M1:
        LCALL DELAY1
        JNB P1.1,M11
        SJMP KEY
        M2:
        LCALL DELAY1
        JNB P1.2,M22
        SJMP KEY
        M3:
        LCALL DELAY1
        JNB P1.3,M33
        SJMP KEY
        M4:
        LCALL DELAY1
        JNB P1.4,M44
        SJMP KEY
        M5:
        LCALL DELAY1
        JNB P1.5,M55
        SJMP KEY
        M6:
        LCALL DELAY1
        JNB P1.6,M66
        SJMP KEY


        ;確定按鍵的偏移地址程序
        M00:
        MOV A,#00H
        LJMP PLAY
        M11:
        MOV A,#01H
        LJMP PLAY
        M22:
        MOV A,#02H
        LJMP PLAY
        M33:
        MOV A,#03H
        LJMP PLAY
        M44:
        MOV A,#04H
        LJMP PLAY
        M55:
        MOV A,#05H
        LJMP PLAY
        M66:
        MOV A,#06H
        LJMP PLAY

        ;按鍵音彈奏程序


        ;音符對應的定時器初值表:
        TABLE1:
        DW 64580,64684,64777,64820
        DW 64898,64968,65030,64260
        DW 64400,64524,65058,63835,64021

        LOWTABLE:
        DW 63628,63835,64021,64103,64260,64400,64524
        MIDDLETABLE:
        DW 64580 ,64684,64777,64820,64898,64968,65030
        HIGHTABLE:
        DW 65058,65110,65157,65178,65217,65252,65283
        SEG7:
        DB 06H, 5BH, 4FH,66H, 6DH, 7DH,07H

        ;音符節拍表:
        TABLE:
        DB 02H,82H
        DB 16H,32H,54H,02H,52H
        DB 0A6H,32H,54H,02H,52H
        DB 64H,74H,0B6H,64H
        DB 52H,5CH,32H,22H
        DB 16H,12H,14H,32H,22H
        DB 16H,12H,14H,22H,32H
        DB 26H,12H,94H,22H,32H
        DB 2CH
        DB 32H,52H
        DB 36H,22H,14H,54H
        DB 0ACH,92H,0A2H
        DB 96H,0A2H,96H,82H
        DB 3CH,54H
        DB 36H,22H,14H,54H
        DB 0ACH,92H,0A2H
        DB 16H,12H,14H,22H,32H
        DB 2CH,02H,82H
        DB 16H,32H,56H,12H
        DB 0A6H,32H,56H,52H
        DB 66H,72H,0B6H,62H
        DB 62H,52H,58H,32H,22H
        DB 16H,12H,14H,32H,22H
        DB 16H,12H,14H,22H,32H
        DB 26H,92H,0A4H,12H,22H
        DB 1CH
        DB 00
        TABLE2:
        DB 88h,14h,24h,36H,42H,34H,14H,28H,14H,94H
        DB 1fH,88H,14H,24H,34H,32H,42H,54H,14H
        DB 46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74H
        DB 76H,62H,68H,54H,52H,62H,74H,62H,52H,3fH
        DB 46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2H
        DB 92H,84H,94H,1fH,0b8H,68H,46H,52H,68H
        DB 74H,72H,72H,74H,62H,52H,3fH,0b8H,68H
        DB 46H,52H,68H,64H,62H,62H,64H,42H,32H,2fH
        DB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12H
        DB 94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fH
        DB 00
        TABLE3:
        DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H
        DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H
        DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cH
        DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H
        DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H
        DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52H
        DB 62H,64H,62H,64H,0b2H,62H,52H,54H,62H,54H,32H,22H
        DB 12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52H
        DB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54H
        DB 62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32H
        DB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fH
        DB 00


        END


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 湘潭县| 湖南省| 城固县| 霍林郭勒市| 东阿县| 阿巴嘎旗| 巫溪县| 湟中县| 西平县| 旬阳县| 鄯善县| 华池县| 汉阴县| 伊宁市| 康马县| 隆德县| 永靖县| 米易县| 登封市| 平和县| 乌兰浩特市| 清水河县| 微博| 呈贡县| 密山市| 德惠市| 巴中市| 东海县| 噶尔县| 政和县| 彭山县| 滨海县| 灵山县| 北京市| 泗洪县| 齐河县| 桑植县| 岗巴县| 白河县| 武宣县| 加查县|