 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
omron Član

Pridružen-a: Pet 08 Maj 2009 14:46 Prispevkov: 100 Aktiv.: 0.51 Kraj: Smartrace
|
Objavljeno: Pon Apr 23, 2012 3:06 pm Naslov sporočila: PWM v Bascom-u |
|
|
Mi lahko prosim kdo pomaga ? Odločil sem se napisati program v Bascom-u, ki bi generiral pwm signal, s tipkama pa bi lahko korigiral duty cycle.
Program sem pretočil na mikrokrmilnik ATmega324A, vendar kot vidim sam, mi ne deluje tako kot sem si zamislil. Namreč dioda, katera je vezana na pwm signal mi sveti s tako jakostjo, kot je definirana v samem začetku programa s spremenljivko "X", tipke pa se mi ne odzivajo oz. z njimi ne morem spreminjati duty cycle-a.
Tukaj prilagam še program:
...................................................................
$regfile = "m324pdef.dat"
$crystal = 18432000
$baud = 115200
Dim X As Integer
Config PORTD.3 = Input
Config PORTD.2 = Input
Config PORTB.4 = Output
TCCR0B = &B00000001
TCCR0A = &B00100011
X = 10
Do
If PORTD.3 = 0 Then
Waitms 20
Incr X
Endif
If PORTD.2 = 0 Then
Waitms 20
Decr X
Endif
OCR0B = X
Loop |
|
Nazaj na vrh |
|
 |
RGorazd Član


Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1714 Aktiv.: 7.23 Kraj: Ig
|
Objavljeno: Pon Apr 23, 2012 5:44 pm Naslov sporočila: |
|
|
Poskusi takole:
Koda: |
$regfile = "m324pdef.dat"
$crystal = 18432000
$baud = 115200
Dim X As Integer
Config Pind.3 = Input
Config Pind.2 = Input
Config PORTB.4 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare_a_pwm = Clear_up , Prescale = 1
Btn_dn Alias Pind.3
Btn_up Alias Pind.2
X = 10
Do
Debounce Btn_up , 0 , Pristej_pwm , Sub
Debounce Btn_dn , 0 , Odstej_pwm , Sub
Loop
Pristej_pwm:
Incr X
If X > 255 Then
X = 255
End If
Pwm1a = X
Return
Odstej_pwm:
Decr X
If X < 1 Then
X = 0
End If
Pwm1a = X
Return
|
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
 |
int47 Član


Pridružen-a: Pon 15 Dec 2003 0:10 Prispevkov: 2104 Aktiv.: 8.88 Kraj: Ljubljana
|
Objavljeno: Pon Apr 23, 2012 6:32 pm Naslov sporočila: |
|
|
Tako na hitro:
Port D ima tri registre. DDRD, PORTD in PIND. |
|
Nazaj na vrh |
|
 |
omron Član

Pridružen-a: Pet 08 Maj 2009 14:46 Prispevkov: 100 Aktiv.: 0.51 Kraj: Smartrace
|
Objavljeno: Pon Apr 23, 2012 6:44 pm Naslov sporočila: |
|
|
RGorazd je napisal/a: |
Poskusi takole:
Koda: |
$regfile = "m324pdef.dat"
$crystal = 18432000
$baud = 115200
Dim X As Integer
Config Pind.3 = Input
Config Pind.2 = Input
Config PORTB.4 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare_a_pwm = Clear_up , Prescale = 1
Btn_dn Alias Pind.3
Btn_up Alias Pind.2
X = 10
Do
Debounce Btn_up , 0 , Pristej_pwm , Sub
Debounce Btn_dn , 0 , Odstej_pwm , Sub
Loop
Pristej_pwm:
Incr X
If X > 255 Then
X = 255
End If
Pwm1a = X
Return
Odstej_pwm:
Decr X
If X < 1 Then
X = 0
End If
Pwm1a = X
Return
|
LP G |
Ko sem vnesel tale program, mi je Bascom javil
"Unknown CONFIG parameter [COMPARE_A_PWM]"  |
|
Nazaj na vrh |
|
 |
mucek Član


 
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5530 Aktiv.: 24.06 Kraj: Domzale
|
Objavljeno: Pon Apr 23, 2012 6:55 pm Naslov sporočila: |
|
|
Pusti program, kot si ga imel v prvem mailu in samo spremeni port v pin za tipke v if stavkih.
Lp,g _________________ ...lahko pa se tudi motim ... |
|
Nazaj na vrh |
|
 |
RGorazd Član


Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1714 Aktiv.: 7.23 Kraj: Ig
|
Objavljeno: Pon Apr 23, 2012 9:36 pm Naslov sporočila: |
|
|
Citiram: |
Ko sem vnesel tale program, mi je Bascom javil
"Unknown CONFIG parameter [COMPARE_A_PWM]"  |
Zsnimivo, meni ga prevede brez problema. Tudi v simulatorju deluje BP
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
 |
omron Član

Pridružen-a: Pet 08 Maj 2009 14:46 Prispevkov: 100 Aktiv.: 0.51 Kraj: Smartrace
|
Objavljeno: Tor Apr 24, 2012 12:28 pm Naslov sporočila: |
|
|
mucek je napisal/a: |
Pusti program, kot si ga imel v prvem mailu in samo spremeni port v pin za tipke v if stavkih.
Lp,g |
Najlepša hvala za pomoč. Zadeva sedaj deluje  |
|
Nazaj na vrh |
|
 |
mucek Član


 
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5530 Aktiv.: 24.06 Kraj: Domzale
|
Objavljeno: Tor Apr 24, 2012 3:54 pm Naslov sporočila: |
|
|
Simpl je tanartabulš! Ne vprašat, kolikokrat sem si zaradi iste neumnosti belil glavo ...
Lp,g _________________ ...lahko pa se tudi motim ... |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 495 dni
Powered by phpBB © 2001, 2005 phpBB Group
|