[問題] 8051計時與計數問題
我想讓我的程式每一秒判斷我按按鈕三下LED燈從左移變右移,
我想改成只要一秒內按小於等於三下他都會右移,該用哪一個指令,
讓他判斷小於等於時可以達到我要的功能呢?
以下是我的程式碼:
.SYMBOLS ON
LedData .REG 30H
Count .REG 31H
ORG 00H
JMP RESET
ORG 1BH
JMP TIMER
ORG 50H
RESET: MOV SP,#5FH
START: SETB P3.4
SETB EA
SETB ET1
MOV TMOD,#00010110B
MOV TH1,#>(20016-4999)
MOV TL1,#<(20016-4999)
MOV TH0,#256-3
MOV TL0,#256-3
SETB TR0
SETB TR1
MOV LedData,#11111110B
MOV Count,#20
WAIT:
JBC P2.1,INT
JB TF0,OK
JMP WAIT
INT:
MOV A,LedData
RL A
MOV LedData,A
MOV P1,A
JMP WAIT
TIMER:
MOV TH1,#>(20016-4999)
MOV TL1,#<(20016-4999)
DJNZ Count,EXIT
MOV Count,#20
SETB P2.1
MOV TH0,#256-3
MOV TL0,#256-3
EXIT:
RETI
Cou:
JB TF0,OK
AJMP Cou
OK:
CLR TF0
RR A
MOV P1,A
JMP WAIT
END
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.150.36
ASM 近期熱門文章
PTT數位生活區 即時熱門文章