|
Với PIC16F877A, bạn nên đặt giá trị cho thanh ghi ADCON1 là 0x06 hoặc 0x07 để thiết lập các chân RA0 và RA1 là các chân vào/ra dạng số, trước khi đọc trạng thái logic của chúng. Nếu bạn không thực hiện điều này, trạng thái logic được đọc về của các chân RA0 và RA1 sẽ luôn luôn là '0', bất chấp tín hiệu thực đặt vào các chân này từ bên ngoài.
Tôi không kiểm tra thuật toán trong đoạn code của bạn, nhưng có gợi ý rằng việc điều khiển đèn cầu thang từ 2 vị trí có logic tương tự với XOR hay XNOR của 2 tín hiệu từ 2 công tắc. Do đó không cần viết code rườm ra như bạn đã làm.
Tôi cũng nhận thấy trong sơ đồ mô phỏng của bạn, bạn dùng 2 nút nhấn (button) chứ không phải 2 công tắc (switch).
Thân,
|