bạn nên viết chương trình delay theo dạng như sau sẽ rất tiện:
Code:
DELAY
MOVLW D'xx'
MOVWF COUNTA
CLRF COUNTB
HERE
NOP ;1us
DECFSZ COUNTB,F ;1us
GOTO HERE ;4us*255~1000uS=1ms
DECFSZ COUNTA,F
GOTO HERE ;'xx' ms
; DECFSZ COUNTx,F
; GOTO HERE
RETURN
bạn thay COUNTA và COUNTB như thế này cũng được :
DECFSZ 0X22,F
GOTO HERE
DECFSZ 0X21,F
GOTO HERE
bạn muốn tạo trễ bao lâu chỉ cần thêm biến COUNTx rồi nạp giá trị ban đầu cho nó ,không mất công nhảy tới nhảy lui--->chóng mặt ^_^
được không bạn ?