Ok, habe mal ein wenig experimentier!
Habe folgenden (gekürzten) Code:
Code:
' PortD 1 PWM für Beleuchtung
' PortD 2 PWM für Kontrast
' Chip-Settings
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 128
$swstack = 128
$framesize = 128
$baud = 19200
Config Timer0 = Timer , Prescale = 256
Dim Timercounter As Byte
Config Portd.0 = Output
Config Portd.1 = Output
' Zählvariable für die PWM
On Timer0 Pwm_isr
Enable Timer0 ' timer0 interrupt ein
Enable Interrupts ' Global Interrupt ein
.....
.....
Pwm_isr:
If Timercounter < Dimmer Then
Set Portd.0
Else
Reset Portd.0
End If
If Timercounter < Kontrast Then
Set Portd.1
Else
Reset Portd.1
End If
Timercounter = Timercounter + 1
If Timercounter = 255 Then Timercounter = 0
Return
Grundlage ist ja die RN-Control mit dem 16mHz Quarz
Nur habe ich irgendwie das gefühl das das nicht klappen wird.
Ich habe Testweise 2 LEDs angeschlossen.
Und entweder flackern die oder wenn ich den prescale runter setze scheint der rest meines Programms nicht mehr richtig zu laufen.
Deshalb frage ich nochmal generell nach.
An und für sich ist das so eine richtiger Software-PWM oder?
Lesezeichen