//------------------------------------------ //51hei-5開發板測試程序.ASM // <<音樂播放器>> //硬件說明:12M晶振/MCU:89C51 //編寫人:李春起 //編定日期:2009.11.24 //修改日志:2010.01.05 // 2010.01.11 加暫停功能 // 2010.01.16 加第三首歌曲 // 2010.01.17 加第四首歌曲 // 2010.01.18 加第五首歌曲 // 2010.02.19 去除休止時雜聲 // 2010.03.02 定時器T1中斷顯示 //------------------------------------------ //已用寄存器: //R0 R1 R2 R4 R5 R6 R7 //------------------------------------------- YY EQU P3.1 ;音樂輸出口 ORG 0000H LJMP MAIN ;跳到主函數 ORG 000BH ;定時器入口 LJMP T00 ;跳到定時器中斷服務子程序 ORG 001BH LJMP T11 ORG 0020H ;程序存放起始 MAIN: MOV TMOD,#11H MOV IP,#08H // MOV IE,#08AH MOV TH0,R0 MOV TL0,R1 MOV TH1,#15H MOV TL1,#0A0H SETB ET0 CLR TR0 CLR TR1 SETB ET1 SETB EA SETB YY MOV R7,#00H ;歌曲選擇 MOV 30H,#00H MOV 31H,#24 MOV 32H,#00H ;顯示掃描數 MOV 40H,#40 MOV R3,#00H //========笑臉==================== MAKK: ACALL DELAY1 MAIN0: MOV A,R7 CJNE A,#00H,LMA1 CLR TR0 XIAN00: MOV A,30H MOV DPTR,#TAB10 MOVC A,@A+DPTR MOV P0,A MOV A,30H MOV DPTR,#TAB11 MOVC A,@A+DPTR MOV P1,A MOV A,30H MOV DPTR,#TAB12 MOVC A,@A+DPTR MOV P2,A MA0D:MOV 54H,#20 JB P3.2,MA0D1 ACALL WDELAY INC R7 CJNE R7,#04H,LMA0 MOV R7,#00H LJMP LMA0 MA0D1:DJNZ 54H,MA0D1 MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H DJNZ 31H,XIAN00 MOV 31H,#24 INC 30H MOV A,30H CJNE A,#13,XIAN01 DJNZ 41H,XIA01 MOV 41H,#20 LJMP XIAN01 XIA01:MOV 30H,#0 LJMP XIAN00 XIAN01: CJNE A,#25, ENDD0 MOV 41H,#40 MOV 30H,#0 ENDD0:LJMP XIAN00 LMA1:LJMP MAIN1 LMA0:LJMP MAIN0 //========第一首=========================== MAIN1:SETB TR1 MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H MOV 30H,#00H //奏第一首循環 MOV A,R7 CJNE A,#01H,MAIN2;下一首 LOOP:SETB TR0 MOV A,30H MOV DPTR,#TAB1 MOVC A,@A+DPTR ;取定時器高八位數據 JZ RERT LOO1: MOV R0,A MOV A,30H MOV DPTR,#TAB2 MOVC A,@A+DPTR ;取定時器低八位數據 MOV R1,A MOV TH0,R0 MOV TL0,R1 ANL A,R0 CJNE A,#0FFH,NCA ;遇0FFH歌曲結束 LJMP ENDD NCA: MOV A,30H MOV DPTR,#TAB3 MOVC A,@A+DPTR ;取節拍時值 MOV R2,A DELA:ACALL DELAY100 DEL1:DJNZ R2,DELA INC 30H LJMP LOOP RERT:CLR TR0 ;休止 SETB YY LJMP LOO1 ENDD:CLR TR0 ACALL DELAY1000 LJMP MAIN1 ;奏完返回 //========第二首=========================== MAIN2: MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H MOV 30H,#00H //奏第二首循環 MOV A,R7 CJNE A,#02H,LMAIN0 LOOOP:SETB TR0 MOV A,30H MOV DPTR,#TAB4 MOVC A,@A+DPTR ;取定時器高八位數據 JZ RERT1 LOOO1: MOV R0,A MOV A,30H MOV DPTR,#TAB5 MOVC A,@A+DPTR ;取定時器低八位數據 MOV R1,A MOV TH0,R0 MOV TL0,R1 ANL A,R0 CJNE A,#0FFH,NCA1 ;遇0FFH歌曲結束 LJMP ENDD1 NCA1: MOV A,30H MOV DPTR,#TAB6 MOVC A,@A+DPTR ;取節拍時值 MOV R2,A DELA1:ACALL DELAY100 DEL11:DJNZ R2,DELA1 INC 30H LJMP LOOOP RERT1:CLR TR0 ;休止 SETB YY LJMP LOOO1 ENDD1:CLR TR0 ACALL DELAY1000 LJMP MAIN1 ;奏完返回 LMAIN0:LJMP MAIN4 //=======第三首================================== MAIN4:MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H MOV 30H,#00H //奏第三首循環 MOV A,R7 CJNE A,#03H,LMAIN4 LOO1P:SETB TR0 MOV A,30H MOV DPTR,#TAB13 MOVC A,@A+DPTR ;取定時器高八位數據 JZ RERT2 LOO11: MOV R0,A MOV A,30H MOV DPTR,#TAB14 MOVC A,@A+DPTR ;取定時器低八位數據 MOV R1,A MOV TH0,R0 MOV TL0,R1 ANL A,R0 CJNE A,#0FFH,NCA4 ;遇0FFH歌曲結束 LJMP ENDD4 NCA4: MOV A,30H MOV DPTR,#TAB15 MOVC A,@A+DPTR ;取節拍時值 MOV R2,A DELA31:ACALL DELAY100 DEL31:DJNZ R2,DELA31 INC 30H LJMP LOO1P RERT2:CLR TR0 ;休止 SETB YY LJMP LOO11 ENDD4:CLR TR0 ACALL DELAY1000 LJMP MAIN4 ;奏完返回 LMAIN4:LJMP MAIN5 //=======第四首================================== MAIN5:MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H MOV 30H,#00H //奏第四首循環 MOV A,R7 CJNE A,#04H,LMAIN5 LOO2P:SETB TR0 MOV A,30H MOV DPTR,#TAB16 MOVC A,@A+DPTR ;取定時器高八位數據 JZ RERT3 LOO21: MOV R0,A MOV A,30H MOV DPTR,#TAB17 MOVC A,@A+DPTR ;取定時器低八位數據 MOV R1,A MOV TH0,R0 MOV TL0,R1 ANL A,R0 CJNE A,#0FFH,NCA5 ;遇0FFH歌曲結束 LJMP ENDD5 NCA5: MOV A,30H MOV DPTR,#TAB18 MOVC A,@A+DPTR ;取節拍時值 MOV R2,A DELA41:ACALL DELAY100 DEL41:DJNZ R2,DELA41 INC 30H LJMP LOO2P RERT3:CLR TR0 ;休止 SETB YY LJMP LOO21 ENDD5:CLR TR0 ACALL DELAY1000 LJMP MAIN5 ;奏完返回 LMAIN5:LJMP MAIN6 //=======第五首================================== MAIN6:MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H MOV 30H,#00H //奏第五首循環 MOV A,R7 CJNE A,#05H,LMAIN6 LOO4P:SETB TR0 MOV A,30H MOV DPTR,#TAB19 MOVC A,@A+DPTR ;取定時器高八位數據 JZ RERT4 LOO31: MOV R0,A MOV A,30H MOV DPTR,#TAB20 MOVC A,@A+DPTR ;取定時器低八位數據 MOV R1,A MOV TH0,R0 MOV TL0,R1 ANL A,R0 CJNE A,#0FFH,NCA6 ;遇0FFH歌曲結束 LJMP ENDD6 NCA6: MOV A,30H MOV DPTR,#TAB21 MOVC A,@A+DPTR ;取節拍時值 MOV R2,A DELA51:ACALL DELAY100 DEL51:DJNZ R2,DELA51 INC 30H LJMP LOO4P RERT4:CLR TR0 ;休止 SETB YY LJMP LOO31 ENDD6:CLR TR0 ACALL DELAY1000 LJMP MAIN6 ;奏完返回 LMAIN6:CLR TR1 LJMP MAIN3 //======流動漢字================================= MAIN3: MOV A,R7 CJNE A,#06H,LMA3 SJMP XIAN LMA3:LJMP MAKK XIAN:CLR TR0 MOV A,30H MOV DPTR,#TAB7 MOVC A,@A+DPTR MOV P0,A MOV A,30H MOV DPTR,#TAB8 MOVC A,@A+DPTR MOV P1,A MOV A,30H MOV DPTR,#TAB9 MOVC A,@A+DPTR MOV P2,A //-------------------------------------- MA3D://掃描按鍵延時 MOV 53H,#5 MA3D2: JB P3.2,LMA03 ;按鍵 LCALL WDELAY INC R7 CJNE R7,#04H,MA32 MOV R7,#00H MA32:LJMP MAKK LMA03:JB P3.3,MA3D1 LCALL WDELAY LCALL SIMAIN1 ;跳到顯示死循環子程序 MA3D1:DJNZ 53H,MA3D2 //--------------------------------------- MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H DJNZ 31H,XIAN MOV 31H,#24 INC 30H MOV A,30H CJNE A,#13,XIAN1 DJNZ 40H,XIA1 MOV 40H,#100 LJMP XIAN1 XIA1:MOV 30H,#0 LJMP MAIN3 XIAN1: CJNE A,#25, XIAN2 MOV 36H,#13 DJNZ 40H,XIA2 MOV 40H,#100 LJMP XIAN2 XIA2:MOV 30H,#13 LJMP MAIN3 XIAN2: CJNE A,#37,XIAN3 MOV 36H,#25 DJNZ 40H,XIA3 MOV 40H,#100 LJMP XIAN3 XIA3:MOV 30H,#25 LJMP MAIN3 XIAN3: CJNE A,#49,XIAN4 MOV 36H,#37 DJNZ 40H,XIA4 MOV 40H,#100 LJMP XIAN4 XIA4:MOV 30H,#37 LJMP MAIN3 XIAN4: CJNE A,#61,XIAN5 MOV 36H,#49 DJNZ 40H,XIA5 MOV 40H,#100 LJMP XIAN5 XIA5:MOV 30H,#49 LJMP MAIN3 XIAN5: CJNE A,#73,XIAN6 MOV 36H,#61 DJNZ 40H,XIA6 MOV 40H,#100 LJMP XIAN6 XIA6:MOV 30H,#61 LJMP MAIN3 XIAN6: CJNE A,#85,XIAN7 MOV 36H,#73 DJNZ 40H,XIA7 MOV 40H,#100 LJMP XIAN7 XIA7:MOV 30H,#73 LJMP MAIN3 XIAN7: CJNE A,#97,XIAN8 MOV 36H,#85 DJNZ 40H,XIA8 MOV 40H,#100 LJMP XIAN8 XIA8:MOV 30H,#85 LJMP MAIN3 XIAN8: CJNE A,#109,XIAN9 MOV 36H,#97 DJNZ 40H,XIA9 MOV 40H,#100 LJMP XIAN9 XIA9:MOV 30H,#97 LJMP MAIN3 XIAN9: CJNE A,#121,XIAN10 MOV 36H,#109 DJNZ 40H,XIA10 MOV 40H,#100 LJMP XIAN10 XIA10:MOV 30H,#109 LJMP MAIN3 XIAN10: CJNE A,#133,XIAN11 MOV 36H,#121 DJNZ 40H,XIA11 MOV 40H,#100 LJMP XIAN11 XIA11:MOV 30H,#121 LJMP MAIN3 XIAN11: CJNE A,#145,END30 /* MOV 36H,#133 DJNZ 40H,XIA12 MOV 40H,#100 LJMP XIAN12 XIA12:MOV 30H,#133 LJMP MAIN3 XIAN12: CJNE A,#157,XIAN13 MOV 36H,#145 DJNZ 40H,XIA13 MOV 40H,#100 LJMP XIAN13 XIA13:MOV 30H,#145 LJMP MAIN3 XIAN13: CJNE A,#169,XIAN14 MOV 36H,#157 DJNZ 40H,XIA14 MOV 40H,#100 LJMP XIAN14 XIA14:MOV 30H,#157 LJMP MAIN3 XIAN14: CJNE A,#181,END30 */ MOV 36H,#0 MOV 30H,#0 END30:LJMP MAIN3 //=======顯示死循環子程序======================== SIMAIN1:MOV 30H,36H MOV 37H,#12 SIMAIN2:MOV A,30H MOV DPTR,#TAB7 MOVC A,@A+DPTR MOV P0,A MOV A,30H MOV DPTR,#TAB8 MOVC A,@A+DPTR MOV P1,A MOV A,30H MOV DPTR,#TAB9 MOVC A,@A+DPTR MOV P2,A //----------------- YANSI:MOV 38H,#200 YANS1:JB P3.3,YANS2 LCALL WDELAY LJMP SIMRET YANS2:DJNZ 38H,YANS1 //----------------- INC 30H MOV P0,#0FFH MOV P1,#0FH MOV P2,#00H DJNZ 37H,SIMAIN2 LJMP SIMAIN1 SIMRET:RET //=====定時器中斷服務子程序====================== T00:MOV TH0,R0 MOV TL0,R1 CPL YY RETI //==========定時器T1溢出中斷服務子程序============ T11:MOV TH1,#15H MOV TL1,#0A0H CJNE R3,#1,NET10 MOV P2,#06H MOV P0,#55H NET10:CJNE R3,#10,NET11 MOV P2,#09H MOV P0,#0AAH NET11:CJNE R3,#20,NET12 MOV R3,#0 NET12: INC R3 // INC 30H //下一顯示值 RETI //======延時子程序================================ //-------含按鍵------------ DELAY1000:MOV R4,#10 DELAY100: MOV R5,#6 DELAY1: MOV R6,#10 DELAY2: JB P3.2,DJNN ACALL WDELAY INC R7 CJNE R7,#08h,LJ MOV R7,#00H LJ: LJMP MAIN0 DJNN: JB P3.3,DJNN1 ACALL WDELAY LCALL YINYEXI DJNN1: DJNZ R6,DELAY2 DJNZ R5,DELAY1 DJNZ R4,DELAY100 RET //-------500MS-------------- WDELAY:MOV 50H,#5 WDELA1:MOV 51H,#250 WDELA2:MOV 52H,#100 WDELA3:NOP NOP DJNZ 52H,WDELA3 DJNZ 51H,WDELA2 DJNZ 50H,WDELA1 RET //======音樂暫停等待============================== YINYEXI: CLR TR0 MOV P0,#0F6H MOV P1,#0FH MOV P2,#3FH JB P3.3,YINYEXI ACALL WDELAY MOV P0,#0FFH MOV P2,#00H SETB TR0 RET //=========================================================== //<<月亮代表我的心>> 數據表 TAB1: //定時器高八位數據 DB 00H,0FBH,0FCH,0FDH,0FDH,0FCH,0FCH,0FDH,0FDH,00H DB 0FDH,0FDH,0FEH,0FEH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH DB 0FCH,0FCH,0FDH,0FCH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH DB 0FCH,0FBH,0FCH,0FDH,0FCH,00H,0FBH,0FCH,0FDH,0FDH DB 0FCH,0FCH,0FDH,0FDH,00H,0FDH,0FDH,0FEH,0FEH,0FDH DB 0FDH,0FDH,0FDH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH,0FCH DB 0FCH,0FCH,0FCH,0FDH,0FCH,0FBH,0FCH,0FCH,0FCH,0FCH DB 0FDH,0FDH,0FDH,0FCH,0FCH,0FDH,0FCH,0FBH,0FCH,0FBH DB 0FCH,0FBH,0FBH,0FDH,0FDH,0FDH,0FCH,0FCH,0FDH,0FCH DB 0FBH,0FCH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH,00H,0FBH DB 0FCH,0FDH,0FDH,0FCH,0FCH,0FDH,0FDH,0FDH,0FDH,0FEH DB 0FEH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH,0FCH,0FCH,0FDH DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FDH,0FCH,0FBH,0FCH,0FCH DB 0FCH,0FCH,0FFH TAB2: //定時器低八位數據 DB 00H,04H,44H,09H,82H,44H,0CH,09H,82H,00H DB 82H,0CDH,06H,22H,0CDH,0CDH,82H,09H,0ACH,44H DB 44H,44H,09H,0ACH,44H,44H,44H,0ACH,09H,0ACH DB 44H,8FH,0ACH,09H,0ACH,00H,04H,44H,09H,82H DB 44H,0CH,09H,82H,00H,82H,0CDH,06H,22H,0CDH DB 0CDH,82H,09H,0ACH,44H,44H,44H,09H,0ACH,44H DB 44H,44H,0ACH,09H,0ACH,90H,0CH,44H,0ACH,44H DB 09H,82H,09H,0ACH,44H,82H,0CH,90H,0CH,90H DB 0CH,90H,05H,09H,82H,09H,0ACH,44H,82H,0CH DB 90H,0CH,44H,44H,44H,0ACH,09H,0ACH,00H,05H DB 44H,09H,82H,44H,0CH,09H,82H,82H,0C8H,06H DB 22H,0C8H,0C8H,82H,09H,0ACH,44H,44H,44H,09H DB 0ACH,44H,44H,44H,0ACH,09H,0ACH,90H,0CH,44H DB 0ACH,44H,0FFH TAB3: //節拍時值表 db 4,4,12,4,12,4,12,4,8,4 db 4,4,8,12,4,4,28,4,4,12 db 4,8,4,4,12,4,8,4,4,8 db 4,8,4,4,24,4,4,12,4,12 db 4,12,4,8,4,4,4,8,12,4 db 4,28,4,4,12,4,8,4,4,12 db 4,8,4,4,8,4,8,4,4,24 db 4,4,12,4,8,8,24,4,4,12 db 4,12,8,24,8,12,4,8,8,24 db 4,4,12,4,8,4,4,24,4,4 db 12,4,12,4,12,4,12,4,12,4 db 12,4,4,20,4,4,12,4,8,4 db 4,12,4,8,4,4,12,4,8,4 db 4,24 //==============笑臉================================================ TAB10: //P0口 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH TAB11: //P1口 DB 0FH,8EH,4DH,0ABH,57H,5FH,9FH,9FH,5FH,5FH,0AFH,4FH,8FH DB 8EH,4DH,0ABH,97H,9FH,9FH,9FH,9FH,9FH,0AFH,4FH,8FH TAB12: //P2口 DB 0FH,87H,88H,50H,20H,0A4H,0E8H,0E8H,0A4H,20H,50H,88H,87H DB 87H,88H,50H,20H,0A4H,0E8H,0E8H,0A4H,20H,50H,88H,87H //=============漢字============================================== TAB7: //P0口 DB 0FFH, 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH // DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH // DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH // DB 0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH TAB8: //P1口 DB 0FH, 8EH,8DH,0EBH,87H,8FH,0CFH,4FH,4FH,4FH,0CFH,0FH,0FH //祝 DB 0EH,0DH,8BH,0E7H,8FH,8FH,0FH,0FH,0EFH,0FH,0FH,0FH //鐘 DB 0EH,0DH,0BH,87H,4FH,0FH,0FH,0CFH,0FH,0FH,0FH,0FH //仕 DB 0EH,0DH,0EBH,0A7H,0EFH,0AFH,0BFH,0AFH,0EFH,0AFH,2FH,0FH //廉 // DB 0EH,0DH,8BH,0E7H,8FH,8FH,0EFH,8FH,8FH,8FH,0FH,0FH //生 // DB 0EH,0DH,0BH,0E7H,2FH,2FH,2FH,2FH,0EFH,0FH,0FH,0FH //日 DB 0EH,4DH,0DBH,67H,0CFH,4FH,0FH,8FH,4FH,4FH,2FH,0FH //新 DB 0EH,0DH,8BH,47H,7FH,4FH,0CFH,4FH,4FH,4FH,4FH,0FH //年 DB 0EH,0DH,0EBH,07H,8FH,8FH,0EFH,8FH,8FH,8FH,0FH,0FH //快 DB 0EH,8DH,4BH,47H,4FH,0AFH,1FH,0FH,0FH,0FH,0FH,0FH //樂 DB 0CEH,2DH,02BH,27H,4FH,8FH,8FH,4FH,2FH,2FH,2FH,0CFH //心形 // DB 0FH,0FH,2BH,27H,0AFH,6FH,0FFH,6FH,0AFH,2FH,2FH,0FH //李 // DB 0EH,0DH,2BH,0A7H,0AFH,0FFH,0AFH,0AFH,2FH,0FH,0FH,0FH //春 DB 0EH,0DH,4BH,47H,0EFH,4FH,4FH,8FH,8FH,8FH,0FH,0FH //起 DB 0EH,0FDH,5BH,57H,5FH,0FFH,0FH,4FH,4FH,0CFH,4FH,0FH //題 // DB 0CEH,2DH,02BH,27H,4FH,8FH,8FH,4FH,2FH,2FH,2FH,0CFH //心形 TAB9: //P2口 DB 00H, 08H,04H,0FEH,05H,08H,43H,3EH,02H,3EH,23H,30H,00H //祝 DB 00H,09H,0AH,7FH,2AH,08H,0FH,09H,7FH,09H,0FH,00H //鐘 DB 00H,02H,01H,7FH,02H,22H,22H,3FH,22H,22H,02H,00H //仕 DB 80H,40H,3FH,88H,6AH,0FFH,2AH,0FFH,6AH,0BEH,88H,00H //廉 // DB 00H,21H,20H,20H,24H,24H,3FH,24H,24H,20H,20H,00H //生 // DB 00H,00H,00H,3FH,22H,22H,22H,22H,3FH,00H,00H,00H //日 DB 00H,2AH,5AH,0FFH,1AH,2AH,40H,3FH,02H,7EH,02H,00H //新 DB 08H,09H,0FH,09H,09H,09H,0FFH,09H,09H,09H,08H,00H //看 DB 01H,06H,7FH,22H,14H,0CH,07H,0CH,14H,27H,24H,00H //快 DB 00H,23H,12H,0EH,22H,7FH,06H,0AH,13H,22H,00H,00H //樂 DB 03H,04H,08H,10H,20H,60H,20H,10H,08H,04H,02H,01H //心形 // DB 00H,00H,11H,11H,12H,52H,0FBH,1AH,16H,11H,11H,00H //李 // DB 00H,12H,0AH,0FEH,0ABH,0AAH,0AAH,0FEH,0AH,12H,00H,00H //春 DB 40H,21H,1DH,09H,1FH,25H,41H,5DH,54H,53H,58H,00H //起 DB 84H,45H,35H,3DH,55H,95H,84H,0AFH,9DH,91H,0AFH,80H //題 // DB 03H,04H,08H,10H,20H,60H,20H,10H,08H,04H,02H,01H //心形 //<<我說我的眼里只有你>> TAB13://定時器高八位初值 DB 00H,0FAH,0FAH,0FBH,0FBH,0FCH,0FCH,0FCH,0FCH,0FDH DB 0FDH,0FDH,0FCH,0FCH,0FCH,0FCH,0FBH,0FCH,0FCH,0FBH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FCH,0FAH,0FAH,0FBH DB 0FBH,0FCH,0FCH,0FCH,0FCH,0FDH,0FDH,0FDH,0FCH,0FCH DB 0FCH,0FCH,0FBH,0FDH,0FDH,00H,0FCH,0FDH,0FDH,0FDH DB 0FCH,0FCH,00H,0FCH,0FCH,0FDH,0FCH,0FDH,0FCH,0FDH DB 00FDH,0FCH,00H,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,00H,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FCH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH DB 0FCH,0FDH,0FDH,0FDH,0FCH,0FCH,0FDH,0FCH,0FDH,0FCH DB 0FDH,0FDH,0FCH,00H,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,00H,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FCH,0FDH,0FDH,0FDH,0FDH,0FCH DB 0FCH,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FCH,0FDH,0FFH TAB14://定時器低八位初值 DB 00H,15H,67H,04H,04H,44H,0ACH,44H,0ACH,09H DB 34H,82H,88H,0ACH,44H,0CH,90H,0CH,44H,04H DB 0C8H,82H,34H,09H,34H,09H,0ACH,15H,67H,04H DB 04H,44H,0ACH,44H,0ACH,09H,34H,82H,88H,0ACH DB 44H,0CH,90H,0C8H,82H,00H,0ACH,09H,34H,09H DB 0ACH,44H,00H,44H,0ACH,09H,0ACH,09H,0ACH,09H DB 82H,0ACH,00H,0ACH,09H,34H,09H,34H,09H,34H DB 0C8H,09H,00H,09H,34H,082H,34H,09H,34H,82H DB 82H,34H,09H,0ACH,09H,34H,34H,09H,0ACH,44H DB 0ACH,09H,0C8H,82H,44H,0ACH,09H,0ACH,09H,0ACH DB 09H,82H,0ACH,00H,0ACH,09H,34H,09H,34H,09H DB 34H,0C8H,09H,00H,09H,34H,82H,34H,09H,34H DB 82H,82H,34H,09H,0ACH,09H,34H,34H,09H,0ACH DB 44H,0ACH,09H,0C8H,82H,34H,09H,0ACH,09H,0FFH TAB15://節拍時值表 db 4,4,4,8,4,4,8,4,4,4 db 4,4,4,8,4,4,8,4,4,4 db 4,4,4,8,4,4,8,4,4,8 db 4,4,8,4,4,4,4,4,4,8 db 4,4,8,6,8,4,2,2,6,6 db 4,20,4,4,4,2,2,2,2,4 db 4,8,4,2,2,2,2,2,2,4 db 4,8,4,2,2,2,2,2,2,6 db 2,2,2,2,2,6,2,2,2,2 db 2,4,4,8,4,4,2,2,2,2 db 4,4,8,4,2,2,2,2,2,2 db 4,4,8,4,2,2,2,2,2,2 db 6,2,2,2,2,2,6,2,2,2 db 2,2,4,4,8,2,4,2,64 // <<阿里山的姑娘>> TAB16://定時器高八位數據 DB 00H,0FDH,0FDH,0FDH,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FCH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH,0FBH,0FCH,0FCH DB 0FCH,0FBH,0FBH,0FBH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH DB 0FDH,0FCH,0FBH,0FBH,0FCH,0FCH,0FCH,0FDH,0FDH,0FDH DB 0FDH,0FCH,0FDH,0FCH,0FCH,0FCH,0FCH,0FCH,0FBH,0FBH DB 0FBH,0FBH,0FCH,0FBH,0FBH,0FBH,0FCH,0FDH,0FCH,0FCH DB 0FCH,0FDH,0FDH,0FDH,0FCH,0FDH,0FCH,0FBH,0FCH,0FCH DB 0FCH,0FBH,0FBH,0FBH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FCH,0FDH,0FCH,0FDH,0FCH,0FBH,0FBH,0FCH,0FCH DB 0FCH,0FDH,0FDH,0FDH,0FDH,0FCH,0FDH,0FCH,0FCH,0FCH DB 0FCH,0FCH,0FBH,0FBH,0FBH,0FDH,0FCH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FCH,0FDH,0FDH,0FDH,0FCH,0FBH,0FCH,0FCH DB 0FCH,0FBH,0FBH,0FBH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FCH,0FDH,0FCH,0FDH,0FCH,0FBH,0FBH,0FCH,0FCH DB 0FDH,0FDH,0FDH,0FDH,0FCH,0FDH,0FDH,0FDH,0FDH DB 00H,0FDH,0FDH,0FDH,0FDH,0FDH,0FEH,0FEH,0FEH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FEH,0FDH,0FDH,0FCH,0FDH DB 0FDH,0FDH,0FCH,0FDH,0FCH,0FBH,0FDH,0FCH,0FDH,0FDH DB 0FCH,0FDH,0FBH,0FCH,0FDH,0FCH,0FCH,0FBH,0FFH // 0FBH,0FBH, TAB17://定時器低八位數據 DB 00H,09H,82H,09H,0ACH,09H,82H,0C8H,82H,09H DB 0ACH,09H,82H,09H,09H,0ACH,0ACH,90H,44H,0ACH DB 44H,90H,04H,90H DB 0C8H,0C8H,0C8H,82H,82H,09H,09H,09H,0ACH,0ACH DB 09H,44H,90H,90H,0ACH,0ACH,0ACH,09H,82H,09H DB 09H,0ACH,09H,0ACH,44H,44H,0ACH,44H,90H,04H DB 90H,90H,44H,90H,90H,04H,0ACH,09H,0ACH,44H DB 0ACH,09H,82H,09H,0ACH,09H,0ACH,90H,44H,0ACH DB 44H,90H,04H,90H,0C8H,0C8H,0C8H,82H,82H,09H DB 09H,0ACH,09H,0ACH,09H,44H,90H,90H,0ACH,0ACH DB 0ACH,09H,82H,09H,09H,0ACH,09H,0ACH,44H,44H DB 0ACH,44H,90H,04H,90H,09H,0ACH,09H,82H,0C8H DB 82H,09H,0ACH,09H,82H,09H,0ACH,90H,44H,0ACH DB 44H,90H,04H,90H,0C8H,0C8H,0C8H,82H,82H,09H DB 09H,0ACH,09H,0ACH,09H,44H,90H,90H,0ACH,0ACH DB 09H,82H,09H,82H,0ACH,09H,82H,0C8H,0C8H DB 00H,0C8H,0C8H,0C8H,0C8H,0C8H,22H,57H,22H DB 0C8H,82H,09H,0C8H,82H,22H,0C8H,82H,0ACH,09H DB 82H,82H,0ACH,09H,0ACH,90H,09H,0ACH,09H,82H DB 0ACH,09H,90H,44H,09H,0ACH,44H,90H,0FFH // 90H,90H , TAB18://節拍時值表 DB 2,2,1,1,2,2,2,1,1,2 DB 2,12,2,2,3,1,3,1,2,1 DB 1,2,2,16 DB 2,2,2,2,2,2,4,2,2,2 DB 2,2,2,4,3,1,2,2,2,2 DB 4,3,1,2,2,2,1,1,2,2 DB 16,2,1,1,2,2,2,1,1,2 DB 2,12,2,2,2,2,2,2,2,1 DB 1,2,2,16,2,2,2,2,2,2 DB 4,2,2,2,2,2,2,4,3,1 DB 2,2,2,2,4,3,1,2,2,2 DB 1,1,2,2,16,4,2,2,2,1 DB 1,2,2,12,2,2,5,2,2,1 DB 1,2,2,16,3,1,2,2,2,2 DB 4,3,1,3,1,2,2,4,4,2 DB 2,4,2,2,8,5,2,16,12 DB 12,3,1,2,2,2,2,2,2 DB 4,2,2,4,2,2,4,2,2,2 DB 2,2,2,2,2,4,4,2,2,4 DB 2,2,2,2,2,1,1,16 //,4,8 //<<犯錯>> TAB19://定時器高八位數據 DB 00H,0FBH,0FBH,0FCH,0FCH,0FDH,0FDH,0FDH,0FCH,0FCH DB 0FDH,0FCH,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FCH,0FCH,0FDH,0FCH,0FCH,0FCH,0FBH,0FBH DB 0FDH,0FDH,0FDH,0FCH,0FCH,0FDH, 00H DB 0FBH,0FBH,0FCH,0FCH,0FDH,0FDH,0FDH,0FCH,0FCH,0FDH DB 0FCH,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FCH,0FCH,0FDH,0FCH,0FCH,0FCH,0FBH,0FBH,0FDH DB 0FDH,0FDH,0FCH,0FCH,0FCH,00H,0FEH,0FEH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,00H,0FDH,0FDH,0FDH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,00H,0FDH,0FDH,0FEH DB 0FEH,0FEH,0FEH,0FDH,0FDH,0FDH,0FDH,00H,0FDH,0FDH DB 0FDH,0FEH,0FEH,0FEH,0FDH,0FDH,0FDH,0FEH,0FEH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,00H,0FDH,0FDH DB 0FDH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,00H,0FDH,0FDH DB 0FEH,0FEH,0FEH,0FEH,0FDH,0FDH,0FDH,0FDH,00H,0FDH DB 0FDH,0FDH,0FEH,0FEH,0FDH,0FDH,0FDH,0FEH,0FDH,0FDH DB 0FBH,0FBH,0FCH,0FCH,0FDH,0FDH,0FDH,0FCH,0FCH,0FDH DB 0FCH,0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FCH,0FCH,0FDH,0FCH,0FCH,0FCH,0FBH,0FBH,0FDH DB 0FDH,0FDH,0FCH,0FCH,00H,0FFH TAB20://低八位數據 DB 00H,04H,90H,44H,0ACH,82H,09H,09H,0ACH,0ACH DB 09H,44H,0ACH,09H,82H,0C8H,82H,82H,09H,09H DB 82H,09H,0ACH,44H,09H,0ACH,44H,0ACH,90H,04H DB 0C8H,82H,09H,0ACH,0ACH,09H, 00H db 04H,90H,44H,0ACH,82H,09H,09H,0ACH,0ACH,09H db 44H,0ACH,09H,82H,0C8H,82H,82H,09H,09H,82H db 09H,0ACH,44H,09H,0ACH,44H,0ACH,90H,04H,0C8H db 82H,09H,0ACH,44H,44H,00H,22H,06H,0C8H,0C8H db 0C8H,0C8H,09H,82H,0C8H,82H,00H,09H,82H,0C8H db 22H,22H,22H,85H,57H,22H,00H,82H,0C8H,22H db 22H,22H,57H,0C8H,82H,09H,82H,00H,09H,82H db 0C8H,22H,22H,22H,0C8H,0C8H,82H,22H,06H,0C8H db 0C8H,0C8H,0C8H,09H,82H,0C8H,82H,00H,09H,82H db 0C8H,22H,22H,22H,85H,57H,22H,00H,82H,0C8H db 22H,22H,22H,57H,0C8H,82H,09H,82H,00H,09H db 82H,0C8H,22H,22H,0C8H,82H,0C8H,06H,0C8H,82H db 04H,90H,44H,0ACH,82H,09H,09H,0ACH,0ACH,09H db 44H,0ACH,09H,82H,0C8H,82H,82H,09H,09H,82H db 09H,0ACH,44H,09H,0ACH,44H,0ACH,90H,04H,0C8H db 82H,09H,0ACH,44H,00H,0FFH TAB21://節拍時值表 DB 2,2,2,2,2,4,4,4,2,2 DB 8,2,2,2,2,4,4,4,2,2 DB 8,2,2,2,2,4,2,4,4,2 DB 4,4,2,2,4,16,8 DB 2,2,2,2,4,4,4,2,2,8 DB 2,2,2,2,4,4,4,2,2,8 DB 2,2,2,2,4,2,4,4,2,4 DB 4,4,2,2,16,8,4,2,2,4 DB 2,2,4,2,2,8,4,2,2,4 DB 2,2,4,2,2,8,4,2,2,4 DB 4,4,4,2,2,2,2,4,2,2 DB 4,2,2,2,4,2,8,4,2,2 DB 4,2,2,4,2,2,8,4,2,2 DB 4,2,2,4,2,2,8,4,2,2 DB 4,4,4,4,2,2,2,2,4,2 DB 2,4,4,4,2,2,5,1,1,16 DB 2,2,2,2,4,4,4,2,2,8 DB 2,2,2,2,4,4,4,2,2,8 DB 2,2,2,2,4,2,4,4,2,4 DB 4,4,2,18,16 //<<至少還有你>> 數據表 TAB4: //定時器高八位數據 DB 00H,0FDH,0FDH,0FDH,0FDH,0FEH,00H,0FDH,0FDH,0FEH DB 0FDH,0FDH,00H,0FDH,0FDH,0FDH,0FDH,0FEH,0FEH,0FEH DB 0FEH,00H,0FEH,0FEH,0FEH,0FEH,0FEH,0FDH,0FEH,00H DB 0FDH,0FDH,0FDH,0FEH,0FEH,0FDH,0FEH,0FEH,0FDH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FDH,0FEH,0FDH,0FDH,0FDH DB 00H,0FDH,0FDH,0FDH,0FDH,0FEH,00H,0FDH,0FDH,0FEH DB 0FDH,0FDH,00H,0FDH,0FDH,0FDH,0FDH,0FEH,0FEH,0FEH DB 0FEH,00H,0FEH,0FEH,0FEH,0FEH,0FEH,0FDH,0FEH,00H DB 0FDH,0FDH,0FDH,0FEH,0FEH,0FDH,0FEH,0FEH,0FDH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FDH,0FEH,00H,0FDH,0FDH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FDH,0FDH,0FEH,0FEH,0FEH,0FDH DB 0FDH,0FEH,0FEH,0FEH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FDH,0FDH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0ffh /* 0FEH,0FEH,0FDH,0FDH , DB 0FEH,0FEH,0FEH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEH,0FEH DB 00H,00H,0FDH,0FDH,0FDH,0FEH,0FDH,0FEH,0FDH,0FDH DB 0FEH,0FEH,0FDH,0FDH,00H,0FDH,0FDH,0FDH,0FEH,0FDH DB 0FEH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,00H DB 00H,0FDH,0FDH,0FDH,0FEH,0FDH,0FEH,0FDH,0FDH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,00H ,0FFH */ TAB5: //定時器低八位數據 DB 00H,09H,09H,09H,82H,022H,00H,82H,82H,22H DB 82H,0C8H,00H,34H,34H,09H,82H,22H,57H,57H DB 22H,00H,22H,57H,85H,06H,06H,0C8H,06H,00H DB 82H,82H,0C8H,22H,22H,0C8H,57H,22H,82H,82H DB 85H,9AH,85H,85H,57H,0C8H,22H,0A7H,0C8H,82H DB 00H,09H,09H,09H,82H,022H,00H,82H,82H,22H DB 82H,0C8H,00H,34H,34H,09H,82H,22H,57H,57H DB 22H,00H,22H,57H,85H,06H,06H,0C8H,06H,00H DB 82H,82H,0C8H,22H,22H,0C8H,57H,22H,82H,82H DB 85H,9AH,85H,85H,57H,0C8H,22H,00H,82H,0C8H DB 22H,22H,22H,57H,85H,85H,85H,85H,57H,85H DB 85H,0C1H,0C1H,0C1H,0C1H,85H,57H,57H,57H,57H DB 57H,57H,0C1H,0C1H,82H,82H,57H,22H,22H,82H DB 82H,9AH,85H,57H,0A7H,82H,22H,57H,85H,85H DB 85H,85H,57H,85H,85H,0C1H,0C1H,82H,82H,85H DB 57H,57H,57H,22H,57H,57H ,0ffh /* ,0C1H,0C1H,82H 82H DB 57H,22H,22H,82H,82H,85H,85H,57H,22H,22H DB 00H,00H,82H,82H,0C8H,22H,0C8H,22H,82H,82H DB 9AH,85H,82H,82H,00H,82H,82H,0C8H,22H,0C8H DB 22H,82H,82H,85H,57H,57H,22H,57H,85H,00H DB 00H,82H,82H,0C8H,22H,0C8H,22H,82H,82H,85H DB 85H,57H,22H,85H,85H,0C1H,85H,57H,22H,57H DB 22H,85H,22H,0C8H,82H,85H,9AH,85H,57H,22H DB 57H,00H ,0FFH */ TAB6: //節拍時值表 db 4,2,2,4,2,18,4,2,2,4 db 2,18,4,2,2,4,4,4,2,6 db 4,4,2,2,4,2,6,2,8,4 db 2,2,4,4,4,4,4,10,4,4 db 4,4,4,16,4,4,16,4,4,24 db 4,2,2,4,2,18,4,2,2,4 db 2,18,4,2,2,4,4,4,2,6 db 4,4,2,2,4,2,6,2,8,4 db 2,2,4,4,4,4,4,10,4,4 db 4,4,4,16,4,4,8,6,2,4 db 4,16,6,2,8,4,4,4,2,2 db 2,2,4,4,2,2,4,2,6,2 db 2,2,2,4,4,2,2,4,2,6 db 2,2,4,4,4,16,8,8,4,4 db 4,2,2,2,2,4,4,2,2,6 db 2,4,2,2,2,2/*,4,4,2 ,2 db 6,2,4,2,2,2,6,6,2,24 db 8,4,2,2,2,2,2,6,2,2 db 4,8,4,24,4,2,2,2,2,2 db 6,2,2,2,6,4,4,4,12,8 db 4,2,2,2,2,2,6,2,2,2 db 6,4,4,4,4,4,4,2,6,4 db 4,2,18,2,2,6,2,4,12,8 db 8,8 */ END ;程序結束