Ðăng Nhập

View Full Version : Code đếm xe


Heroboss
01-05-2011, 10:44 AM
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
DEM EQU 20H
ORG 0000H
BCF STATUS,6
BSF STATUS,5
BCF TRISB,0
BCF TRISB,1
BSF TRISA,0
BCF STATUS,5
CLRF PORTB
MAIN
BTFSC PORTA,0
GOTO MAIN
ON
BTFSS PORTA,0
GOTO ON
BCF PORTB,0
BSF PORTB,1
CALL DELAY
BSF PORTB,0
BCF PORTB,1
CALL DELAY
GOTO MAIN
DELAY
BSF STATUS,5
BCF OPTION_REG,3
BSF OPTION_REG,2
BSF OPTION_REG,1
BSF OPTION_REG,0
BCF STATUS,5
MOVLW D'46'
MOVWF DEM
BATDAU
MOVLW D'1'
MOVWF TMR0
BSF STATUS,5
BCF OPTION_REG,5
BCF STATUS,5
LOOP
BTFSS INTCON,2
GOTO LOOP
BCF INTCON,2
DECFSZ DEM,1
GOTO BATDAU
RETURN
END
Các anh chị xem dùm em đoạn code này đúng chưa. Sao em nhấn nhả CB động cơ nó không quay thuận và quay nghịch. Thanks các anh chị trước nha

tomato2711
01-05-2011, 04:00 PM
PROCESSOR 16F877A
#INCLUDE <P16F877A.INC>
DEM EQU 20H
ORG 0000H
BCF STATUS,6
BSF STATUS,5
BCF TRISB,0
BCF TRISB,1
BSF TRISA,0
BCF STATUS,5
CLRF PORTB
MAIN
BTFSC PORTA,0
GOTO MAIN
ON
BTFSS PORTA,0
GOTO ON
BCF PORTB,0
BSF PORTB,1
CALL DELAY
BSF PORTB,0
BCF PORTB,1
CALL DELAY
GOTO MAIN
DELAY
BSF STATUS,5
BCF OPTION_REG,3
BSF OPTION_REG,2
BSF OPTION_REG,1
BSF OPTION_REG,0
BCF STATUS,5
MOVLW D'46'
MOVWF DEM
BATDAU
MOVLW D'1'
MOVWF TMR0
BSF STATUS,5
BCF OPTION_REG,5
BCF STATUS,5
LOOP
BTFSS INTCON,2
GOTO LOOP
BCF INTCON,2
DECFSZ DEM,1
GOTO BATDAU
RETURN
END
Các anh chị xem dùm em đoạn code này đúng chưa. Sao em nhấn nhả CB động cơ nó không quay thuận và quay nghịch. Thanks các anh chị trước nha

hình như thiếu
thử lại như thế này xem đc ko

MAIN
BTFSC PORTA,0
GOTO MAIN
NOP ; thêm dòng này
ON
BTFSS PORTA,0
GOTO ON
BCF PORTB,0
BSF PORTB,1
CALL DELAY
BSF PORTB,0
BCF PORTB,1
CALL DELAY
GOTO MAIN