B
bingoz2002
Guest
Es esmu rakstiski programmu MOVE SERVO ABIEM CLCKWISE UN pretēji pulksteņa rādītāja virzienam.Tomēr, es nespēja PROGRAM IT Lai pārvietotos pretēji pulksteņa rādītāja virzienam.Can anyone PLS palīdzēt!
SPECIFIKĀCIJA SERVO:
DARBĪBAS leņķi = 40 grādi / vienas puses PULSE Ceļojumi 400usec
DARBĪBAS KĀRTĒJIE = 150MA
Testa spriegumam = 4.8V - 6V
Zemāk ir programma (es esmu, izmantojot IEKŠĒJAIS taimeris):
# INCLUDE <P16F877.INC>
INIT ORG H'00 "
PON
BSF STATUSS, RP0
BCF STATUS, RP1
MOVLW B'00000000 "
MOVWF TRISB
TIMERINIT CLRF PIE1 BSF PIE1, TMR1IE BCF STATUS, RP0
CLRF T1CON
CLRF TMR1H
MOVLW H'DC "
MOVWF TMR1H
CLRF TMR1L
MOVLW H'D8 "
MOVWF TMR1L
CLRF INTCON
CLRF PIR1
BCF T1CON, T1CKPS1
BCF T1CON, T1CKPS0
BSF INTCON, GIEONTIMER BSF T1CON, TMR1ONWAITOVERFLOW BTFSS PIR1, TMR1IF
Iet WAITOVERFLOWPārtraukt BSF PORTB, 0
CALL KAVĒJUMS
BCF PORTB, 0
BCF PIR1, TMR1IF
Iet WAITOVERFLOWKAVĒJUMS MOVLW D'2 "
MOVWF H'20 "
LOOP1 CALL DLY1MS
DECFSZ H'20 "
Iet LOOP1
RETURNDLY1MS MOVLW D'124 "
MOVWF H'21 "
LOOP PON
DECFSZ H'21 "
Goto LOOP
PON
RETURNEND
SPECIFIKĀCIJA SERVO:
DARBĪBAS leņķi = 40 grādi / vienas puses PULSE Ceļojumi 400usec
DARBĪBAS KĀRTĒJIE = 150MA
Testa spriegumam = 4.8V - 6V
Zemāk ir programma (es esmu, izmantojot IEKŠĒJAIS taimeris):
# INCLUDE <P16F877.INC>
INIT ORG H'00 "
PON
BSF STATUSS, RP0
BCF STATUS, RP1
MOVLW B'00000000 "
MOVWF TRISB
TIMERINIT CLRF PIE1 BSF PIE1, TMR1IE BCF STATUS, RP0
CLRF T1CON
CLRF TMR1H
MOVLW H'DC "
MOVWF TMR1H
CLRF TMR1L
MOVLW H'D8 "
MOVWF TMR1L
CLRF INTCON
CLRF PIR1
BCF T1CON, T1CKPS1
BCF T1CON, T1CKPS0
BSF INTCON, GIEONTIMER BSF T1CON, TMR1ONWAITOVERFLOW BTFSS PIR1, TMR1IF
Iet WAITOVERFLOWPārtraukt BSF PORTB, 0
CALL KAVĒJUMS
BCF PORTB, 0
BCF PIR1, TMR1IF
Iet WAITOVERFLOWKAVĒJUMS MOVLW D'2 "
MOVWF H'20 "
LOOP1 CALL DLY1MS
DECFSZ H'20 "
Iet LOOP1
RETURNDLY1MS MOVLW D'124 "
MOVWF H'21 "
LOOP PON
DECFSZ H'21 "
Goto LOOP
PON
RETURNEND