Theo tôi, thanh ghi TRISB nằm ở bank 1 chứ không phải bank 0 => trước khi bạn xóa thanh ghi TRISB (để thiết lập các chân port B là output) bạn nên chuyển sang bank 1. Còn như trong chương trình bạn viết, hai lệnh "clrf PORTB" và "clrf TRISB" thực chất chỉ xóa thanh ghi PORTB trong bank 0. Thanh ghi TRISB thực ra không bị xóa và nó có thể có giá trị ngẫu nhiên. Vài ý tham gia cùng bạn.
|