OK. Đúng là phần code d1, d2, d3 của em không thực thi. Bây giờ em đã biết cách thực hiện trễ trong chương trình theo ý muốn.
Em vẫn có một số thắc mắc, mong anh giải đáp dùm:
+ RB4 của em đã sáng sau khi xóa LVP, nhưng RA4 lại không sáng.
+ Đoạn code sau em dùng lệnh if chỉ để thay đổi giá trị thanh ghi W theo d4, trước khi vào kiểm tra em đã đặt d4=1, không hiểu sao vào chương trình nó lại kiểm tra thấy d4!=1 (Em dùng f7 để chạy thấy nó trỏ ngay đến dòng movlw 0x01 sau lệnh else thứ 2).
cblock 0x020
COUNT_L
d4
endc
ORG 0x0000
GOTO MAIN
ORG 0x0005
MAIN
movlw 0x01
movwf d4
if(d4==0x01)
movlw 0x01; bit 0
incf d4,f
else
if d4==0x02
movlw 0x02
decf d4,f
else
movlw 0x01 ; con tro tro luon den dong nay
movf d4
movlw 0x06
endif
endif
movwf COUNT_L
nop
;================================================= ============================
GOTO $
END
Không biết cách đặt code vào trong khung thế nào nhỉ, thấy anh falleaf hướng dẫn đâu đó mà tìm không thấy.
|