3、SECEQU65HMINEQU64HHOUEQU63H<1^<1^<1^<1^<1^^1^^1^^1#■♦$.♦卜•卜♦卜♦卜♦[•♦丫•*!•<1*
4、ksjnzkl;有按键转到KIlcallkaijilcallSOPxn:ljmpkeykl:lcallmoddlcallmoddlcallksjnzk2ljmpkeyk2:movR2,#Ofeh;读键盘movR4,#00hk3:movAR2movP3,AmovA,P3JBACC.4,L1;为1跳转,第一行无按键mova,#OOhljmplkLI:jbacc.5,L2mova,#04hljmplkL2:jbacc.6,L3mova,#O8hljmplkL3:jbacc.7,nextlmova,#Ochlk:adda,R4pushacck4:lcalldelay1
5、;若同时有其他按键,则等待lcallksjnzk4•■■■■■movr3,#O7hclramovrO,#3Ohmovrl,#31hmml:mova,@rlmov@rO,aincrOincrldjnzr3,mmlpopaccmov@rO,aRETnextl:incR4;列担描mova,R2JNBacc.3,n2ljmpnln2:ljmpkeynl:rlamovR2,aljmpk3ks:mova,#OfOh;判断Pl口movP3,anopnopmova,P3cplaanla,#OfOhRETDELAY1:SETBRSOdl:movR5,#Oahdl2:movR6,
6、#63dl3:nopnopdjnzR6,dl3djnzR5,dl2CLRRSORET;30H-37H初值为零initil:movr3,#O8hmovrO,#3Ohml:mov@rO,#OOhincrOdjnzr3,mlRETmodd:MOVP0,#8EH1CALLENABLEmovA,37HmovDPTR,#TABLE3MOVCA,@A+DPTR1CALLWRITE2RET■:按键值播放歌曲SOP:mova,37hcjnea,#01h,Al1LCALLMODDMOV52H,#HIGHTABLE10MOV53H,#LOWTABLE10LCALLINITILE2l
7、callMAINOAll:CJNEA,#02H,A22LCALLMODDMOV52H,#HIGHTABLE20MOV53H,#LOWTABLE20LCALLINITILE2lcallMAINOA22:CJNEA,#03H,A33LCALLMODDMOV52H,#HIGHTABLE30MOV53H,#LOWTABLE30LCALLIN1TILE2lcallMAINOA33:CJNEA,#04H,A44LCALLMODDMOV52H,#HIGHTABLE40MOV53H,#LOWTABLE40LCALLINITILE2lcallMAINOA44:CJNEA,#05
8、H,A55LCALLMODDMOV52