P
piersuk
Guest
Pahoillani siitä, että tällainen newbie ja joilla ei ole aavistustakaan, mitä olen tekemässä, mutta olen yrittänyt tehdä työtä asiat läpi.
Mitä olen yrittänyt tehdä on ajaa DC moottorin eri jännitteiden kanssa 2 sekunnin viive inbetween jokaisessa vaiheessa.Olen kokeillut, jonka alapuolella toivoin olisi kaksi askelta 3.8v ja 6V mutta valitettavasti ei.
Kaikki apu, jonka koodi olisi appreciated.Lisäksi haluaisin tietää, mitä ja missä lisätä jokaisen jännite askel pala koodia.
Tämä on minun koodi
Code:
LUETTELO P = PIC16F819, r = hex, f = INHX8MINCLUDE "p16f819.inc"__CONFIG 3909H;********* Ohjelman asianmukainen alkaa täällä ************************************ *Org 00H; palauttaa vektorin
Goto STARTOrg 010HSTART
; Nämä 3 linjat asettaa aikana ja sykkivä (39 kHz)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Tehdä kaikissa satamissa tuotokset (vain B1 on käytössä)
CLRF TRISB
BCF STATUS, RP0; Configure kuin PWM-tilassa
MOVLW B'00001100 "
MOVWF CCP1CON; Arvo CCPRIL asetetaan velvollisuus ajan ja siksi jännite
; MOVLW 010H; antaa 2,52 V
MOVLW 018H; antaa 3,8 V
; MOVLW 022H; 6V
MOVWF CCPR1L; Käännä PWM annetun
BSF T2CON, TMR2ON; ja käynnistä ajastin käynnissä; Delay = 2 sekuntia
; Kello taajuus = 4 MHz; Todelliset delay = 2 sekuntia = 2000000 syklit
; Virhe = 0%cblock
d1
d2
d3
endcViive
; 1999996 syklit
movlw 0x11
movwf d1
movlw 0x5D
movwf d2
movlw 0x05
movwf d3
Delay_0
decfsz d1, f
goto 2dollari
decfsz d2, f
goto 2dollari
decfsz d3, f
goto Delay_0; 4 jaksoa (myös call); Nämä 3 linjat asettaa aikana ja sykkivä (39 kHz)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Tehdä kaikissa satamissa tuotokset (vain B1 on käytössä)
CLRF TRISB
BCF STATUS, RP0; Configure kuin PWM-tilassa
MOVLW B'00001100 "
MOVWF CCP1CON; Arvo CCPRIL asetetaan velvollisuus ajan ja siksi jännite
; MOVLW 010H; antaa 2,52 V
; MOVLW 018H; antaa 3,8 V
MOVLW 022H; antaa 6.0v
MOVWF CCPR1L; Käännä PWM annetun
BSF T2CON, TMR2ON; ja käynnistä ajastin käynnissäFIN NOP
Goto FINEND
Mitä olen yrittänyt tehdä on ajaa DC moottorin eri jännitteiden kanssa 2 sekunnin viive inbetween jokaisessa vaiheessa.Olen kokeillut, jonka alapuolella toivoin olisi kaksi askelta 3.8v ja 6V mutta valitettavasti ei.
Kaikki apu, jonka koodi olisi appreciated.Lisäksi haluaisin tietää, mitä ja missä lisätä jokaisen jännite askel pala koodia.
Tämä on minun koodi
Code:
LUETTELO P = PIC16F819, r = hex, f = INHX8MINCLUDE "p16f819.inc"__CONFIG 3909H;********* Ohjelman asianmukainen alkaa täällä ************************************ *Org 00H; palauttaa vektorin
Goto STARTOrg 010HSTART
; Nämä 3 linjat asettaa aikana ja sykkivä (39 kHz)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Tehdä kaikissa satamissa tuotokset (vain B1 on käytössä)
CLRF TRISB
BCF STATUS, RP0; Configure kuin PWM-tilassa
MOVLW B'00001100 "
MOVWF CCP1CON; Arvo CCPRIL asetetaan velvollisuus ajan ja siksi jännite
; MOVLW 010H; antaa 2,52 V
MOVLW 018H; antaa 3,8 V
; MOVLW 022H; 6V
MOVWF CCPR1L; Käännä PWM annetun
BSF T2CON, TMR2ON; ja käynnistä ajastin käynnissä; Delay = 2 sekuntia
; Kello taajuus = 4 MHz; Todelliset delay = 2 sekuntia = 2000000 syklit
; Virhe = 0%cblock
d1
d2
d3
endcViive
; 1999996 syklit
movlw 0x11
movwf d1
movlw 0x5D
movwf d2
movlw 0x05
movwf d3
Delay_0
decfsz d1, f
goto 2dollari
decfsz d2, f
goto 2dollari
decfsz d3, f
goto Delay_0; 4 jaksoa (myös call); Nämä 3 linjat asettaa aikana ja sykkivä (39 kHz)
MOVLW 01FH
BSF STATUS, RP0
MOVWF PR2; Tehdä kaikissa satamissa tuotokset (vain B1 on käytössä)
CLRF TRISB
BCF STATUS, RP0; Configure kuin PWM-tilassa
MOVLW B'00001100 "
MOVWF CCP1CON; Arvo CCPRIL asetetaan velvollisuus ajan ja siksi jännite
; MOVLW 010H; antaa 2,52 V
; MOVLW 018H; antaa 3,8 V
MOVLW 022H; antaa 6.0v
MOVWF CCPR1L; Käännä PWM annetun
BSF T2CON, TMR2ON; ja käynnistä ajastin käynnissäFIN NOP
Goto FINEND