1. Thiếu phần định nghĩa các chân cổng là digital I/O
Code:
BSF STATUS, RP0 ; Select Bank 1
MOVLW 0x06 ; Configure all pins
MOVWF ADCON1 ; as digital inputs
BCF STATUS, RP0 ; Select Bank 0
2. Sao lại dùng lệnh này khi khởi tạo chương trình? “BSF PIR1,TMR1IF”???? Đây là cờ báo tràn Timer1, được tự động đặt là 1 bằng phần cứng để báo tràn Timer1.
3. Trong chương trình chưa thấy phần định nghĩa hướng dữ liệu (vào/ra) cho PORTC và PORTB, vậy mà lại out dữ liệu ra:
Code:
MOVLW B'00000011'
MOVWF PORTC
MOVLW B'11111111'
MOVWF PORTB
Như vậy mà sáng được LED thì quá lạ. Bạn xem lại nhé. Xem xong tui sẽ phân tích tiếp cho bạn thấy một số vấn đề nữa.