Trích:
Nguyên văn bởi ahchu
Em đang tập viết mộ chương trình đơn giản cho PIC 18f452 là làm sáng LED. Đoạn code như sau:
"
list p=18f452
#include p18f452.inc
ORG 0x000
GOTO start
start
CLRF PORTB
CLRF TRISB
MOVLW B'00011111' ;bật sáng LED ở vị trí từ RB0 đến RB4
MOVWF TRISB
loop
GOTO loop
END
"
Em không biết có gì sai nhưng LED không sáng. Có ai chỉ dum em với.
|
Với chương trình này, LED không sáng có vài nguyên nhân, nhưng khả năng gây lỗi nhiều nhất là ở các lệnh sau
MOVLW B'00011111' ;bật sáng LED ở vị trí từ RB0 đến RB4
MOVWF TRISB
Hai lệnh này sẽ chuyển RB0 đến RB4 thành ngõ vào! TRISB nên sửa thành LATB hay PORTB.
Cũng cần kiểm tra xem các bit cấu hình của bạn có được đặt đúng không, vì trong chương trình này bạn không đặt các bit cấu hình tường minh, theo mặc định thì chip sẽ chạy với bộ dao động RC bên ngoài!
Thân,