PDA

View Full Version : Kiểm tra dùm mình lệnh btfss này xem


maitruccucdao
13-06-2009, 09:49 AM
Nhờ các bạn có kinh nghiệm xem dùm mình bài viết này .
Processor 16F877A
#include <P16F877A.INC>
ORG 0X0000
BCF STATUS,6
BCF STATUS,5
CLRF PORTB
BSF STATUS,5
BCF TRISB,1
BSF TRISB,0
BCF STATUS,5
MAIN
BTFSS PORTB,0
GOTO LOOP2
GOTO LOOP1

LOOP1
BSF PORTB,1
GOTO MAIN
LOOP2
BCF PORTB,1
GOTO MAIN
END
Mình định kiểm tra lệnh Btfss. Mình nghĩ, mỗi lần mình nhấn thì đèn mới sáng, buôn ra thì đèn tắt, vậy mà chỉ nhấn 1 lần thì đèn sáng luôn.
Giúp mình xem có bị sai gì không?

namqn
13-06-2009, 10:26 AM
Chân RB0 của bạn bị thả nổi, không có gì xác định trạng thái của nó khi bạn không nhấn nút, và bản thân các chân của PIC đều có điện dung ký sinh, do đó bạn có thể gặp hiện tượng trên.

Bạn thử nối một điện trở 4.7 k từ chân RB0 xuống GND và mô phỏng lại xem.

Thân,

newboystylew
01-07-2009, 09:34 PM
ban can phai sua lai nhu sau:
Processor 16F877A
#include <P16F877A.INC>
ORG 0X0000
BCF STATUS,6
BCF STATUS,5
CLRF PORTB
BSF STATUS,5
BCF TRISB,1
BSF TRISB,0
BCF STATUS,5
MAIN
BTFSS PORTB,0
GOTO LOOP1
GOTO LOOP2

LOOP1
BSF PORTB,1
GOTO MAIN
LOOP2
BCF PORTB,1
GOTO MAIN
END