background image

     MOV    P1,#000101011B          ;第三拍
     CALL  TIMER
     CALL  TESTSTOP

     MOV    P1,#000100111B          ;第四拍
     CALL  TIMER
     CALL  TESTSTOP
     CALL  TESTKEY
     SJMP  MAIN
;***************************检测是否有按键按下************************
TESTKEY:
     SETB  FAST
     SETB  SLOW

NEXT1:
     JNB   FAST,YES2
NEXT2:
     JNB   SLOW,YES3
     SJMP  RETURN                      ;都没有键按下,则返回

YES2:
     MOV   A,TEMP             ;FAST 按下,若此时 temp 等于 9,则保持速度不变,若小于则
加 1
     CJNE  A,#9,CANFAST
     DEC   A

CANFAST:
     INC   A
     MOV   TEMP,A
     SJMP  RETURN

YES3:
     MOV   A,TEMP
     CJNE  A,#1,CANSLOW
     INC   A
CANSLOW:
     DEC   A
     MOV   TEMP,A