3、SECEQU65HMINEQU64HHOUEQU63H<1^<1^<1^<1^<1^^1^^1^^1#■?$.?卜?卜?卜?卜?[??丫?*!?<1*
4、ksjnzkl;有按鍵轉(zhuǎn)到KIlcallkaijilcallSOPxn:ljmpkeykl:lcallmoddlcallmoddlcallksjnzk2ljmpkeyk2:movR2,#Ofeh;讀鍵盤movR4,#00hk3:movAR2movP3,AmovA,P3JBACC.4,L1;為1跳轉(zhuǎn),第一行無按鍵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