Các bác kiểm tra hộ em lỗi này
Đoạn chương trình sau em viết cho PIC6F628A, khi biên dịch thì OK (chương trình copy từ học PIC trong 1 ngày mà). Thời gian trễ khi LED tắt quá nhỏ nên không nhìn thấy. Vì vậy, khi tắt LED em thêm một số lệnh gọi DELAY. Tuy nhiên, khi em chỉ cần thêm một dòng CALL DELAY nữa thì chương trình báo không thành công, hoặc là thêm một dòng BSF, BCF nữa cũng không được (những dòng này em đang cho dấu phẩy ở đầu).
Vậy đây là lỗi gì nhỉ? Các bác chỉ em với nhé.
ORG 0x0000
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISB
CLRF TRISB; d?t portb là output
MOVLW D'255'
MOVWF COUNT_L; COUNT_L là 1 byte
BANKSEL PORTB
LOOP
BSF PORTB,3
;BCF PORTB,4
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
BCF PORTB,3
;BSF PORTB,4
CALL DELAY
CALL DELAY
CALL DELAY
CALL DELAY
;CALL DELAY
CALL DELAY
GOTO LOOP
;================================================= ========
; Các chuong trình con
;================================================= ========
DELAY DECFSZ COUNT_L,F
GOTO DELAY
RETURN
;================================================= ========
GOTO $
END
thay đổi nội dung bởi: chuchinh, 04-07-2006 lúc 05:53 PM.
|